我正在尝试使用此服务中的api:
http://messagingws.payamservice.ir/SendSMS.asmx?WSDL我使用php的SOAP客户端如下所示:
$client = new SoapClient("http://messagingws.payamservice.ir/SendSMS.asmx?WSDL");
$params=array();
$params['PortalCode']='code';
$params['UserName']='user';
$params['PassWord']='pass';
$params['Mobiles']=array('09123456789');
$params['Messages']=array('test');
$params['FlashSMS']=false;
$params['ServerType']=1;
$response = $client->__soapCall('MultiSMSEngine', array($params));但是我得到了“空消息”错误,当我尝试使用单模式时,它工作正常,所以问题似乎是与tns:ArrayOfString的Mobiles和Messages参数有关
如何正确地将数组作为SOAP的tns:ArrayOfString传递?
谢谢
发布于 2016-02-05 22:49:09
首先,您可以调用$client->MultiSMSEngine($params)这样的方法,而不是$client->__soapCall('MultiSMSEngine', array($params));。
如果您保持原有的调用形式,请尝试使用$client->__soapCall('MultiSMSEngine', $params);
最后,为了简化对SOAP Web服务的调用,我强烈建议您使用WSDL to php生成器,比如PackageGenerator。
https://stackoverflow.com/questions/35222123
复制相似问题