我尝试使用在其响应多引用对象中返回的 php Web 服务。我使用 wsimport 创建了 java 客户端,并且可以毫无问题地调用 soap 方法。但是在响应中,应该相应填充的对象是空的:
肥皂信封中输出的基本部分:
<result>
<book id="extref1">
<title>Refactoring</title>
</book>
<book id="extref2">
<title>Clean Code</title>
</book>
<library name="lib1">
<book href="#extref1"/>
<book href="#extref2"/>
<library>
<library name="lib2">
<book href="#extref2"/>
<library>
</result>
在 Java 中调试 result.getBook()-List 填充了正确的对象,但 library[0].getBook()-List 仅填充了适量的 book-Objects 但这些对象是空的(例如 title 为 null )。
php 中的 SoapClients 正在正确解组响应,但我也需要在 Java 中使用它。