2009-06-08 210 views
0

我测试JAX-WS访问Oracle IRM网络serviecs。我可以得到它的工作只是罚款与AXIS所以这不是一个Oracle的问题。复杂的对象被创建空

发生了什么事是我得到执行调用时出现以下错误:

Expected xsd:anyType - unknown type provided 

如果我看的SOAP数据包发送我看到物主标签JAX-WS下是空白:

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

轴下方的同一块是这样的:

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

显然物主标签是没有得到正确创建,这是我用来创建的:

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

是否有一些其他过程,我需要通过正确创建对象?

编辑

我想,也许贯穿了ObjectFactory的LICENSESERVER建立将帮助。不幸的是,事实并非如此。

回答

0

尽管甲骨文IRM文档指出BrowseAccounts可以接受一个LICENSESERVER对象或它实际上接受一个LicenseServer_ref所有者参数上下文对象。

EDIT 此外,我在JDK 1.6.0下运行JAX-WS,该JDK 1.6.0的版本低于JDK 1.6.0_14的版本。新版本支持XMLSeeAlso注释这使JAX-WS使用正确的类进行序列化。