2016-11-06 2 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コマンドがあります。たとえば、UTF-8にIBM 284を変換するには:

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

また、あなたはもちろん、サーバーが最初の場所でEBCDICを使用している理由を理解しようとすることができます。

+0

男は、完璧に働いた!そのようなウィザードのおかげで=)。 私は理解しようとしますが、それはおそらく何らかのセキュリティ基準でしょうか? – bazilio

+0

あなたは大歓迎です!これで運が良かった(私は推測している)IBMメインフレーム - 私はあなたを羨ましくない... –

+0

いいえ、それはセキュリティ標準でも暗号化でもなく、[非常に古い標準](https:// en。 wikipedia.org/wiki/EBCDIC)私はIBM以外の誰ももう使用しないと思います。 –

関連する問題