PHP中的Soap数组对象.数据在SOAP请求中的最终位置
本文关键字:请求 位置 SOAP Soap 中的 数组 对象 数据 PHP | 更新日期: 2023-09-27 18:17:32
我正在尝试从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的文档
你能说清楚你想做什么吗?您提供的PHP代码基于WSDL (Web服务描述语言)在http://xxxxxxxxx?wsdl上的描述为SOAP服务构造SOAP客户机,它不调用任何东西。您调用WSDL中描述的各种函数,如下所示:
$oClient->__soapCall("SomeFunction", array($a, $b, $c));
其中"SomeFunction"是远程函数的名称,数组是其参数。
无论如何,看起来你正在尝试在c#上构建一个SOAP客户端-应该有一个c#库或扩展,所以调用SOAP服务应该与PHP没有太大的不同。基本上,您只需构造一个客户机并调用WSDL文件中描述的远程函数(及其参数)。您甚至不应该看到XML数据包。
如果你想看一些数据包看起来是什么样子的例子,这里有一个:注释WSDL示例@w3c.org
和一些描述:在SOAP应用程序中使用WSDL @ibm.com
但是这一切都由你选择的语言库来处理。在stackoverflow上有一个讨论:哪个c# SOAP客户端库最容易使用?