jax-ws Web サービスで問題に直面しており、次の例外が発生することがあります。
com.sun.xml.ws.streaming.XMLStreamReaderException: unexpected XML tag. expected: {http://www.company.com/system}getFooResponse but found: {http://www.company.com/system}getFoo
at com.sun.xml.ws.streaming.XMLStreamReaderUtil.verifyTag(XMLStreamReaderUtil.java:214)
at com.sun.xml.ws.streaming.XMLStreamReaderUtil.verifyTag(XMLStreamReaderUtil.java:222)
at com.sun.xml.ws.client.sei.ResponseBuilder$DocLit.readResponse(ResponseBuilder.java:531)
at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:127)
at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:95)
at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:136)
at $Proxy226980.getFoo(Unknown Source)
at sun.reflect.GeneratedMethodAccessor315.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at weblogic.wsee.jaxws.spi.ClientInstanceInvocationHandler.invoke(ClientInstanceInvocationHandler.java:84)
at $Proxy185.getFoo(Unknown Source)
例外は、実稼働システムで散発的に (そしてそれほど頻繁ではありません) 発生し (常に、通常は多くの呼び出しが行われるバッチ ジョブで発生します)、ローカルで再現することはできません.. 例外が発生すると、バッチジョブは自然に失敗します。成功させるには、バッチ ジョブを再起動する必要があります。Web サービスは私のプロジェクトの直接の責任ではありませんが、必要に応じて変更を加える可能性があります。
誰もこれを見たことがありますか?レスポンスが返ってきたように見えますが、「Response」の部分が途切れています。これが Web サービスの実装の問題なのか、クライアント プロキシの問題なのかわかりません。
どのバージョンが使用されているかは 100% わかりませんが、次のことはわかっています。
- Web サービスは JAX-WS で生成され、Oracle の WebLogic サーバーで実行されます。
- クライアント プロキシは、Oracle の JAX-WS 2.1.5 によって生成されます。
- クライアント プロキシが Oracle WebLogic コンテナで実行されている
何か案は?
注:現在、生のリクエスト/レスポンスをログに記録していません。誰かがこれを以前に見たことがあり、正しい方向に私を向けることができる場合に備えて、ここに質問を投稿しています。私が言ったように、サーバーが間違った応答を生成しているのか、クライアントがそれを間違って解釈しているのか、またはその間の何かが xml を混乱させているのかはわかりません。