応答で複数参照オブジェクトを返す 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-Object でのみ満たされますが、これらのオブジェクトは空です (たとえば、タイトルは null です)。 )。
PHP の SoapClients は応答を正しくアンマーシャリングしていますが、Java でもそれを使用する必要があります。