使用cURL命令行发送XML并获取响应

时间:2015-11-11 17:41:09

标签: xml web-services curl soap

我正在尝试将我的网络系统与文档非常糟糕的SOAP API集成。他们只写了一条费用线,但没有提供很多如何实现相同结果的例子。我联系了他们,他们说我可以使用cURL与他们的网络服务进行沟通。

我必须发送一个XML,然后他们会发回一个XML作为响应。他们提供了这个请求示例

<?xml version="1.0" encoding="UTF-8"?>
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
<soap-env:Body>
<m:F2bAcaoCobranca xmlns:m="http://www.f2b.com.br/soap/wsbillingaction.xsd">
<mensagem data="2005-04-18" numero="121233"/>
<cliente conta="9023010001230123" senha="senha123"/>
<acao_cobranca numero="153079" cancelar_cobranca="" registrar_pagamento=""
registrar_pagamento_valor="" dt_registrar_pagamento="" cancelar_multa="1"
permitir_pagamento="1" dt_permitir_pagamento="2005-05-20" reenviar_email="0"
email_tosend=""/>
<acao_agendamento numero="123" cancelar_agendamento="0"/>
</m:F2bAcaoCobranca>
</soap-env:Body>
</soap-env:Envelope>

我必须向此网址发送请求

https://www.f2b.com.br/WSBillingAction

我没有关于此API的更多信息。假设你是cURL,SOAP和XML的专家(因为我不是!),从这个服务器获得响应的最佳猜测是什么?

1 个答案:

答案 0 :(得分:0)

将请求放入文件'request.xml',然后使用

curl --header "content-type: text/soap+xml; charset=utf-8" --data @query.xml -k "https://www.f2b.com.br/WSBillingAction"