php soap扩展开启与__soapCall使用问题

例子

<?php

try {

      $client = new SoapClient("http://localhost:8080/Webtest/NewService?wsdl");

 

//    $result = $client->__soapCall("operation",array(4));//fault

//    $result = $client->__soapCall("operation",array("id"=>4));//fault

//    $result = $client->operation(4);//fault

    $result = $client->operation(array("id"=>4));//OK

 

    $back = json_encode($result);

    echo $back;

} catch (SoapFault $fault){

    echo "Error: ",$fault->faultcode,", string: ",$fault->faultstring;

}
?>
//仅有标记为OK的那行可以成功返回数字4,其它返回的都是数字0(参数应该是没有传过去,服务器端id初始是0)。

//手册里soapcall的例子:

<?php

$client = new SoapClient("some.wsdl");

$client->SomeFunction($a, $b, $c);

 

$client->__soapCall("SomeFunction", array($a, $b, $c));

$client->__soapCall("SomeFunction", array($a, $b, $c), NULL,

new SoapHeader(), $output_headers);

 

 

$client = new SoapClient(null, array('location' => "http://localhost/soap.php",

'uri' => "http://test-uri/"));

$client->SomeFunction($a, $b, $c);

$client->__soapCall("SomeFunction", array($a, $b, $c));

$client->__soapCall("SomeFunction", array($a, $b, $c),

array('soapaction' => 'some_action',

'uri' => 'some_uri'));

?>

时间: 2024-08-04 09:07:37

php soap扩展开启与__soapCall使用问题的相关文章

利用PHP SOAP扩展实现简单Web Services

WebServices能干什么?   WebServices 可以将应用程序转换为网络应用程序.   通过使用 WebServices,您的应用程序可以向全世界发布信息,或提供某项功能.       好了,关于WebServices网上资料很多,就不过多介绍了,直接进入主题.   PHP有两个扩展类库可以实现WebServices,一个是NuSoap,一个是php官方自带的Soap扩展,在使用上大致都差不多,就拿官方自带的Soap扩展来说吧.   在Soap编写WebServices中主要用到了

WebService开发(二) 如何使用Soap扩展

SOAP Extension(SOAP扩展)可以封装可重用的功能.比如上一篇讲的通过Soap Header进行服务的访问控制.这篇随笔里我 们要利用SOAP扩展做一下对利用Soap Header校验用户身份的封装和解决网友提出的明文传输身份信息不安全的问题. 首先,介绍一下几个相关的类.System.Web.Services.Protocols名称空间下SoapExtension,SoapExtensionAttribute是两 个抽象类,不能够实例化,我们要做的事情就是分别继承这两个抽象类,实

php 用自带soap扩展调用webservice。老是报错cannot load from。。

问题描述 php 用自带soap扩展调用webservice.老是报错cannot load from.. 我用的wamp2.5集成环境,php里面的soap扩展也都打开了.却一直无法成功调用webservice,总是报cannot load from的错误. 刚刚卸载了wamp2.5.装了一个wamp2.4,还是不成功,后来又重新安装了wamp2.5,重启了一下电脑,突然就能调用webservic 了.太郁闷了,有大神遇到过同样的问题么. 解决方案 灵异事件经常会碰到,原因神马的已经不重要了,

PHP使用SOAP扩展实现WebService的方法_php技巧

本文实例讲述了PHP使用SOAP扩展实现WebService的方法.分享给大家供大家参考,具体如下: 最近在一个PHP项目中对接外部接口涉及到WebService,搜索引擎上相关文章不是很多,找到的大都是引用一个号称很强大的开源软件NuSOAP(下载地址:http://sourceforge.net/projects/nusoap/),即一些类.文章写描述的环境是PHP 4.3,现在都流行PHP 5.2或PHP 5.3了.先拿来试试,运行出错,原来NuSOAP提供的soapclient类与PHP

WDCP面板基于PHP5.3/5.4/5.5安装soap扩展步骤

第一.安装.升级且确定PHP版本 如果我们采用的是WDCP默认版本,官方默认包是PHP5.2,一般我们肯定是需要升级PHP版本的,毕竟PHP5.2的处理信息能力还是比较慢的,虽然不要求我们升级到PHP7,毕竟支持7版本的程序兼容性还需要一段时间. 这里如果我们需要升级WDCP面板PHP环境,可以参考的文章: 鉴于这位网友的实际环境,我在本地测试机中安装默认WDCP面板之后,升级至PHP5.3.17版本. wget http://soft.itbulu.com/wdcp/php_up53.sh s

解决PHP中eAccelerator扩展开启open_basedir报错

eAccelerator扩展开启open_basedir报错 如果你在使用php加速扩展eAccelerator时发现开启open_basedir配置项目后程序页面或者PHP错误日志会提示. open_basedir restriction. in Unknown on line 0 出现这个问题的原因是一般eAccelerator的缓存文件不在你配置的open_basedir目录之中,而eAccelerator也傻乎乎的遵守了open_basedir的设定. 在网上转了一圈发现了两种解决这个问

开启CURL扩展,让服务器支持PHP curl函数(远程采集)

curl().file_get_contents().snoopy.class.php这三个远程页面抓取或采集中用到的工具,默迹还是侵向于用snoopy.class.php,因为他效率比较高且不需要服务器特定配置支持,在普通虚拟主机中即可使用,file_get_contents()效率稍低些,常用失败的情况.curl()效率挺高的,支持多线程,不过需要开启下curl扩展.下面是curl扩展开启的步骤: 1.将PHP文件夹下的三个文件php_curl.dll,libeay32.dll,ssleay

开启CURL扩展,让服务器支持PHP curl函数(远程采集)_php技巧

curl().file_get_contents().snoopy.class.php这三个远程页面抓取或采集中用到的工具,默迹还是侵向于用snoopy.class.php,因为他效率比较高且不需要服务器特定配置支持,在普通虚拟主机中即可使用,file_get_contents()效率稍低些,常用失败的情况.curl()效率挺高的,支持多线程,不过需要开启下curl扩展.下面是curl扩展开启的步骤: 1.将PHP文件夹下的三个文件php_curl.dll,libeay32.dll,ssleay

SOAP webservice接口

PHP 中,在 php.ini 文件中开启了 php_soap.dll 扩展后,就可以支持 SOAP 了. 在soap扩展库中,主要包括三种对象. 1.SoapServer     用于创建php服务器端页面时定义可被调用的函数及返回响应数据.创建一个SoapServer对象的语法格式如下:     $soap = new SoapServer($wsdl, $array);     其中,$wsdl为shoap使用得wsdl文件,wsdl 是描述 Web Service的一种标准格式,若将$w