2016-11-06 3 views
0

Ich möchte einen Webservice mit CURL überwachen.Das Posten eines XML mit CURL gibt merkwürdige Zeichen zurück

Der POST arbeitet mit SOAPUI:

SoapUI output

Aber wenn ich per Kommandozeile tun, ist die Rückkehr sehr seltsam:

[[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]]# 
:

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

Dies ist der Ausgang

Shell output

Folgen Sie den Inhalt 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> 

Antwort

0

ein Hinweis in Ihrem ersten Bild Es ist: der Server, in dessen Content-Type Header, so dass der Inhalt der IBM 284 EBCDIC-Codepage codiert wird, verwendet wird, die scheint eine alte Art der Codierung von spanischsprachigem Text sein. Ihr Terminal verwendet wahrscheinlich ASCII oder UTF-8.

Die meisten Systeme haben einen iconv Befehl, der zwischen Zeichensätzen konvertieren kann. Zum Beispiel konvertiert IBM 284 in UTF-8:

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

Alternativ Sie könnte natürlich versuchen, herauszufinden, warum der Server EBCDIC in erster Linie verwendet.

+0

Mann, hat perfekt funktioniert !! Danke sei so ein Assistent =). Ich werde versuchen, herauszufinden, aber es ist wahrscheinlich ein Sicherheitsstandard, nicht? – bazilio

+0

Gern geschehen! Viel Glück mit diesem (ich schätze) IBM Mainframe - ich beneide Sie nicht ... –

+0

Nein, es ist kein Sicherheitsstandard oder eine Verschlüsselungssache, nur ein [sehr alter Standard] (https: // en. wikipedia.org/wiki/EBCDIC), von dem ich glaube, dass niemand außerhalb von IBM mehr verwendet. –

Verwandte Themen