1

C# を使用して Web サービスをセットアップし、IIS 6 で公開すると、SOAP 1.2 の要求と応答は次のようになります。

SOAP1.2 リクエスト

POST /WebServices/EUWS.asmx HTTP/1.1
Host: 10.30.178.81
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <soap12:Body>
    <Add xmlns="http://www.eutesttools.com">
      <num1>double</num1>
      <num2>double</num2>
    </Add>
  </soap12:Body>
</soap12:Envelope>

SOAP1.2 レスポンス

HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <soap12:Body>
    <AddResponse xmlns="http://www.eutesttools.com">
      <AddResult>double</AddResult>
    </AddResponse>
  </soap12:Body>
</soap12:Envelope>

しかし、実際にこのリクエストを投稿すると:

Content-Type    application/soap+xml

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
    <soap12:Body>
        <Add xmlns="http://www.eutesttools.com">
        <num1>3</num1>
        <num2>5</num2>
    </Add>
</soap12:Body>
</soap12:Envelope>

それから私はいつもこの応答を受け取ります:

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
    <AddResponse xmlns="http://www.eutesttools.com">
        <AddResult>8</AddResult>
    </AddResponse>
</soap:Body>
</soap:Envelope>

説明されている応答が得られないのはなぜですか?

4

1 に答える 1

1

それ正しい対応です。プレフィックスは関係ありません。

于 2013-01-21T15:11:51.237 に答える