我通过PHP SOAP Client发布到基于SOAP的Web服务,我期待通过XML返回,但是我没有得到。 Web服务按预期处理信息(在此实例中写入数据库),但我只是在Web浏览器中看到一个空白页。
此API中的其他方法,我只是将信息发布到Web服务以获取返回值确实给了我XML,但是当我发布要写入数据库的信息时,它似乎无法返回一个值。
$url='wsdl.xml';
$client = new SoapClient($url,array('trace' => 1,
'exceptions' => 1));
$client = new SoapClient($url,array('soap_version' => SOAP_1_1));
$params = array('IntValue'=>$int,
'StringValue'=>$string);
try {
$client->Test_Parameters_Add($params);
} catch (SoapFault $exception) {
echo 'soap fault occured: '.$exception->getMessage().'<br/>';
}
WSDL文件:
<s:element name="Test_Parameters_Add">
−
<s:complexType>
−
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="IntValue" type="s:int"/>
<s:element minOccurs="0" maxOccurs="1" name="StringValue" type="s:string"/>
</s:sequence>
</s:complexType>
</s:element>
−
<s:element name="Test_Parameters_AddResponse">
−
<s:complexType>
−
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="Test_Parameters_AddResult" type="s:int"/>
</s:sequence>
</s:complexType>
</s:element>
答案 0 :(得分:0)
我设法将问题缩小到Web服务,而不是处理PHP代码中的Object传递。不管那是因为我的代码不正确,我不确定,但到目前为止还没有人指出。我已经开始使用Web服务提供程序来开发一种新的API方法,这种方法允许我使用REST,这种方法更容易并且现在正在工作。