2

.netクライアントからhttpsJavaWebサービスにアクセスしようとしていますが、常に「504GatewayTimeout」例外が発生します。

SoapUIを使用して同じWebサービスから応答を取得できました。

また、SoapUIと.netクライアントのリクエストSOAPメッセージが類似していないことにも気づきました。私の質問は、メッセージの形式が間違っていると「504ゲートウェイタイムアウト」の問題が発生するのでしょうか。はいの場合、.netクライアントでsoapメッセージを変更するにはどうすればよいですか?

2つの異なるアプリが生成するリクエストソープメッセージは次のとおりです。

SoapUI

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v1="http://company.domain.com/EchoService/v1_00">
       <soapenv:Header/>
       <soapenv:Body>
          <v1:Echo>test</v1:Echo>
       </soapenv:Body>
</soapenv:Envelope>

.NETクライアント

{<s:Envelope xmlns:a="http://www.w3.org/2005/08/addressing" xmlns:s="http://www.w3.org/2003/05/soap-envelope">
  <s:Header>
    <a:Action s:mustUnderstand="1">Echo</a:Action>
    <a:MessageID>urn:uuid:7a76925d-5bf0-4f2d-a9c5-c5a026e1eefb</a:MessageID>
    <a:ReplyTo>
      <a:Address>http://www.w3.org/2005/08/addressing/anonymous</a:Address>
    </a:ReplyTo>
  </s:Header>
  <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <Echo xmlns="http://company.domain.com/EchoService/v1_00">test</Echo>
  </s:Body>
</s:Envelope>}
4

1 に答える 1

0

申し訳ありませんが、wcf バインディングまたは SOAP メッセージとは何の関係もありませんが、プロキシが要求をブロックしていました。SoapUI はプロキシを使用しないため、メッセージを送受信できます。useDefaultWebProxy="false"構成のバインディングセクションで変更されました。

于 2016-02-03T21:43:54.130 に答える