我会开始说我不知道我试图做什么。我的PHP技能是-beginner,而我对webservices的使用经验是NULL。从PHP中的WSDL webservice检索数据
我有一个WSDL URL http://example.com/ws/3.1/NNE?WSDL。我想从PHP脚本中调用searchTargetGroup方法,这样我就可以遍历答案并将数据保存到我的数据库。
Anywho,我不知道如何创建来自PHP的调用。 :-( 我看了NuSOAP的PHP和内置的SoapClient,但没有运气。我认为问题是,我试图调用一个复杂的方法,但没有完全理解什么青蛙我搞乱周围。
所以我用了SoapUI检索定义文件并创建一个请求,这完美的作品,我让所有我想要的信息。问题是,我有不知道我应该怎么做一个PHP文件创建与SoapUI完全相同的请求(从而得到正确答案)
XML请求SoapUI为我生成的代码如下所示:
<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:nne="http://example.com/ws/NNE">
<soapenv:Header/>
<soapenv:Body>
<nne:searchTargetGroup soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<QuestionTargetGroup_1 xsi:type="nne:QuestionTargetGroup" xmlns:nne="http://example.com/ws/NNE">
<companyFormCodeList xsi:type="xsd:string">10,60,80</companyFormCodeList>
<companyStatus xsi:type="xsd:string">0</companyStatus>
<hasPhoneOnly xsi:type="xsd:boolean">true</hasPhoneOnly>
</QuestionTargetGroup_1>
<int_2 xsi:type="xsd:int">500</int_2>
<int_3 xsi:type="xsd:int">1</int_3>
<int_4 xsi:type="xsd:int">1</int_4>
<String_5 xsi:type="xsd:string">passstring</String_5>
</nne:searchTargetGroup>
</soapenv:Body>
</soapenv:Envelope>
任何人都可以在某个方向帮助我吗?最好是正确的。 :-)
我知道你不能测试的URL,因为它的IP保护,但我真的只想知道如何从PHP文件/函数进行上述调用。
其实我试过这个较早,但它返回一个致命的错误:“未捕获的SOAPFault异常:[客户] SOAP的错误:编码:对象不是招” t'区“财产”。 WSDL服务的所有者告诉我,我应该忽略我没有问过的字段,例如“区域”字段。我只是尝试了调用中定义的所有字段,对于那些我不想问的人来说只是空的,现在它可以工作。一双清新的眼睛正是我所需要的。谢谢Raffael :) – kasperwf