php soap 实例
Server端+Client端+WSDL
声明:很简单!!!!!!
参考了如下:
http://blog.csdn.net/phphot/archive/
先建Server,然后使用wsdl工具来生成wsdl,我用的是zend development environment,
在zde中的tools中的wsdl generator wizard
第一页是名字,和输出地址(输出后直接挪过去就OK)
第二页是类和地址,类挑上勾,URL那里添server那个文件的地址
第三页 finish
别忘了拷那个wsdl过去...
记得server引用的那个类文件里不要有输出.
一共有两个需要添地址的地方
一个是wsdl中的描述http://127.0.0.1/test/CulculatorServer.php
一个是client中的连接http://127.0.0.1/test/Culculator.wsd
类文件
<?php
/**
* @name Culculator.php
* @date Fri Jan 25 12:43:40 CST 2008
* @copyright 马永占(MyZ)
* @author 马永占(MyZ)
* @link http://blog.csdn.net/mayongzhan/
*/
class Culculator
{
/**
* 求和
*
* @param float $x
* @param float $y
* @return float
*/
public function add($x, $y)
{
return $x + $y;
}
}
?>
Server
<?php
/**
* @name CulculatorServer.php
* @date Fri Jan 25 12:44:04 CST 2008
* @copyright 马永占(MyZ)
* @author 马永占(MyZ)
* @link http://blog.csdn.net/mayongzhan/
*/
include(''./Culculator.php'');
$server = new SoapServer(''./Culculator.wsdl'');
$server->setClass(''Culculator'');
$server->handle();
?>
Client
<?php
/**
* @name CulculatorClient.php
* @date Fri Jan 25 12:43:54 CST 2008
* @copyright 马永占(MyZ)
* @author 马永占(MyZ)
* @link http://blog.csdn.net/mayongzhan/
*/
$soap = new SoapClient(''http://127.0.0.1/test/Culculator.wsdl'');
echo $soap->add(1, 2);
?>
WSDL
<?xml version=''1.0'' encoding=''UTF-8''?>
<!-- WSDL file generated by Zend Studio. -->
<definitions name="math" targetNamespace="urn:math" xmlns:typens="urn:math" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/">
<message name="add">
<part name="x" type="xsd:float"/>
<part name="y" type="xsd:float"/>
</message>
<message name="addResponse">
<part name="addReturn" type="xsd:float"/>
</message>
<portType name="CulculatorPortType">
<operation name="add">
<documentation>
求和
</documentation>
<input message="typens:add"/>
<output message="typens:addResponse"/>
</operation>
</portType>
<binding name="CulculatorBinding" type="typens:CulculatorPortType">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="add">
<soap:operation soapAction="urn:CulculatorAction"/>
<input>
<soap:body namespace="urn:math" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</input>
<output>
<soap:body namespace="urn:math" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</output>
</operation>
</binding>
<service name="mathService">
<port name="CulculatorPort" binding="typens:CulculatorBinding">
<soap:address location="http://127.0.0.1/test/CulculatorServer.php"/>
</port>
</service>
</definitions>
补充:Php教程,Php常用代码
上一个:PHP PDO 学习笔记
下一个:php soap 实例 不使用wsdl
- 更多php疑问解答:
- php使用imagick将image图片转化为字符串模式
- php通过gd实现图片图片转换为字符图代码
- PHP把图片转base64代码,php把base64代码转换为图片并保存
- PHP把图片base64转换成图片并保存成文件
- wordpress问题<?php if(have_posts()) : ?>
- 建设一个搜索类网站php还是jsp,数据库那个好
- 没理由啊 php代码无法执行,貌似有语法错误。。。
- 关于PHP 和API 的一段代码不懂啊不懂,请高手指点! 这是淘宝API的
- php语言中,序列化到底在那里使用?它的优势是什么?劣势是什么?
- PHP函数等于或等于应该怎么表达
- 请教php高手,解决basename函数和mb_substr函数处理中文文件名称的解决方法,在上传文件时,总是出现乱码
- .NET,PHP,JAVA,JS优秀点分别是?
- 织梦cms 在环境监测的时候 wamp5 gd不支持 是为什么。;extension=php_gd2.dll这一句我删除了还是不显示?
- 我想学PHP。1.应安装什么编程工具? 2. 装LIUNX系统是装简易的还是?什么版本的?3.还应安装什么?
- <?php 和 <? 有什么区别