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

返回文章列表 打赏
本页链接的二维码
打赏二维码
期待你的评论

2 条评论
  1. 八角网赚站 青铜   八角网赚站  

    路过,支持一下

    1. 小尾巴 王者   小尾巴   博主
      @ 八角网赚站

      @(哈哈)