xywuyiba8 发表于 2017-4-13 09:57:08

php调用DotNet编写的WebService并处理相关编码转化问题

  调用代码:
  //调用WebService传入参数并获取返回的用户信息try {$client = new SoapClient("http://www.banlao.net.cn/Default.asmx?wsdl");//向SOAP服务方发送参数值$parm1 = "BanL";$parm2 = "BanL2011";//其中strCompanyName,strPassword为发送参数值在WebServic中提供所对应的字段名$param = array('strCompanyName'=>$parm1, 'strPassword'=>$parm2);//直接使用web services提供的方法$arr = $client->Login($param);//这里要注意:$arr返回的是一个stdClass类型的结构,因此不能直接被当做字符串来使用,需要转换一下$abc=$arr->LoginResult;//开始替换拆分并赋值$abc = str_replace("||", "|", $abc);list($co, $contact, $mail, $tel) = split('/|',$abc);//由于WebService中返回的是UTF-8格式的,而当前的PHP项目由于某种原因只能使用GBK编码,所以不得不进行转码(如您的PHP项目已经是UTF-8编码的则无需这一步)echo '公司名称:'.iconv("UTF-8", "GB2312", $co).'<br/>';echo '联系人:'.iconv("UTF-8", "GB2312", $contact).'<br/>';echo '邮件:'.iconv("UTF-8", "GB2312", $mail).'<br/>';echo '电话:'.iconv("UTF-8", "GB2312", $tel);}catch(SoapFault $e){print $e;}
页: [1]
查看完整版本: php调用DotNet编写的WebService并处理相关编码转化问题