1

私は現在、Websphere 7.0.0.27 とorg.springframework.remoting.jaxws.JaxWsPortProxyFactoryBeanクラスを使用した特定の Web サービス呼び出し (3.2.3.RELEASE または 3.1.1.RELEASE の spring-web から) で遭遇している非常に困惑した問題を抱えています。サーバーをゼロから起動すると、サービス コールは問題なく機能します。サービスを呼び出してデータを取得すると、アプリは問題なく機能します。ただし、アプリケーションを再発行すると、その後の呼び出しで次の結果が得られます。

javax.xml.ws.WebServiceException: ServiceDescription.updateEndpointDescription: 前の getPort() とは異なる SEI を指定する getPort() を実行できません。PortQN: {0}; 現在の SEI: {1}; 以前の SEI: org.apache.axis2.jaxws.ExceptionFactory.createWebServiceException(ExceptionFactory.java:173) の {2} org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:70) の org.apache.axis2 .jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:118) org.apache.axis2.jaxws.description.impl.ServiceDescriptionImpl.updateEndpointDescription(ServiceDescriptionImpl.java:557) org.apache.axis2.jaxws.description.impl.DescriptionFactoryImpl .updateEndpoint(DescriptionFactoryImpl.java:372) at org.apache.axis2.jaxws.description.DescriptionFactory.updateEndpoint(DescriptionFactory.java:

アプリの公開後にのみサービス呼び出しに発生します。サービスを問題なく何度も呼び出して公開すると、この問題が発生し始めます。Websphere を再起動すると、再度公開するまで問題はなくなります。また、これはサーバー設定の「ワークスペース内のリソースでサーバーを実行する」を実行した場合にのみ発生するように見えることも重要です。「サーバー上のリソースを使用してサーバーを実行する」オプションではこれは発生しませんが、JSP の変更をそれはより大きな時間の無駄です。また、Eclipse (4.2) を使用していますが、これは RAD (7.5) でも発生します。

他の誰かが以前にこの問題に遭遇したことがありますか? また、解決できましたか? 見つけ次第、詳細を提供しようと思います。

4

1 に答える 1

0

修正も不明瞭であることが適切ですがportName、Bean でプロパティが定義されており、そのプロパティを削除すると問題が修正されました。Spring はどうやらそのプロパティを使用してjavax.xml.namespace.QName(via を介してjavax.xml.namespace.QName.QName(String namespaceURI, String localPart)) を構築し、portNameプロパティ セットがない場合はserviceInterface代わりにプロパティを使用することを選択します。

portNameとプロパティは、実際にはserviceInterface異なる値でした。はWSDL で定義されportNameている に設定されて<port name=""/>いましたが、これは正しくない可能性があります。パラメーターにインターフェイス クラス名を使用するQName localPartことで最終的には修正されましたが、より適切なportNameパラメーターを使用すると問題が解決する可能性もあります。

于 2013-10-08T23:28:38.783 に答える