使用pear::soap创建web服务的步骤
$params = array();
break;
exit;
{
}//end funtion
$quote = 10;
}
getFruit()方法提供一个二维数组,其中每个元素表示一种水果及目前库存数量。
*/
case 'orange':
header("Content-type: text/xml");
exit;
$fruitQuote = new FruitQuoteService();
public $__dispatch_map = array();
$params = array("name" => "orange");
return $quote;
}
?> public function getQuote($category)
case 'apple':
echo $disco->getWSDL();
require_once('SOAP/Client.php');
复制代码 代码如下:
$response = $client->call("getFruit", $params, $options);$this->__dispatch_map['getFruit'] = array(
array("apple", 100),
);
require_once 'SOAP/Disco.php';
?>
if (PEAR::isError($response)) {
public function FruitQuoteService()
}
$list = array(
if (isset($_SERVER['REQUEST_METHOD']) && $_SERVER['REQUEST_METHOD']=='POST')
return $list;
getQuote()方法获取水果品种,返回它的价格。
echo 'Error: ' . $response->getMessage() . "<br>\n";
public $__typedef = array();
* 优点:易于用户使用
$quote = 20;
DISCO:一项微软用来发布和发现Web服务的技术,定义了一个从给定的url获取web服务描述的简单的HTTP GET机制
$this->__dispatch_map['getQuote'] = array(<?php
if (PEAR::isError($response)) {
break;
} else {
echo 'Error: ' . $response->getMessage() . "<br>\n";
$wsdl = new SOAP_WSDL("?wsdl");
/**
$quote = 12;
复制代码 代码如下:
case 'banana':<?
break;
}//end class
print_r($response) . "\n";
array("orange", 500),
require_once("FruitQuoteService.php");
exit;
$response = $client->getFruit();
}
$server = new Soap_Server();
);
第一步:
switch ($category)
}
} else
?>
$server->service($GLOBALS['HTTP_RAW_POST_DATA']);
$options = array('namespace' => 'http://www.xxx.com',
{
{
echo $response . "\n\n";
<?
/**
复制代码 代码如下:
if (PEAR::isError($response)) {客户端代码2
{
} else {
default:
$server->addObjectMap($fruitQuote, "");
{
}
}
$response = $client->getQuote("apple");
print_r($response) . "\n";
{
$quote = 0;
<?php
* 所有的服务内容,如:命名空间、UEL, 参数名等都可以从wsdl文件获取
array("banana", 260)
$disco = new SOAP_DISCO_Server($server,'FruitQuoteService');
//print_r($client->__get_wire()); //输出 soap消息
} else {
echo 'Error: ' . $response->getMessage() . "<br>\n";
echo $disco->getDISCO();
?> $client = $wsdl->getProxy();
require_once('SOAP/Client.php');
if (isset($_SERVER['QUERY_STRING']) && strcasecmp($_SERVER['QUERY_STRING'],'wsdl')==0) {
if (PEAR::isError($response)) {
class FruitQuoteService
break;
public function getFruit()
$client = new SOAP_client("");
} else {
{
require_once("SOAP/Server.php");
"in" => array(),
} else {
echo $response . "\n\n";
}//end funtion
* 从wsdl生成一个proxy对象,这个对象包含wsdl文档中定义的所有操作的方法。
}
复制代码 代码如下:
);$response = $client->call("getQuote", $params, $options);
创建实现webservice的商业逻辑类FruitQuoteService,该类包含两个方法:
);
'category'=>'string', 'amount' => 'int'
*/
使用pear::soap创建web服务的步骤,供大家学习参考。
构造函数FruitQuoteService()定义wsdl文档中的元素;
第三步:创建web服务客户端代码
'trace' => 1); //为1表示可以通过__get_wire获取soap消息,默认是0
现在可以通过?wsdl 查看wsdl文档。
$this->__typedef['fruitStruct'] = array(第二步:创建server.php 这个程序将接收并处理客户端的请求
echo 'Error: ' . $response->getMessage() . "<br>\n";
"out" => array("quote" => "int")
相关热词:
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://v30.fanwenzhu.com/jq/jc/6555.shtml
相关文章
热门TAG
win10 ecshop 主机 阿里云 解决 配置 C# C++ 解析 SQL语句 命令 Go语言 方法 CSS3 HTML5 CSS win7 MSSQL 服务器配置 IIS7.5 IIS7 IIS6 IIS CentOS 7 Linux oracle数据库 oracle phpcms discuz discuz教程最新文章
-
PHP识别相片是否是颠倒的
时间:2020-12-28
-
python编程有哪些ide
时间:2020-12-28
-
python开发工程师是做什么
时间:2020-12-28
-
php构造函数的作用
时间:2020-12-28
-
php怎么跟数据库连接
时间:2020-12-28
-
php实现顺序线性表
时间:2020-12-28
-
Python多重继承中的菱形继
时间:2020-12-28
-
php中break的作用
时间:2020-12-28
热门文章
-
php中常用的正则表达式使用方法
时间:2020-12-25
-
asp与php区别是什么?
时间:2020-12-27
-
PHP识别相片是否是颠倒的,并且重新摆正
时间:2020-12-28
-
Yii授权之基于角色的存取控制 (RBAC)
时间:2020-12-23
-
php的一键安装包有哪些 php环境搭建
时间:2020-12-19
-
php实现对图片对称加解密(适用身份证加
时间:2020-12-25
-
php如何理解面向对象
时间:2020-12-28
-
超详细分析php docker的原理及作用
时间:2020-12-27
-
Python控制Excel实现自动化办公
时间:2020-12-23
-
session的作用是什么
时间:2020-12-25
