我正在尝试从C#调用SOAP服务。不幸的是,它在PHP中实现的方式对我来说有点令人困惑。我在这里用PHP解释了如何调用服务:
$oClient = new SoapClient("http://xxxxxxxxx?wsdl",
array(
'trace' => 1,
'exceptions' => true,
'login' => "xxxxxxxx",
'password' => "xxxxxxxx"
));
问题是我不知道如何在c#中传递数组或者格式化的消息是什么样的。
我想知道PHP如何将此信息插入到SOAP请求中。我让那个人删除安全性片刻,看看我的消息是否格式正确,一切正常,我写的是处理除了这个自定义数组对象之外的请求。
我尝试构建一台linux机器来监控输出,但由于某些原因我无法在我的机器上运行linux,因为它是绿屏,我真的需要快速完成这项工作,因为我现在已经浪费了很多时间。
我认为这些信息必须出现在SOAP请求的标题中,但文档似乎很少。我从来没有真正喜欢PHP的文档
答案 0 :(得分:0)
$oClient->__soapCall("SomeFunction", array($a, $b, $c));
其中“SomeFunction”是远程函数的名称,数组是其参数。
无论如何,您似乎正在尝试在C#上构建SOAP客户端 - 应该有一个C#库或扩展,因此调用SOAP服务应该与PHP没有太大区别。基本上,您只需构造一个客户端并调用远程函数,这些函数是WSDL文件中描述的(及其参数)。你甚至不应该看到XML包。
如果您想看一些示例数据包的示例,请参阅:Annotated WSDL Examples @w3c.org
还有一些说明:Using WSDL in SOAP applications @ibm.com
但是这一切都由图书馆用您选择的语言照顾。 stackoverflow上有一个讨论:Which C# SOAP Client Library is easiest to use?