2016-11-06 28 views
0

我確實希望使用CURL監視Web服務。使用CURL發佈XML會返回奇怪的字符

的POST可與SOAPUI:

SoapUI output

但是當我通過命令行做的,回報是很奇怪:

curl -X POST --header "Content-Type: text/xml" --data @sku.xml http://10.107.100.36:9700/wcs/ShippingDateCalculator?wsdl 

這是輸出:

[[email protected] ~]# curl -X POST --header "Content-Type: text/xml" --data @sku.xml http://10.107.100.36:9700/wcs/ShippingDateCalculator?wsdl 
[email protected][email protected]????????~???`???onL???????zŕ[email protected]?????z???????~????zaa???????K???????K???a????a????????anL???????z??nL???z?????????ā??م[email protected]?????z???~????zaa??K?????a∉?????ā??Á????????anL????????ā???nL????????ā??nL????n??a??a????La????nL????ā?n??????La????ā?nLa????????ā??nL????????ā??nL????n??a??a????La????nL????ā?n???????La????ā?nLa????????ā??nL????????ā??nL????n??a??a????La????nL????ā?n?????La????ā?nLa????????ā??nL????????ā??nL????n??a??a????La????nL????ā?n??????La????ā?nLa????????ā??nL????????ā??nL????n??a??a????La????nL????ā?n??Q??????La????ā?nLa????????ā??nL????????ā??nL????n??a??a????La????nL????ā?n??????La????ā?nLa????????ā??nL????????ā??nL????n??a??a????La????nL????ā?n???????La????ā?nLa????????ā??nL????????ā??nL????n??a??a????La????nL????ā?n?????La????ā?nLa????????ā??nL????????ā??nL????n??a??a????La????nL????ā?n??????La????ā?nLa????????ā??nL????????ā??nL????n??a??a????La????nL????ā?n??Q??????La????ā?nLa????????ā??nLa????????ā???nL??????n??La??????nLa???z?????????ā??م??????nLa???????z??nLa???????zŕ??????n[[email protected]]# 

Shell output

按照sku.xml的內容:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ship="http://cl.hites/ShippingDateCalculator/"> 
    <soapenv:Header/> 
    <soapenv:Body> 
     <ship:calculateDate> 
     <comuna>68</comuna> 
     <skus> 
      <!--1 to 20 repetitions:--> 
      <sku> 
       <partNumber>664860001</partNumber> 
       <quantity>1</quantity> 
      </sku> 
     </skus> 
     <!--Optional:--> 
     <orderId></orderId> 
     </ship:calculateDate> 
    </soapenv:Body> 
</soapenv:Envelope> 

回答

0

有一個在你的第一個圖像的提示:服務器在其Content-Type頭,說,內容是使用IBM 284 EBCDIC代碼頁編碼,這似乎成爲西班牙語文本編碼的古老方式。您的終端可能使用ASCII或UTF-8。

大多數系統都有可在字符集之間轉換的iconv命令。例如,IBM 284轉換爲UTF-8:

curl -X POST ... | iconv -f ibm284 -t utf-8 

或者,你當然可以揣摩爲什麼服務器首先使用EBCDIC。

+0

男人,工作完美!謝謝你是這樣一個嚮導=)。 我會試圖弄清楚,但它可能是一些安全標準,不是? – bazilio

+0

不客氣!祝你好運(我猜)IBM大型機 - 我不羨慕你... –

+0

不,它不是一個安全標準或加密的東西,只是一個[非常老的標準](https:// en。 wikipedia.org/wiki/EBCDIC),我不認爲IBM以外的任何人使用它。 –