在网上找了很多制作PHP的Web Service的例子,但是都不太全面。以下是我的php制作过程。
1. 首先制作提供WebService的php页面。
//myservice.php
<?php
class service
{
public function HelloWorld()
{
return ”Hello”;
}
public function Add($a,$b)
{
return $a+$b;
}
}
//TestSoap.wsd需要在后面采用Zend Studio生成。
$server=new SoapServer(‘TestSoap.wsdl’,array(’soap_version’ => SOAP_1_2));
$server->setClass(“service”);
$server->handle();
?>
2.生成WSDL文件。采用Zend Studio生成。
生成过程:选择菜单File–>Export–>PHP->WSDL FILE
也就是出现下面的图
选择 next ,出现如下WSDL选择画面
File Name:选择需要生成的WSDL文件存储文件名和路径
Exported file 选择学要前面写的myservice.php文件,可以添加多个。
Classes:选择需要制作WebService的文件,注意:URL:一定要写上myservice.php的 URL.如果提供服务的是其他php页面,那就换成其他的php服务页面。
Global Settings:如下图所示:
选择Finish,生成WSDL文件,下面是Zend Studio里的效果图
3.客户端调用该Web Service
//Client.php
<?php
$a=new SoapClient(“TestSoap.wsdl”);
echo $a->HelloWorld();
echo(“<br />”);
echo $a->Add(1,2);
?>
到此为止,一个简单的Php WebService制作完成。
扩展:如何用WebService实现数据库的GRUD操作,后续发布。
补充:
TestSoap.wsdl文件到底是什么
<?xml version=’1.0′ encoding=’UTF-8′?>
<!– WSDL file generated by Zend Studio. –>
<definitions name=”TestSoap” targetNamespace=”urn:TestSoap” xmlns:typens=”urn:TestSoap” 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=”a”/>
<part name=”b”/>
</message>
<message name=”AddResponse”>
<part name=”AddReturn”/>
</message>
<message name=”HelloWorld”/>
<message name=”HelloWorldResponse”>
<part name=”HelloWorldReturn”/>
</message>
<message name=”Sub”>
<part name=”a”/>
</message>
<message name=”SubResponse”>
<part name=”SubReturn”/>
</message>
<portType name=”servicePortType”>
<operation name=”Add”>
<input message=”typens:Add”/>
<output message=”typens:AddResponse”/>
</operation>
<operation name=”HelloWorld”>
<input message=”typens:HelloWorld”/>
<output message=”typens:HelloWorldResponse”/>
</operation>
<operation name=”Sub”>
<input message=”typens:Sub”/>
<output message=”typens:SubResponse”/>
</operation>
</portType>
<binding name=”serviceBinding” type=”typens:servicePortType”>
<soap:binding style=”rpc” transport=”http://schemas.xmlsoap.org/soap/http”/>
<operation name=”Add”>
<soap:operation soapAction=”urn:serviceAction”/>
<input>
<soap:body namespace=”urn:TestSoap” use=”literal”/>
</input>
<output>
<soap:body namespace=”urn:TestSoap” use=”literal”/>
</output>
</operation>
<operation name=”HelloWorld”>
<soap:operation soapAction=”urn:serviceAction”/>
<input>
<soap:body namespace=”urn:TestSoap” use=”literal”/>
</input>
<output>
<soap:body namespace=”urn:TestSoap” use=”literal”/>
</output>
</operation>
<operation name=”Sub”>
<soap:operation soapAction=”urn:serviceAction”/>
<input>
<soap:body namespace=”urn:TestSoap” use=”literal”/>
</input>
<output>
<soap:body namespace=”urn:TestSoap” use=”literal”/>
</output>
</operation>
</binding>
<service name=”TestSoapService”>
<port name=”servicePort” binding=”typens:serviceBinding”>
<soap:address location=”http://localhost/test/soap/myservice.php”/>
</port>
</service>
</definitions>
但是我发觉他和.net 产生的WSDL不一样。而且通过这种方式有一个弊端,如果我的Service里添加了一个新的方法,需要在重新生成WSDL文件,
而且还经常出错误。但是如果采用Zend WSDL编辑器产生的WSDL感觉更标准写,而且他相对于目前这样的方法不需要删除WSDL重新建,只需要编辑目前已有的。
- 大小: 30.6 KB
- 大小: 47.7 KB
- 大小: 31.2 KB
- 大小: 41.4 KB
分享到:
相关推荐
问题在于,WSDL文件生成时,默认路径是基于Zend Studio的工作目录,而不是实际服务器路径。因此,需要更新`location`为服务器上Web Service的实际URL。 8. **解决方法**:修改WSDL文件,将`location`的值更改为...
在Eclipse集成开发环境中,我们可以使用"Web Service Explorer"或"New Web Service Client"向导来根据WSDL文件生成客户端代码。以下是步骤: 1. **导入WSDL文件**:在Eclipse中,选择“File” > “Import” > “Web...
随着WebService技术的普及,Eclipse也提供了相应的支持,允许开发者通过wsdl文件生成Java客户端。本文将详细介绍如何在Eclipse中使用wsdl文件生成Java客户端。 首先,让我们了解什么是wsdl文件。Wsdl(Web Services...
### SoapUI测试工具WSDL文件生成方法 #### 一、前言 在软件测试领域,SoapUI是一款非常流行的API测试工具,它支持多种协议(如SOAP、REST等),能够帮助测试人员快速创建测试案例,执行功能性和回归性测试。本文将...
通过以上步骤,你不仅可以了解如何在Eclipse中根据WSDL文件自动生成WebService客户端,还可以深入理解WSDL在Web服务中的作用,以及如何在实际开发中利用这些工具。这是一项基础但至关重要的技能,对于任何涉及分布式...
### 如何在Zend Studio 9中使用WSDL插件生成WSDL文件 #### 一、引言 在PHP开发中,使用SOAP协议实现Web服务时,通常需要一个WSDL(Web Services Description Language)文件来描述服务接口。手动编写WSDL文件不仅...
4. **WSDL生成工具**:这类工具可以帮助开发者自动化创建WSDL文件,节省手动编写XML的时间和错误风险。它可以自定义服务元数据,例如添加自定义的绑定、端点、操作等,适应特定的集成需求。 5. **BuildWsdl.sln**:...
标题中的"Axis2接口生成WSDL工具"正是 Axis2 的一个重要特性,它允许开发者通过Java接口自动生成描述Web服务的WSDL(Web Services Description Language)文件。 **1. Axis2 简介** Apache Axis2是Apache SOAP项目...
本文将详细介绍如何使用Eclipse WTP工具创建WSDL文件以及相关步骤。 1. **新建WSDL文件**:首先,你需要在Eclipse集成开发环境中安装Web Tools Platform (WTP) 插件,它提供了对Web服务开发的支持。启动Eclipse,...
Eclipse WSDL创建通常涉及在Eclipse开发环境中创建和编辑WSDL文件的过程。 在上述内容中,我们了解到创建Eclipse WSDL的基本步骤: 1. 首先,在Eclipse中,通过点击工具栏上的新增按钮,选择“Others”选项。这...
在开发基于Web服务的Java应用程序时,经常需要从WSDL(Web Service ...以上就是使用Eclipse从WSDL文件生成Java客户端的详细步骤和相关的IT知识点。通过这个过程,开发者可以轻松地在Java应用中集成和调用远程Web服务。
8. **生成WSDL文件**:完成上述步骤后,Axis2会自动创建一个WSDL文件,该文件描述了Web服务的接口和消息格式。WSDL文件通常位于服务aar包的META-INF目录下,可以通过Axis2管理界面查看和下载。 9. **发布服务**:将...
MyEclipse作为一款强大的Java集成开发环境,提供了根据WSDL(Web Service Description Language)文件生成Web服务端的功能。本文将深入探讨如何利用MyEclipse实现这一过程,并结合相关源码和工具进行详细讲解。 ...
总结,配置SOAP服务器和生成WSDL文件涉及多个步骤,包括定义服务、创建WSDL、编写批处理命令以及管理依赖库。理解这些步骤可以帮助开发者更有效地构建和维护Web服务,提高开发效率。通过使用合适的工具和命令,可以...
eclipse 根据 wsdl 文件生成 webservice 客户端 eclipse 是一个功能强大且灵活的集成开发环境(IDE),它提供了许多插件和工具来帮助开发者快速开发和测试应用程序。其中一个重要的应用场景是使用 wsdl 文件生成 ...
WSDL.exe是微软提供的用于从WSDL文件生成客户端代理类的工具,一般位于Visual Studio的安装目录下。 2. **配置外部工具**: - 打开Visual Studio,选择“工具”>“外部工具”来打开外部工具对话框。 - 单击“添加...
本教程将聚焦于如何使用Eclipse 3.x版本从WSDL文件快速生成Java客户端代码,这对于开发者来说是一项重要的技能,因为它能大大简化与Web服务交互的过程。 首先,我们需要理解WSDL文件的作用。WSDL描述了服务的接口,...
在本话题中,我们将深入探讨如何利用WSDL文件生成Java代码,以便于开发和调用WebService。 WSDL文件是WebService的核心,它定义了服务的接口、消息格式、操作和地址等信息。WSDL是XML格式的,可以被工具解析并生成...
- 生成WSDL文件后,将其部署到服务器上,客户端可以根据WSDL文件创建代理类并调用服务。使用工具如SOAP UI可以方便地测试WSDL定义的服务。 在给定的资源"在工程中手动配置webservice-service-tomcat启动.xlsx"中,...