Я пытался отправить запрос SOAP.
curl -X POST -H "Content-Type: text/xml" -H "SOAPAction: " --data-binary file.xml https://endpoint.com
Я указал тело запроса в xml-файле как -
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:dse="http://brandmaker.com/webservices/dse/v2/">
<soapenv:Header/>
<soapenv:Body>
<dse:findById>
<id>1405</id>
</dse:findById>
</soapenv:Body>
</soapenv:Envelope>
Этот файл отлично работает, когда я отправляю запрос с Mac. Однако, когда я скопировал файл с Mac в Linux и попробовал ту же команду, я столкнулся с ошибкой недопустимого символа -
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body> .
<soap:Fault>
<faultcode>soap:Client</faultcode>
<faultstring>Error reading XMLStreamReader: Unexpected character 'f' (code 102) in prolog; expected '<' at [row,col {unknown-source}]: [1,1]</faultstring>
</soap:Fault>
</soap:Body>
</soap:Envelope>%
Я пытался экранировать контент, но по-прежнему получаю ту же ошибку -
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:dse="http://brandmaker.com/webservices/dse/v2/">
<soapenv:Header/>
<soapenv:Body>
<dse:findById>
<id>1405</id>
</dse:findById>
</soapenv:Body>
</soapenv:Envelope>
Кто-нибудь может мне помочь? Как мне следует кодировать тело запроса xml при отправке запроса из Linux?