我的下面脚本有问题。它只是不想回复任何回复。
剧本:
<?php
require_once('nusoap.php');
$c = new soapclient('http://hidden.com/api/soap_affiliate.php?wsdl');
$result = $c->__call('optionalInfo', array('client'=> 'hidden','add_code' => 'hidden','password'=> 'hidden' ,
'start_date' => '2011-03-15','end_date' => '2011-03-24' , 'program_id' => '000' , 'opt_info' => 'x' ));
echo $result;
?>
返回的内容如下:
<?xml version="1.0" encoding="utf-8"?>
<item>
</item>
它应该从我的客户端返回一些细节,尽管它甚至没有显示空字段。
更多细节应该如下:
<?xml version="1.0" encoding="utf-8"?>
<item>
<dailystats>
<date>2011-03-18</date>
<impressions>17</impressions>
<clicks>1</clicks>
<leads>1</leads>
<num_sales>0</num_sales>
<sales> 0.00</sales>
<sub_sales> 0.00</sub_sales>
<commission> 1.10</commission>
<click_thru_ratio>5.88%</click_thru_ratio>
</dailystats>
</item>
我尽我所能(因为我知道多少肥皂),但它不会返回任何其他东西。 那么有人可以帮我解决这个脚本吗?
所需的网络服务如下,
- <message name="optionalInfoRequest">
<part name="client" type="xsd:string" />
<part name="add_code" type="xsd:string" />
<part name="password" type="xsd:string" />
<part name="start_date" type="xsd:string" />
<part name="end_date" type="xsd:string" />
<part name="program_id" type="xsd:int" />
<part name="opt_info" type="xsd:string" />
</message>
- <message name="optionalInfoResponse">
<part name="return" type="xsd:string" />
</message>
可以在WSDL service
找到整个WSDL修改
谢谢wrikken,它把我推向了正确的方向。我已经编辑了一下脚本:现在有一个“opt_info”标签。在这里,我必须放置电子邮件地址和日期,以便它也返回它们。有人可以帮我这么做吗?答案 0 :(得分:0)
你需要使用nusoap吗? PHP现在拥有自己的SOAP处理,这更易于理解(至少对于我作为传统的PHP程序员,我发现nusoap有点令人困惑)。如果您刚开始学习SOAP并且您有一个本机支持它的PHP版本,使用--enable libxml(可能需要使用soap支持重新编译),学习PHP的方法可能是个好主意。
以下是发送请求且 接收响应的示例客户端脚本,它还会在“var dump”中打印出错误:
<?php
try {
$sClient = new SoapClient("http://URL-TO-WSDL");
$response = $sClient->doFunctionName($REQUEST);
//doFunctionName should represent the name of the "message" element
//and $REQUEST is what you are sending to the server for that same message element
print_r($response);
} catch(SoapFault $error) {
var_dump($error);
} ?>
希望这很有用。顺便说一句:你可以使用phpinfo()查看你的php是否有肥皂支持;搜索“soap”它应该读取--enable-soap