[解決済み] spring-ws: エンドポイントマッピングが見つかりませんでした
2022-02-14 09:42:10
質問
簡単なウェブサービスを作ったのですが、soapuiでテストしようとすると、このようなエラーが発生します。
WARN : [Oct-11 12:56:38,081] ws.server.EndpointNotFound - No endpoint mapping found for [SaajSoapMessage {http://www.servesy.com/api/v1/service}signupRequest]
この問題に関して多くの質問を見ましたが、解決策は見つかりませんでした。
私のspring-wsの設定は以下の通りです。 (この構成とは別に、簡単な入力出力の例も作ってみました。 も同じ警告が表示されます)
web.xml
<web-app
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/config/servesy-config.xml
</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>servesyservices</servlet-name>
<servlet-class>org.springframework.ws.transport.http.MessageDispatcherServlet</servlet-class>
<init-param>
<param-name>transformWsdlLocations</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value></param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>servesyservices</servlet-name>
<url-pattern>*.wsdl</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>servesyservices</servlet-name>
<url-pattern>/endpoints/*</url-pattern>
</servlet-mapping>
</web-app>
servesy-config.xml
<beans
<context:component-scan base-package="com.servesy.webservices" />
<sws:annotation-driven />
<bean id="ServesyService" class="org.springframework.ws.wsdl.wsdl11.DefaultWsdl11Definition" lazy-init="true">
<property name="schemaCollection">
<bean class="org.springframework.xml.xsd.commons.CommonsXsdSchemaCollection">
<property name="inline" value="true" />
<property name="xsds">
<list>
<value>schemas/ServesyServices.xsd</value>
</list>
</property>
</bean>
</property>
<property name="portTypeName" value="ServesyService"/>
<property name="serviceName" value="ServesyServices" />
<property name="locationUri" value="/endpoints"/>
</bean>
</beans>
エンドポイント
@Endpoint
public class ServesyWebServiceEndpoint {
private static final String TARGET_NAMESPACE ="http://www.servesy.com/api/v1/service";
private ServesyWebService servesyservice_i;
@Autowired
public void setServesyWebService(ServesyWebService servesyservice_p)
{
this.servesyservice_i = servesyservice_p;
}
@PayloadRoot(localPart="SignupRequest", namespace=TARGET_NAMESPACE)
public @ResponsePayload SignupResponse response(SignupRequest signupRequest) {
SignupResponse signupResponse = new SignupResponse();
Signup signup = servesyservice_i.signupResponse( signupRequest.getMobileNumber(), signupRequest.getPassword(), signupRequest.getCustomerName(), signupRequest.getEmailId(), signupRequest.getPromoCode(), signupRequest.getDevice());
signupResponse.setSignup(signup);
return signupResponse;
}
@PayloadRoot(localPart="LoginRequest", namespace=TARGET_NAMESPACE)
public @ResponsePayload LoginResponse response(LoginRequest loginRequest) {
LoginResponse loginResponse = new LoginResponse();
String string = servesyservice_i.signinResponse( loginRequest.getEmailID(), loginRequest.getPassword(), loginRequest.getDevice());
loginResponse.setSessionId(string);
return loginResponse;
}
}
で、私のsoupuiはこのような空白の出力をします。
どうすればいいですか?
その
EndpointNotFoundException
は、Spring-WS が適切な
@Endpoint
は、受信したリクエストを処理することができます。
この場合、受信メッセージには名前空間
http://www.servesy.com/api/v1/service
とローカル名
signupRequest
(ログで確認できます)。一方、あなたの
@PayloadRoot
マッピングは同じ名前空間を持ちますが、ローカル名は同じではありません。
SignupRequest
の大文字の S を小文字の s に変更すると、その可能性があります。
@PayloadRoot
のアノテーションを使用すると、動作します。
関連
-
[解決済み】クラスパス上にSpring WebApplicationInitializerの型が検出されない
-
[解決済み] デフォルトのエンドポイント要素が見つからない
-
[解決済み] SecurityContextにAuthenticationオブジェクトが見つかりませんでした - Spring 3.2.2
-
[解決済み] mvc:annotation-driven はバインドされていません。
-
[解決済み] SpringBootです。以下の候補からメインクラスを1つも見つけることができません。
-
[解決済み] CommandLineRunnerの実行に失敗しました - Spring Batch
-
アーティファクトXXXXが見つからず、Mavenにalibaba.cloudの依存関係を導入することができませんでした。
-
[解決済み] Spring Bootアプリケーションにポートを設定する方法
-
[解決済み] Spring 3 RequestMapping。パスの値を取得する
-
[解決済み] コンストラクタの引数を必要とする Bean を @Autowire する方法はありますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Unit TestからApplicationContextを読み込むのに失敗しました。FileNotFound
-
[解決済み] ApplicationContextException: ServletWebServerApplicationContext が見つからないため、ServletWebServerFactory ビーンを起動できません。
-
FunctionService' タイプのビーンが見つかりませんでした。
-
解決方法 原因:com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException.NonTransientConnectionExceptionが原因です。
-
[解決済み] クラスパス上にSpring WebApplicationInitializerの型が検出されない
-
[解決済み】 java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
-
[解決済み】Spring RestTemplateリクエストに "Accept: "ヘッダーを設定する方法は?
-
[解決済み】IntelliJから実行するときにSpring Bootプロファイルを有効にするにはどうすればよいですか?
-
[解決済み] コンテンツタイプ 'application/x-www-form-urlencoded;charset=UTF-8' は @RequestBody MultiValueMap ではサポートされていません。
-
[解決済み] Spring Frameworkにおける依存性注入と制御の逆転とは?