0

一部のデータを返すJavaWebサービスを呼び出しています。Fiddlerで返された結果を見ると、次のようになります。

HTTP/1.1 200 OK
Date: Thu, 18 Oct 2012 15:14:03 GMT
Server: Apache
Keep-Alive: timeout=300, max=99
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/xml; charset=UTF-8
Content-Language: en

46f
<?xml version="1.0" encoding="utf-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cre="http://www.example.org/getOrderList/">
   <soapenv:Header/>
   <soapenv:Body>
      <cre:getOrderListResponse1 status="success">
          <GetOrderList company="LO" OrderNumber="0423180" CustomerNumber="2150" Branch="000" customerReference="1001" orderStatus="cancelled" suspendCode=""/>
      </cre:getOrderListResponse1>
   </soapenv:Body>
</soapenv:Envelope>

0

Fiddlerは、「応答はエンコードされており、検査前にデコードする必要がある可能性がある」と報告しています。

ヘッダーと本文の間の4F6と0の終わりがそれを作っているので、.Netは結果を処理できないと思います。

どうすればこれを回避できますか?

編集済み:問題は、HTTP 1.1を使用してサービスを呼び出していて、サービスがHTTP1.0を返していることである可能性があります。HTTP 1.0を使用してサービスを強制的に呼び出す方法はありますか?

4

1 に答える 1

0

あなたは正確に正しかったことがわかりました、LBそれはXY問題でした。

問題は、応答の名前空間が正しくないことでした。

<soapenv:Envelope 
    xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:cre="http://www.example.org/getOrderList/"> 

する必要がありました

<soapenv:Envelope 
    xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:cre="http://www.example.org/LathamIntOE/"> 

これがJavaサービスで変更されると、正常に機能しました。

于 2012-10-18T19:23:54.063 に答える