引入nusoap

Service.php    //运行该文件,在网页中wsdl点击,可浏览生成的wsdl代码;网页提供注册的方法
<?php
require_once ("nusoap/nusoap.php");
$server = new nusoap_server();
// 避免乱码
$server->soap_defencoding = 'UTF-8';
$server->decode_utf8 = false;
$server->xml_encoding = 'UTF-8';
$server->configureWSDL ('names'); // 打开 wsdl 支持,参数随意
/*
注册需要被客户端访问的程序
类型对应值: bool->"xsd:boolean" string->"xsd:string"
int->"xsd:int" float->"xsd:float"
*/
$server->register ( 'name', // 方法名
array ("request" => "xsd:string" ), // 参数,默认为 "xsd:string" ,键值随意,多传入同意string
array ("response" => "xsd:string" ) ); // 返回值,默认为 "xsd:string" ,键值随意
//isset 检测变量是否设置
$HTTP_RAW_POST_DATA = isset ( $HTTP_RAW_POST_DATA ) ? $HTTP_RAW_POST_DATA : '';
//service 处理客户端输入的数据
$server->service ( $HTTP_RAW_POST_DATA );
/**
* 供调用的方法
* @param $name
*/
function name($name,$age) {
return $name+$age;
}
?> Clint.php
<?php
require_once ("nusoap/nusoap.php"); /*通过 WSDL 调用 WebService
参数 1 WSDL 文件的地址 (问号后的wsdl不能为大写)
参数 2 指定是否使用 WSDL */
//$client = new soapclient('http://localhost/nusoapService.php?wsdl',true); $client = new nusoap_client('http://localhost/test/web_service/Service.php');
$client->soap_defencoding = 'UTF-8';
$client->decode_utf8 = false;
$client->xml_encoding = 'UTF-8';
//参数转为数组形式传递
$paras = array ('10','21'); //或$paras = array ('name'=>'张三','age'=>'21'); 键值随意 输出21
//目标方法没有参数时,可省略后面的参数
$result = $client->call ('name',$paras);
//检查错误,获取返回值
if (! $err = $client->getError ()) {
echo " 返回结果: ", $result; //
} else {
echo " 调用出错: ", $err;
}
?>

浅学soap--------4的更多相关文章

  1. Web Service进阶(七)浅谈SOAP Webservice和RESTful Webservice

    浅谈SOAP Webservice和RESTful Webservice REST是一种架构风格,其核心是面向资源,REST专门针对网络应用设计和开发方式,以降低开发的复杂性,提高系统的可伸缩性.RE ...

  2. junit浅学笔记

    JUnit是一个回归测试框架(regression testing framework).Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(Wh ...

  3. 浅学JavaScript

    JavaScript是互联网上最流行的脚本语言,可广泛用于服务器.PC.笔记本电脑智能手机等设备: 对事件的反应: <!DOCTYPE html> <html> <hea ...

  4. 【接口开发】浅谈 SOAP Webserver 与 Restful Webserver 区别

    接口,强大,简单,交互,跨越平台 下面简单阐述这两大接口思想 一 REST: REST是一种架构风格,其核心是面向资源,REST专门针对网络应用设计和开发方式,以降低开发的复杂性,提高系统的可伸缩性. ...

  5. opengl 入门浅学(一)

    因为要做图形学的实验,又是要以OPENGL为基础,所以就稍微在网上查了一些资料. 我是带着目的去学习的,所以就没有打基础之类的学很深,浅尝. 今天试着搭简单框架,画出一个图形.大神请出门左转. #in ...

  6. 浅学html

    数据库web端需要了解html等语言,就初浅学习一下 <!DOCTYPE html> <html> <head> <meta charset="ut ...

  7. Python内存解析浅学

    1.内存管理 首先理解变量,和内存特性 1.       Python中无须声明变量, 2.       无须指定类型 3.       不用关心内存管理 4.       变量名会被回收 5.    ...

  8. 浅学soap--------3

    //person.wsdl 标签 <?xml version="1.0" ?> <definitions name="person" targ ...

  9. 浅学soap--------2

    使用wsdl文件: 生成wsdl <?php require('person.class.php'); // 引入生成wsdl的类文件 require('SoapDiscovery.class. ...

  10. 浅学soap--------1

    无wsdl文件: Clint.php //客户端 <?php $soap = new SoapClient(null,array('uri'=>'server','location'=&g ...

随机推荐

  1. django用户信息扩展

    Django封装了好多东西,拿来用就可以了,帮我们封装类用户的登录认证,用户的表 所以Django自带有用户表,当扩展用户表后一些表就会被替换 用户认证相关的    功能放在django.contri ...

  2. hibernate 操作 Postgresql 数据库报 operator does not exist: integer = character varying

    网上的说法如下: Java开发Postgresql 数据库兼容应用的问题,与Oracle有一些不同: Java类型映射数据库类型的不同,Oracle jdbc驱动程序处理Java String类型可正 ...

  3. 【转】Python爬虫(4)_selenium模块

    一 介绍 selenium最初是一个自动化测试工具,而爬虫中使用它主要是为了解决requests无法直接执行JavaScript代码的问题 selenium本质是通过驱动浏览器,完全模拟浏览器的操作, ...

  4. Loadrunner之脚本篇——事务函数

    1.事务的开始和结束名称需要相同 lr_start_transaction(“transaction_name”); …//事务处理 lr_end_transaction(“transaction_n ...

  5. [转载]OpenWRT使用wifidog实现强制认证的WIFI热点 | 半个橙子

    首先安装wifidog到OpenWRT的路由器: opkg update opkg install wifidog wifidog依赖下面这些模块: iptables-mod-extra iptabl ...

  6. [SCOI2013]火柴棍数字(背包)

    题目 做饭 由于越高位越好,我们先得出能组成的最高位 \(f[i][j][k]\)表示从低到高位第\(i\)位,手里拿着\(j\)根火柴,第\(i\)位是否为\(0\)所需要的最少火柴 我们转移仅需得 ...

  7. python:字典的方法

    1.查找字典中的key对应的值和key是否存在(get,has_key)dict.get(key, default = None) :返回字典中key对应的值,若key不存在字典中,则返回defaul ...

  8. 机器学习相关知识整理系列之三:Boosting算法原理,GBDT&XGBoost

    1. Boosting算法基本思路 提升方法思路:对于一个复杂的问题,将多个专家的判断进行适当的综合所得出的判断,要比任何一个专家单独判断好.每一步产生一个弱预测模型(如决策树),并加权累加到总模型中 ...

  9. Adroid真机调试

    几次想学Android,都因为启动模拟器调试时太慢而放弃. 今天终于搞通了真机调试,记录一下: 1)USB线把手机和电脑连接. 2)Adroid手机启用USB调试. 3)命令行运行 adb devic ...

  10. 用nc做网络压力测试

    测试结果:         1.数据的收发正常,没有出现丢包:         2.平均数据接发速率为:112MB/S,基本用完的千兆带宽.   测试方法:         1.通过FTP拷贝3.6G ...