1、到git搜索nusoap下载
2、拷贝nusoap到thinkphp的vendor目录下(这里用的是thinkphp3.2.3)
3、粘上代码
vendor("nusoap",VENDOR_PATH . "nusoap/", ".php");
$client = new \nusoap_client($wsdl,true);
$err = $client->getError();
if ($err) {
return false;
}
$client->soap_defencoding = "utf-8";
$client->decode_utf8 = false;
$client->xml_encoding = 'utf-8';
$xmlcontent = arraytoxml($message,"message");
$submit = $client->call("submit",array("message"=>$xmlcontent));
解释:
用nusoap_client这个类是为了规避系统的soap类。名字重复。
中间几处为设置编码这个webservice的参数只有一个为message 需要接收的内容为xml的内容。故如上。<pre name="code" class="php">message键为wsdl中定义的参数名称。
使用nusoap_client规避ThinkPHP中SOAP类冲突并进行XML数据调用
本文详细介绍了如何在ThinkPHP 3.2.3环境下,通过使用nusoap_client类解决与系统SOAP类的命名冲突,并成功进行XML数据的调用。主要内容包括了从Git下载nusoap库,将其放置于vendor目录下,配置客户端实例以设定编码方式,最后完成与服务端的交互。重点在于解释了如何通过设置message参数为XML内容来与WebService进行有效沟通。
2449

被折叠的 条评论
为什么被折叠?



