Web Services入门
WSDL教程
SOAP教程
- SOAP 介绍
- SOAP 消息语法结构
- SOAP Envelope 根元素详解
- SOAP Header 元素详解
- SOAP Body 元素详解
- SOAP Fault 元素详解
- SOAP HTTP 协议
- SOAP 简单示例
UDDI教程
相关文章
更多最近更新
更多Web Service PHP入门示例
2019-04-26 15:49|来源: 网路
Web Service 实例
任何应用程序都可拥有 Web Service 组件。
Web Service 的创建与编程语言的种类无关。
本章节我们将为大家介绍使用 PHP 的 SOAP 扩展来创建 Web Service。
SOAP有两种操作方式,NO-WSDL 与 WSDL。
NO-WSDL模式:使用参数来传递要使用的信息。
WSDL模式: 使用WSDL文件名作为参数,并从WSDL中提取服务所需的信息。
一个实例:PHP Web Service
在开始实例前,我们需要确定PHP是否安装了 SOAP 扩展。查看 phpinfo,出现以下信息表明已经安装了 SOAP 扩展:
在这个例子中,我们会使用 PHP SOAP 来创建一个简单的 Web Service。
服务端 Server.php 文件代码如下:
<?php // SiteInfo 类用于处理请求Class SiteInfo{ /** * 返回网站名称 * @return string * */ public function getName(){ return "领悟书生教程网"; } public function getUrl(){ return "www.656463.com"; }} // 创建 SoapServer 对象$s = new SoapServer(null,array("location"=> "http://localhost/soap/Server.php","uri"=>"Server.php")); // 导出 SiteInfo 类中的全部函数$s->setClass("SiteInfo"); // 处理一个SOAP请求,调用必要的功能,并发送回一个响应。$s->handle();?>
客户端 Client.php 文件代码如下:
<?phptry{ // non-wsdl方式调用web service // 创建 SoapClient 对象 $soap = new SoapClient(null,array('location'=>"http://localhost/soap/Server.php",'uri'=>'Server.php')); // 调用函数 $result1 = $soap->getName(); $result2 = $soap->__soapCall("getUrl",array()); echo $result1."<br/>"; echo $result2;} catch(SoapFault $e){ echo $e->getMessage();}catch(Exception $e){ echo $e->getMessage();}
这时我们访问 http://localhost/soap/Client.php,即可看到结果
相关问答
更多-
以下是一些可帮助您入门的链接: http://davidwalsh.name/web-service-php-mysql-xml-json http://www.ibm.com/developerworks/opensource/tutorials/os-php-webservice/ Here are some links to get you started: http://davidwalsh.name/web-service-php-mysql-xml-json http://www.ibm.com ...
-
从PHP调用Web服务(Calling a Web Service from PHP)[2022-02-11]
使用curl函数: http://php.net/manual/en/book.curl.php 假设您正在使用GET请求连接到RESTful API: $url = "http://the-api-you-want/?the-args=your-args&another-arg=another-arg"; $ch = curl_init(); // start CURL curl_setopt($ch, CURLOPT_URL, $url); // set your URL curl_setopt($c ... -
好吧,让我们忘记队列和服务器之间的通信。 客户端通过WS1(同步com)向服务器1发送请求。 服务器1中的进程写入队列。 服务器1中的进程等待队列中的答案。 此时,我担心,由于与客户端的通信是同步的,客户端应该等待。 怎么样? Thread.sleep是一个解决方案。 客户应该等多少钱? 这取决于: 服务器2中的频率过程读取队列 通过WS2到服务器1呼叫服务器的时间 服务器处理请求的时间。 服务器1中的频率过程读取队列以寻找来自服务器2的答案 所以,你可以使用一个循环: 问队列的答案 如果答案在那里,很好, ...
-
从WCF使用Web服务(Consuming Web Service from WCF)[2022-09-20]
这是通用的WCF“发生了一些不好的事”错误消息。 这不会有太大帮助。 处理办法: 确保您调用的Web服务自行运行 - 否则解决它! 通过在WCF服务中包含错误详细信息(如在错误消息中所述)启用详细错误信息( 仅在DEV环境中执行此操作!从不在生产中...) 尝试在Visual Studio中启动WCF服务并调试正在发生的事情 为了启用详细的错误报告,您需要将此部分添加到WCF服务的配置中:如果您没有安装SoapClient,那么我会推荐nuSoap 。 If you don't have SoapClient installed then I would recommend nuSoap.你研究了什么? 让我谷歌那个为你: php netbeans xdebug 第二个结果是在NetBeans IDE中调试PHP源代码 在该教程中,它链接到如何为NetBeans设置XAMPP(而不是WAMP)的教程 。 Thanks for the link provided in your comments, now it works, here is the config in the php.ini [xdebug] xdebug.remote_enable = on xdebug.remote_ha ...一个简单的例子,希望它有帮助...... $service1 = new SoapClient('https://www.agemni.com/AgemniWebservices/service1.asmx'); //here you instanciate your object with those properties $entity = new Entity(); $entity->strUsername = 'José'; $entity->strPassword = '123'; $entit ...CXF Web服务限制(CXF web service throttling)[2023-04-10]
CXF有能力开箱即用。 CXF端点可以在调用程序上配置工厂,用于获取调用的Object。 开箱即用,有一个PooledFactory可以维护一个实例池。 可以将其设置为不创建超出最大值的其他实例,从而等待释放更多实例。 这可以扼杀一些东西。 您可以通过spring配置或通过impl上的注释来配置它: @FactoryType(value=FactoryType.Type.POOLED, args={"25"}) (25是游泳池的最大尺寸) 但是,这在处理上已经很晚了。 当它到达那里时,所有的XML都已被解 ...您可以查看本教程 ,了解如何使用php开发Web服务。 正如您所提到的,.NET客户端将非常简单。 You can take a look at this tutorial showing how to develop a web service using php. The .NET client will be pretty straightforward as you mentioned.因此, 您链接的文档与指南最接近。 它没有太多的手持,但应该足以让你去 - 它甚至带有一个示例客户端脚本 。 简而言之, 默认情况下启用Web服务 ,它使用JSON RPC协议响应远程调用的HTTP请求。 您可以在Scrapy项目中启动scrapy shell后尝试将浏览器指向: http:// localhost:6080 。 您应该看到一个显示可用资源的页面: {"resources": ["enginestatus", "stats", "crawler"]} 从这一点开始,您将了解更多JSON R ...