0

我正在测试 JAX-WS 以访问 Oracle IRM Web 服务。我可以让它与 AXIS 一起正常工作,所以这不是 Oracle 问题。

发生的事情是我在拨打电话时收到以下错误:

Expected xsd:anyType - unknown type provided

如果我查看发送的 SOAP 数据包,我会看到 JAX-WS 下的所有者标记为空白:

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

AXIS 下的同一个部分是这样的:

<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 创建会有所帮助。不幸的是,事实并非如此。

4

1 回答 1

0

尽管 Oracle IRM 文档声明 BrowseAccounts 接受 LicenseServer 对象或 Context 对象作为 owner 参数,但它实际上接受 LicenseServer_ref。

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

于 2009-06-08T19:32:34.637 回答