1

Webサービス-サービスはWASv7上にあります。クライアントはJBossv5上にあります。最近、JBossWS3.3.1にアップグレードしました。それ以降、クライアントはWAS上のサービスと通信できなくなります。

コードを変更しないと、以下の例外が発生します

2012-01-19 14:42:15,317 ERROR [org.jboss.ws.core.jaxws.SOAPFaultHelperJAXWS]->error@419 (ajp-cwsappdev01%2F205.132.14.29-8109-1) 
SOAP request exception java.io.IOException: 
Error initializing socket factory SSL context: Can not find truststore url.

次のコード行をクライアントに追加しました。

((BindingProvider) impl).getRequestContext().put(StubExt.PROPERTY_KEY_STORE, "/usr/local/jee/.../cacerts"));
((BindingProvider) impl).getRequestContext().put(StubExt.PROPERTY_KEY_STORE_PASSWORD, "*****"));
((BindingProvider) impl).getRequestContext().put(StubExt.PROPERTY_CHUNKED_ENCODING_SIZE, "0");

コードを変更した後、次のエラーが発生します。

Caused by: org.jboss.ws.WSException: Invalid HTTP server response [404] - Not Found

何か案は?WASが適切にサポートしていないため、チャンクエンコーディングプロパティを追加しました。JBossとWebSphereAppServerの間に他の非互換性はありますか?

よろしくお願いします!

==================コードを変更しましたが、次のメッセージが表示されます。JBossWS-Native3.3.1およびJAX-WS2.1バージョンを使用しています。JBossでチャンクエンコーディングを無効にする方法を知っている人はいますか?ファイルstandard-jaxws-client-config.xmlをJBossのコアJARSの1つに移動しました。これを更新するには、「unjar」(ファイルの編集)とjarを再度実行する必要があります。

2012-01-24 10:35:57,930 WARN  [org.jboss.ws.core.client.transport.NettyClient]->warn@352 (ajp-cwsappdev01%2F205.132.14.29-8109-4) Can't set chunk size from call properties, illegal value provided!
2012-01-24 10:35:58,001 ERROR [org.jboss.ws.core.CommonClient]->error@419 (ajp-cwsappdev01%2F205.132.14.29-8109-4) Exception caught while (preparing for) performing the invocation: 
java.io.IOException: Could not transmit message
at org.jboss.ws.core.client.transport.NettyClient.invokeInternal(NettyClient.java:229)
at org.jboss.ws.core.client.transport.NettyClient.invoke(NettyClient.java:121)
at org.jboss.ws.core.client.HTTPRemotingConnection.invoke(HTTPRemotingConnection.java:150)
at org.jboss.ws.core.client.SOAPProtocolConnectionHTTP.invoke(SOAPProtocolConnectionHTTP.java:69)
at org.jboss.ws.core.CommonClient.invoke(CommonClient.java:369)
at org.jboss.ws.core.jaxws.client.ClientImpl.invoke(ClientImpl.java:302)
at org.jboss.ws.core.jaxws.client.ClientProxy.invoke(ClientProxy.java:181)
at org.jboss.ws.core.jaxws.client.ClientProxy.invoke(ClientProxy.java:161)
at $Proxy796.getCWSAccount(Unknown Source)
4

1 に答える 1

0

原因: クライアントは、エンドポイント URL で 8004 として指定されたポートを持っていました。リクエストがサービスにヒットしたとき、それはポート 443 に着信していました。サービスをポート 443 に移動/「アタッチ」すると、Web サーバーはそれを適切なアプリケーションにマップできました。エンドポイントが 8004 から 443 に変更された理由/場所を特定する必要があります。

于 2012-01-30T21:59:15.527 に答える