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; }

你可能感兴趣的:(PHP,Web,webservice,list,SOAP,电话)