PHP - 调用 webservice 接口 - php 5.4 以下
<?php
header('Content-Type:text/html; charset=utf-8');
require_once('nusoap.php');
$ip = $_REQUEST['ip'];
$func = $_REQUEST['func'];
$param = $_REQUEST['param'];
$namespace = $_REQUEST['namespace'];
$paras = json_decode(json_encode($param), true);
try{
$client = new soapclient('http://'.$ip.'/xx/Webservice?wsdl', true);
$client->soap_defencoding = 'UTF-8';
$client->decode_utf8 = false;
$client->xml_encoding = 'UTF-8';
$result = $client->call($func, $paras, $namespace);
print_r($result);
}catch(SoapFault $exception){
print_r($exception);
}
?>
需要关闭soap扩展。
nusoap下载地址
之前写了个使用soap调用webservice接口的类,放到机架上发现竟然运行不了。
原来公司的这个项目是已经运行了长达8年之久的项目,php版本还是5.2的!
所以改用nusoap调用webservice的接口。
期间还遇到了一个历史悠久的报错
Unexpected wrapper element {http://客户端.com/}funcName found. Expected {http://服务端.com/}funcName
原因是:8年前的同志把客户端命名空间给写死了 0-0
路过,支持一下
@(哈哈)