1

こんにちは、最初の Web サービスを作成しました。うまくいきますが、今は特別な状況を解決する必要があります。最初の状況は、Spring Web Services - Exception Skipping ExceptionResolverで言及されていますが、私を助けることができる解決策はありません。

2 番目の状況は、クライアントが正しい SOAP メッセージを送信してきたが、たとえば send me: のように名前空間を間違えている xmlns:urn="urn:org:samples:spring:ws:schemas:calculatorblabla" が、正しい名前空間は xmlns:urn="urn1:org:samples:spring:ws:schemas:calculator" です。したがって、クライアントが間違った名前空間でメッセージを送信した場合、彼はこれらの間違いを犯したメッセージを受信しません:

<html><head><title>SpringSource tc Server/6.0.20.C - Error report</title><style><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}--></style> </head><body><h1>HTTP Status 404 - </h1><HR size="1" noshade="noshade"><p><b>type</b> Status report</p><p><b>message</b> <u></u></p><p><b>description</b> <u>The requested resource () is not available.</u></p><HR size="1" noshade="noshade"><h3>SpringSource tc Server/6.0.20.C</h3></body></html>

これらの状況を SoapUI でテストしました

サーバーはメッセージを受信しましたが、正しいエンドポイントを見つけたため、応答を送信しませんでした[2010-08-26 14:38:19] Accepting incoming [org.springframework.ws.transport.http.HttpServletConnection@1700f3d] at [http://localhost:8080/calculator] [2010-08-26 14:38:19] Received request [SaajSoapMessage {urn:org:samples:spring:ws:schemas:calculatorblabla}calculatorRequest] [2010-08-26 14:38:19] Looking up endpoint for [{urn:org:samples:spring:ws:schemas:calculatorblabla}calculatorRequest] [2010-08-26 14:38:19] Endpoint mapping [org.springframework.ws.server.endpoint.mapping.PayloadRootAnnotationMethodEndpointMapping@ae2481] has no mapping for request [2010-08-26 14:38:19] No endpoint mapping found for [SaajSoapMessage {urn:org:samples:spring:ws:schemas:calculatorblabla}calculatorRequest] [2010-08-26 14:38:19] Successfully completed request

そのため、クライアントが間違った名前空間でメッセージを送信したときに、xsd で検証されていない xml を送信したときに同様の障害メッセージを書き込む必要があります。助けてくれてありがとう、間違いをごめんなさい、私の英語はかなり下手です

4

1 に答える 1

0

デフォルトでは、Spring-WS 1.5.x はorg.springframework.ws.transport.http.WebServiceMessageReceiverHandlerAdapterwhich を使用org.springframework.ws.transport.http.HttpServletConnectionして sendを使用しますWebServiceMessagesHttpServletConnectionエンドポイントがEndpointAwareWebServiceConnection見つからない場合の処理​​方法を定義する です。デフォルトの実装では、サーブレットの応答コードが 404 に設定されます。

何か他のことをする必要がある場合は、Spring-WSWebServiceConnectionは で構成できないため、Spring-WS の内部に手を入れる必要がありますWebServiceMessageReceiverHandlerAdapterHandlerAdapterを構成できる別の方法を知らないWebServiceConnectionので、作成する必要があるかもしれません。

于 2010-08-31T18:59:23.057 に答える