ApacheGeronimo2.1.3にWebサービスアプリがあります。
私はJAX-WSを使用しており、SOAP1.1を使用してPOJOSに注釈を付けています。(Sun JDK 1.5を使用)
さまざまなクライアントが問題なくWebサービスを使用しています。
1つの新しいクライアントが機能していません。動作中のクライアントでは、soapenv:Bodyの下の子要素のみに名前空間宣言があり、子の子要素には名前空間宣言がありません。新しいクライアントでは、子の子を含む、soapenv:Bodyのすべての子孫に名前空間宣言があります。
本質的に、これは機能します:
<soapenv:Body>
<ns1:Echo>
<Message>Hello world</Message>
...
しかし、これはしません:
<ns1:Echo>
<ns1:Message>Hello world</ns1:Message>
...
アプリにログインすると、「Helloworld」ではなくメッセージがnullであることが示されます
この「悪い」リクエストは大丈夫ですか?WS-I基本プロファイルを確認しているように見えますか?
クライアントプログラムは変更できません。このリクエストの両方のバージョンを機能させるために、何かをオーバーライドする方法はありますか?