2009-06-08 4 views
0

Ich teste JAX-WS, um auf die Oracle IRM-Webservices zuzugreifen. Ich kann es gut mit AXIS arbeiten, also ist dies kein Oracle-Problem.Komplexes Objekt in JAX-WS wird leer erstellt

Was passiert ist, dass ich die folgende Fehlermeldung erhalten, wenn Sie den Anruf:

Expected xsd:anyType - unknown type provided 

Wenn ich auf dem SOAP-Paket aussehen wird gesendet, ich sehe, dass der Eigentümer Tag unter JAX-WS leer ist:

<ns1:browseAccounts> 
    <owner/> 
    <accountType>All</accountType> 
</ns1:browseAccounts> 

unter AXIS das gleiche Stück ist dies:

<owner xsi:type="ns1:LicenseServer" 
     xmlns="" 
     xmlns:ns1="http://www.sealedmedia.com/ls/server/schema"> 
    <serverKey>#############</serverKey> 
</owner> 

Offensichtlich ist der Eigentümer-Tag nicht bekommt ordnungsgemäß erstellt, ist es das, was ich verwende, dass zu erstellen:

AccountServicesPort AA = ORI.getAccountServices(); 
LicenseServer LicSer = new LicenseServer(); 
LicSer.setServerKey("#######################"); 
List<Account> Acts = AA.browseAccounts(LicSer,AccountAccountType.ALL); 

Gibt es ein anderes Verfahren, das ich brauche, um durch zu gehen, das Objekt richtig zu schaffen?

EDIT

Ich dachte, vielleicht die License Schöpfung durch Object Laufen helfen würde. Leider nicht.

Antwort

0

Obwohl die Oracle IRM-Dokumentation angibt, dass BrowseAccounts entweder ein LicenseServer-Objekt oder ein Context-Objekt für den Besitzer-Parameter akzeptiert, akzeptiert es tatsächlich einen LicenseServer_ref.

EDIT Ferner lief ich JAX-WS unter JDK 1.6.0 die 1.6.0_14 eine niedrigere Version als JDK ist. Die neue Version unterstützt XMLSeeAlso Annotation, die es JAX-WS erlaubte, die richtige Klasse für die Serialisierung zu verwenden.

Verwandte Themen