私はWebサービスを初めて使用します。私はいくつかの問題に直面しました。サーバー側では、spring-wsを使用しています。クライアント側では、jax-wsを使用しています。wsimportツールを使用して、wsdlに従ってJavaクラスを生成しました。
すべて正常に動作しますが、何らかの理由でjax-wsが配列を解析して正しくリストしないため、すべてのリストが空になります
私は絶対に、応答が正しく形式化されていることを確信しています。soapuiでテストしました。また、ロギングインターセプターを使用してアウトカミング応答をログに記録しています。
以下は応答の抜粋です
応答は次のようになります
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<firstElementResponse>
<name>hello world text</name>
<name>hello world text</name>
<name>hello world text</name>
</firstElementResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
およびwsdlのスニペット
<xs:complexType name="sayHelloResponseType">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="name" type="xs:string"/>
</xs:sequence>
</xs:complexType>
クライアントコードを生成するには、wsimportを使用します。
SayHelloResponseType resp = serv.sayHello(r);
List<String> name = resp.getName();
System.out.println(name.size());
ありがとうございました。どんな助けでも大歓迎です。