php soap 调用接口,PHP 使用soap调用webservice接口

header("content-type:text/html;charset=utf-8");

try {

$client = new SoapClient("http://xxx?wsdl"

);

// print_r($client->__getFunctions());

// print_r($client->__getTypes());

$customerCode = 'wwggr';

$sign = Md5(date('Ymd',time()).$customerCode);

$param = array(

'factoryCode' => '1244',

....

'product'=>['quantity'=>1,'sku'=>'4D5100126005'],

....

);

$param = json_encode($param,JSON_UNESCAPED_UNICODE);

print_r($param);

// die;

// $result = $client->__soapCall('AddOEMOrder',array("parameters"=>$param));

$result = $client->AddOEMOrder(['model'=>$param]);

//print_r($result);

//将stdclass object的$result转换为array

$result = get_object_vars($result);

//输出结果

echo $result["AddOEMOrderResult"];

} catch (SOAPFault $e) {

print $e;

}

服务器无法处理请求。 ---> 值不能为 null。

参数名: value

1.传入的参数为空

通过打印print_r($client->__getFunctions()); print_r($client->__getTypes());得知调用AddOEMOrder 函数需要传入string类型的model变量,如果没有传入model变量则会出现上述问题

Array

(

[0] => AddOEMOrderResponse AddOEMOrder(AddOEMOrder $parameters)

[1] => AddOEMOrderResponse AddOEMOrder(AddOEMOrder $parameters)

)

Array

(

[0] => struct AddOEMOrder {

string model;

}

[1] => struct AddOEMOrderResponse {

string AddOEMOrderResult;

}

)

例如:$result = $client->AddOEMOrder(['model'=>$param]); 是调用成功的,

而 $result = $client->AddOEMOrder(['modl'=>$param]);则会出现上述问题

标签:__,webservice,param,soap,client,result,print,PHP,AddOEMOrder

来源: https://www.cnblogs.com/indifferent/p/13706863.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值