首頁 > 後端開發 > php教程 > 请教webservice

请教webservice

WBOY
發布: 2016-06-23 14:02:29
原創
846 人瀏覽過

http://121.33.201.180:6005/RegMember.asmx?WSDL
这个是.net写的webservice服务端
需要调用其中InsertMember方法

$client_reg = new SoapClient("http://121.33.201.180:6005/RegMember.asmx?WSDL");$functions = $client_reg->__getFunctions();//print_r($functions);$types = $client_reg->__getTypes();//print_r($types);$client_reg->soap_defencoding = 'utf-8';$client_reg->xml_encoding = 'utf-8'; //$param_reg = array('CInsertMember' => array('Name'=>"你好",'Identity'=>"230105198311202013",'Mobile'=>"15014689527",'IsWap'=>true),'fellowID'=>$value,'sCardNum'=>"",'InsertMemberResult'=>"");$p_reg = $client_reg->__soapCall("InsertMember",array('parameters' => $param_reg));/*$param_reg = array('CInsertMember'=>'','Name'=>"你好",'Identity'=>"230105198311202013",'Mobile'=>"15014689527",'IsWap'=>True,'fellowID'=>$value,'sCardNum'=>"",'InsertMemberResult'=>"");$p_reg = $client_reg->__soapCall('InsertMember',array('parameters' => $param_reg));*/print_r($p_reg);$array1 = get_object_vars($p_reg); foreach ($array1 as $key1 => $value1) { echo $key1.": ".$value1."<br />"; }
登入後複製

正常应该有返回值
但是我的返回值为空
我现在怀疑就是由于服务端定义了一个自定义方法 我用
php服务传入参数造成
请各位大侠帮忙看看


回复讨论(解决方案)

webserviece 服务端一般以wsdl结尾的吧,看看$client_reg 有没有实例化成功。

调用都成功了 
返回
stdClass Object ( 
[InsertMemberResult] => 
[sCardNum] => 
)
 InsertMemberResult: 
sCardNum: 
正常的话 InsertMemberResult  sCardNum 应该有返回值


struct InsertMember {
 CInsertMember objCInsertMember;
 string fellowID;
 string sCardNum;
}
struct CInsertMember {
 string Name;
 string Identity;
 string Mobile;
 boolean IsWap;
}
可知 InsertMember(InsertMember $parameters)的参数应为
array(
 'objCInsertMember' => array(
    'Name' => '',
    'Identity' => '',
    'Mobile' => '',
    'IsWap' => '',
    ),
 'fellowID' => '',
 'sCardNum' => '',
)
这样的数组,你的好像不是

谢谢斑竹 解决了

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板