2010-11-30 98 views
1

我通过PHP SOAP客户端发布到基于SOAP的Web服务,但我期望通过XML返回,但是我没有收到。信息正在按照预期由Web服务处理(在这种情况下写入数据库),但我只是在Web浏览器中看到一个空白页面。PHP通过SOAP Web服务不返回XML

在这个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

使用fiddler2或类似功能查看真正发回的内容,然后在此处发布。 – 2010-11-30 12:44:02

回答

0

我设法缩小问题到Web服务不处理通过传递对象的从我的PHP代码。不管那是因为我的代码不正确,我不确定,但没有人指出这一点。我采取了让Web服务提供者开发一种新的API方法,它允许我使用REST,它已经变得更加容易,并且正在工作。