2016-11-06 57 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以外的任何人使用它。 –