で同じことを確認する必要があることはここでの話です:SOAPUI(5.2.1)からのリクエストを送信SOAP UIは、エラー500が受信された後でもエラーストリングを表示します。 JAVA
は私に正しい応答や、無効なパラメータの場合には、XML形式のエラーのいずれかを提供します。 SOAPUIログを見ると、これは私が見たものである。
Wed Jan 18 16:32:39 EST 2017:DEBUG:Attempt 1 to execute request
Wed Jan 18 16:32:39 EST 2017:DEBUG:Sending request: POST/XBC/services/TranslateGeometryService HTTP/1.1
Wed Jan 18 16:32:48 EST 2017:DEBUG:Receiving response: HTTP/1.1 401 Unauthorized
Wed Jan 18 16:32:48 EST 2017:DEBUG:Connection can be kept alive for 10000 MILLISECONDS
Wed Jan 18 16:32:48 EST 2017:DEBUG:Target requested authentication
Wed Jan 18 16:32:48 EST 2017:DEBUG:Authorization challenge processed
Wed Jan 18 16:32:48 EST 2017:DEBUG:Authentication scope: BASIC 'Spring Security Application'@mywebservice:80
Wed Jan 18 16:32:48 EST 2017:INFO:mywebservice:80 requires authentication with the realm 'Spring Security Application'
Wed Jan 18 16:32:48 EST 2017:DEBUG:Found credentials
Wed Jan 18 16:32:48 EST 2017:DEBUG:Attempt 2 to execute request
Wed Jan 18 16:32:48 EST 2017:DEBUG:Sending request: POST/XBC/services/TranslateGeometryService HTTP/1.1
Wed Jan 18 16:33:14 EST 2017:DEBUG:Receiving response: HTTP/1.1 500 Internal Server Error
Wed Jan 18 16:33:14 EST 2017:DEBUG:Connection shut down
Wed Jan 18 16:33:14 EST 2017:INFO:Got response for [TranslateGeometrySoap11.getLocationFromTramPoleTrackOffset:Request 1] in 35794ms (312 bytes)
(それらの312のバイトは、エラー500の後に来るとの接続がメッセージをシャットダウンすることに注意してください)
レスポンスウィンドウ、同時に、SOAPUIでこれを示しています:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<SOAP-ENV:Fault>
<faultcode>SOAP-ENV:Server</faultcode>
<faultstring xml:lang="en">Error: No Track exists with Track Code: CHS-CSK-UP-TW</faultstring>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
これは完璧ですし、私はそれが動作することを期待して動作します。
私の問題は、真剣に私を怒らせることです。 は、私は上記のエラーを返すことになっている私のJavaコードからまったく同じ要求を送信しようとすると、私はIOExceptionが受け取ると言うこと: ServerがHTTPレスポンスコードが返さ:500 URLのために:http://mywebservice/XBC/services/TranslateGeometryService
ので、ほとんど同じSOAPUIがそのログに示すものと同じです。
しかし...
どんなに私は何をすべきか私のコードで私はSOAPUIが表示されることのfaultStringにそのメッセージを取得することはできません:「いいえトラックは、トラックコードで存在しません:CHS-CSK-UP-TW」。
エラー500を受信した後、SOAPUIはどのように処理しますか?あるいは、もっと重要なのは、エラー500を受け取った後、どのようにJAVAで取得するのですか?
SoapFaultExceptionクラスとSoapFaultで試してみましたが、どこでも何も見つかりませんでした。
この質問に答えようとしてくださった皆様、ありがとうございます。
乾杯、 ピエール
plsは、あなたのコードを表示しますか? – Rao
コードはうまく動いています。私はJavaのWebサービスと問題なく通信します。私はIOExceptionエラー500(SOAPUIのように)を受け取ったときにそのエラーを取得する必要があります。そのため、「エラー500」ではなくユーザーに表示することができます – kosmos2