私の Web サービス モジュールは、異なるクライアントを持つ複数の顧客によってアクセスされるため、次のような異なる URI でアクセスできる必要があります。
[serverAddress]/MyHTTPRouter/PingService
と
[serverAddress]/MyHTTPRouter/cet/PingService
([serverAddress] を myorg.com または localhost に置き換えてください...申し訳ありませんが、StackOverflow では現在 2 つのリンクに制限されています ( http://localhostもカウントされます))
そこで、web.xml で 2 つのサーブレット マッピングを定義したいと考えました。StackOverflow で、次のヒントを見つけました。
私は次の試みをしました:
#1を試してください:
<servlet>
<servlet-name>myorg.PingServiceImpl</servlet-name>
<servlet-class>com.ibm.ws.websvcs.transport.http.WASAxis2Servlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>myorg.PingServiceImpl</servlet-name>
<url-pattern>/cet/PingService</url-pattern>
<url-pattern>/PingService</url-pattern>
</servlet-mapping>
SoapUI でのテスト結果:
- [サーバーアドレス]/MyHTTPRouter/PingService : わかりました
- [serverAddress]/MyHTTPRouter/cet/PingService :エラー 404: java.io.FileNotFoundException: WSWS7147E: システムは /cet/PingService のエンドポイントを見つけられませんでした。
#2を試してください:
<servlet>
<servlet-name>myorg.PingServiceImpl</servlet-name>
<servlet-class>com.ibm.ws.websvcs.transport.http.WASAxis2Servlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>myorg.PingServiceImpl</servlet-name>
<url-pattern>/PingService</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>myorg.PingServiceImpl</servlet-name>
<url-pattern>/cet/PingService</url-pattern>
</servlet-mapping>
SoapUI でのテスト結果:
- [serverAddress]/MyHTTPRouter/PingService : エラー 500: javax.servlet.ServletException: com.ibm.ws.websvcs.exception.ConfigurationException: モジュールの Axis サーブレットで構成コンテキストを取得できませんでした: MyHTTPRouter
- [serverAddress]/MyHTTPRouter/cet/PingService :同上 (エラー 500)
ここでは、IBM Websphere Application Server 8.5 で実行される EJB 3.1 アプリケーションについて話しています。#1と#2の両方が機能しない理由と、 /cet/PingService と /PingService の両方でWebサービスにアクセスするために必要な変更はありますか?