×

php调用webservice

php调用webservice(php调用webservice接口函数)

admin admin 发表于2023-03-13 09:34:08 浏览53 评论0

抢沙发发表评论

本文目录一览:

php webservice 调用错误出现 Fault occurred while processing

本地调用接口的时候的参数中有很多参数是空的,将这些参数替换为空字符串 ""再试试,说不准就好了。

对于我这个方法的问题追踪最终的产生原因 ,是webservice服务端的处理中没有空从参数进行处理,也就是说这是服务端的问题,客户端可以使用替换null为空字符串的方法进行解决。

php调用sap和.net的webservices接口

php连接sapwebservices接口

public function getwebservice($param){

  $user = 'username';

  $password = 'password';

  $wsdl = '*****';   /*wsdl地址*/

$SOAP_CONFIG = array(

          'login' = $user,

        'password' = $password,

          'trace' =true,

          'soap_version'=SOAP_1_2,

          'connection_timeout' = 50,

          'encoding' = 'UTF-8',

          'cache_wsdl' = WSDL_CACHE_NONE,

          'keep_alive' = false

          );

        try {

                $client = new \SoapClient($wsdl, $SOAP_CONFIG); //调用sap里的接口

                /* $param= array(

                        '参数1'    =    '1',

                        '参数2'    = '2',

                        '参数3'    =  '3',

                        '参数4'    =    '4');*/

                $ve=$client-__call("ZSdSoInfo", array($param));

              return $ve;

    } catch (Exception $e) {

                  print $e-getMessage();

      }

}

php链接.net接口

$ws = "http://*****?wsdl";//webservice服务的地址

    $client = new SoapClient ($ws);

    $result=$client-kelOtp(array('参数1'=参数1,'参数2'=参数2);

    $a= $result-kelOtpResult;/

php 中 webservice 是如何使用的 调用别人的接口 参数是如何传递的

php调用web service还是非常简单的。下面用一个例子说明:

web service服务是查询QQ用户是否在线

使用php5开发客户端:

?php

try {

//$client = new SoapClient("HelloService.wsdl",array('encoding'='UTF-8'));

$client = new SoapClient("webservices/qqOnlineWebService.asmx?wsdl");

var_dump($client-__getFunctions());

print("");

var_dump($client-__getTypes());

print("");

class qqCheckOnline{

var $qqCode = "10000";

};

$arrPara = array(new qqCheckOnline);

$arrResult = $client-__Call("qqCheckOnline",$arrPara);//$client-qqCheckOnline($arrPara);

echo $arrResult-qqCheckOnlineResult . "";

} catch (SOAPFault $e) {

print $e;

}

?

代码确实很简单吧,创建SoapClient对象时,可以使用保存在本地WSDL文件,也可以使用远程的地址,后面的array数组里可以带上很多的参数,具体参数可以查php的SoapClient帮助,这里带的是字符集编码,如果调用方法的参数里有中文,一定要指定字符集编码,否则会出错。-php调用webservice

用web service前可以先调用SoapClient的__geunctions()和__getTypes()方法看一下你要调用的

web service暴露的方法,参数和数据类型,需要注意的是传入的参数名一定要和soapclient里面定义的一致,否则参数是传不过去的。

需要使用SoapClient的__soapCall()或__call()方法,具体使用方法可以查php的帮助文档。如果参数要求是一个结构体,请用类代替,如上面的代码。

另外发现个问题,如果web service方法返回的是xml格式的字符串,php接收到以后会自己把数据内容解析出来,而不是xml字符串.

php怎样通过SoapClient调用webservice接口

?php

header ( "Content-Type: text/html; charset=gb2312" );

/*

* 指定WebService路径并初始化一个WebService客户端

*/

$ws = "";//webservice服务的地址

$client = new SoapClient ($ws);

/*

* 获取SoapClient对象引用的服务所提供的所有方法

*/

echo ("SOAP服务器提供的开放函数:");

echo ('pre');

var_dump ( $client-__getFunctions () );//获取服务器上提供的方法

echo ('/pre');

echo ("SOAP服务器提供的Type:");

echo ('pre');

var_dump ( $client-__getTypes () );//获取服务器上数据类型

echo ('/pre');

echo ("执行GetGUIDNode的结果:");

$result=$client-getWeather(array('CityName'='zhengzhou','CountryName'='china'));//查询中国郑州的天气,返回的是一个结构体-php调用webservice

echo $result-GetWeatherResult;//显示结果

?