如何在SOAP请求中关闭Envelope和Body

时间:2014-11-29 16:20:48

标签: c++ soap web service clickatell

这对我目前的项目至关重要。我用C ++编写了一个使用Windows Web服务的客户端。该客户端与Clickatell SMS SOAP Web服务进行通信。我已使用SOAPUI工具测试了请求并获得了正确的响应。我也收到了短信。现在,当我以编程方式执行此操作时,它会失败,因为即使我已经包含Envelope和Body的SOAP请求,WsCall()[在通过wsutil.exe从WSDL生成的代码中]也会插入。我无法取出我的信封,因为我在其中指定了命名空间,如下所示: http://schemas.xmlsoap.org/soap/encoding/\"的xmlns:S = \" HTTP://schemas.xmlsoap.org/soap/envelope/ \"的xmlns:XSD = \" HTTP://www.w3.org/2001/XMLSchema \"的xmlns:=的xsi \" HTTP://www.w3.org/2001/XMLSchema-instance \"的xmlns:SOAP-ENC = \" HTTP://schemas.xmlsoap.org/soap/encoding/ \"的xmlns:TNS = \" soap.clickatell.com \"> 我知道,因为我在Fiddler工具中看到它,所以插入了额外的Envelope和Body。 我能得到的任何帮助都非常感谢!

1 个答案:

答案 0 :(得分:0)

看起来您使用的是旧版型的rpc / encoded soap api。

您是否尝试过使用文档/文字服务? (http://api.clickatell.com/soap/document_literal/webservice.php?wsdl