(1) 首先新建一个项目,导入Spring和axis包
(2) 修改web.xml文件
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<listener>
<display-name>contextConfigLocation</display-name>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<servlet>
<servlet-name>axis</servlet-name>
<servlet-class>
org.apache.axis.transport.http.AxisServlet
</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>axis</servlet-name>
<url-pattern>/ws/*</url-pattern>
</servlet-mapping>
(3) 建立applicationContext.xml
<bean id="MathBean" class="test.remote.MathServiceImpl"/>
(4) 配置一个wsdd文件,名称为server-config.wsdd,放在webRoot/WEB-INF/
<?xml version="1.0" encoding="UTF-8"?>
<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<globalConfiguration>
<parameter name="adminPassword" value="admin"/>
<parameter name="sendXsiTypes" value="true"/>
<parameter name="sendMultiRefs" value="true"/>
<parameter name="sendXMLDeclaration" value="true"/>
<parameter name="axis.sendMinimizedElements" value="true"/>
<requestFlow>
<handler type="java:org.apache.axis.handlers.JWSHandler">
<parameter name="scope" value="session"/>
</handler>
<handler type="java:org.apache.axis.handlers.JWSHandler">
<parameter name="scope" value="request"/>
<parameter name="extension" value=".jwr"/>
</handler>
</requestFlow>
</globalConfiguration>
<handler name="Authenticate" type="java:org.apache.axis.handlers.SimpleAuthenticationHandler"/>
<handler name="LocalResponder" type="java:org.apache.axis.transport.local.LocalResponder"/>
<handler name="URLMapper" type="java:org.apache.axis.handlers.http.URLMapper"/>
<!-- 需要修改的配置start -->
<service name="MathService" provider="java:RPC">
<parameter name="allowedMethods" value="*"/>
<parameter name="className" value="test.remote.JaxRpcMathService"/>
<beanMapping qname="wsdemo:MathVO" xmlns:wsdemo="urn:wsdemo" languageSpecificType="java:test.vo.MathVO"/>
</service>
<!-- 需要修改的配置end -->
<service name="AdminService" provider="java:MSG">
<parameter name="allowedMethods" value="AdminService"/>
<parameter name="enableRemoteAdmin" value="false"/>
<parameter name="className" value="org.apache.axis.utils.Admin"/>
<namespace>http://xml.apache.org/axis/wsdd/</namespace>
</service>
<service name="Version" provider="java:RPC">
<parameter name="allowedMethods" value="getVersion"/>
<parameter name="className" value="org.apache.axis.Version"/>
</service>
<transport name="http">
<requestFlow>
<handler type="URLMapper"/>
<handler type="java:org.apache.axis.handlers.http.HTTPAuthHandler"/>
</requestFlow>
</transport>
<transport name="local">
<responseFlow>
<handler type="LocalResponder"/>
</responseFlow>
</transport>
</deployment>
(5) 编写JaxRpcMathService类
public class JaxRpcMathService extends ServletEndpointSupport implements MathService {
private MathService mathService;
protected void onInit() {
this.mathService = (MathService) getWebApplicationContext().getBean(MathService.BEAN_ID);
}
public int add(int x, int y) {
return mathService.add(x,y);
}
public int subtract(int x, int y) {
return mathService.subtract(x,y);
}
public MathVO testVO(MathVO vo) {
return mathService.testVO(vo);
}
}
(6) 编写MathService接口类
public interface MathService {
String BEAN_ID = "MathBean";
public int add(int x, int y);
public int subtract(int x, int y);
public MathVO testVO(MathVO vo);
}
(7) 编写MathServiceImpl实现类
public class MathServiceImpl implements MathService{
public int add(int x, int y) {
return x+y;
}
public int subtract(int x, int y) {
return x-y;
}
public MathVO testVO(MathVO vo) {
System.out.println(vo.toString());
return vo;
}
}
(8) 客户端代码生成
通过eclipse打开
Open Run Dialog
在main class中填入
org.apache.axis.wsdl.WSDL2Java
在arguments中填入参数
-p src.com.test.vo http://localhost:8080/wsdemo1/ws/MathService?WSDL
启动tomcat,然后点击run生成代码
(9) 代码生成完毕后编写客户端调用TestMathService类
public class TestMathService {
public static void main(String[] args) {
JaxRpcMathServiceService service = new JaxRpcMathServiceServiceLocator();
JaxRpcMathService client = service.getMathService();
System.out.println(client.add(1, 2));
}
}
分享到:
相关推荐
### 建立一个 WebService 工程 在软件开发领域中,WebService 是一种重要的技术手段,用于实现不同系统间的通信。本文将详细介绍如何利用 MyEclipse 6.5 创建 WebService 工程,包括其配置与部署的过程。 #### 一...
下面将详细讲解如何使用MyEclipse创建一个WebService项目服务端,以及涉及的关键知识点。 首先,创建一个新项目是第一步。在MyEclipse中,选择"File" -> "New" -> "Dynamic Web Project",输入项目名称并设置相关...
在本例中,我们将探讨如何使用C#在Visual Studio 2012中创建和调用一个Web服务。以下是一个详细的过程: 1. **创建Web服务**: - 首先,打开Visual Studio 2012并选择"新建项目"。 - 选择"ASP.NET Web应用程序...
本示例包含2个项目,一个为WebService,另一个是普通ASP.net网站.WebService已经配置好,下载后需要在本机的IIS中建立一虚拟路径,指向WebService的项目,名称要是Services,否则需要在Asp.net网站重新配置WebSercice.
要建立一个 Webservice 实例,首先需要创建一个新的 Web 服务项目。在 MyEclipse 中,选择 File -> New -> Project -> Web Service Project,並输入项目名称 hello。然后,在新的工程 hello 上右键,选择 New -> ...
描述中提到的"提供一個WebService通用幫助類",意味着这个帮助类是一个预先设计好的类库,它封装了与WebService交互的各种操作,如发送请求、解析响应等。开发者可以利用这个帮助类,无需深入了解SOAP(Simple ...
在实现这个服务时,首先需要建立一个服务器端的处理程序,它可以是一个Java Servlet、ASP.NET Web API、Python Flask应用或者其他支持HTTP请求处理的技术。这个处理程序会接收客户端的请求,解析请求参数,然后连接...
在服务器端,我们首先需要在开发环境中(本例使用MyEclipse)创建一个新的WebService项目。这一步骤主要涉及项目结构的搭建,包括项目名称的设定以及项目类型的指定。接下来,需要在项目中编写一个具体的类,例如`...
【XFire建立Webservice实例详解】对于初学者来说,理解并构建一个Web Service是一个重要的学习步骤,而XFire作为一款曾经流行的开源框架,提供了一种简单的方法来创建和部署Web Service。本文将详细介绍如何利用...
为了将这些方法封装到一个WebService中,我们需要创建一个新的ASMX或WCF服务项目,在其中定义服务接口和服务实现。对于ASMX,服务接口通常定义在`.asmx.cs`文件中,而对于WCF,接口和实现通常分别定义在`.svc.cs`和`...
创建WebService项目 - 打开MyEclipse 2014,选择“File”->“New”->“Other”,在弹出的窗口中选择“WebService Project”。 - 连续点击“Next”三次,直到出现“JAX-WS Library”界面。 - 在“JAX-WS Library”...
首先,打开Delphi IDE,并创建一个新的DLL WebService项目。完成项目创建后,将该项目部署到IIS中运行。 当创建完项目后,会弹出提示询问是否自动创建接口单元。选择“是”(Yes),Delphi将自动生成接口单元。接下来...
【WebServiceClient】是一个用于调用Web服务的客户端应用程序示例,它包含了代码实现和相关文档。Web服务是一种基于网络的软件应用,通过标准的XML(可扩展标记语言)进行通信,使得不同系统间的交互变得更加简单和...
- `ExpenseWebService`接口展示了如何定义一个简单的WebService接口,包含一个获取预算项目的`getItemsString`方法。 - `ExpenseWebServiceImpl`类实现了`ExpenseWebService`接口,提供了具体的业务逻辑。在实际...
首先,创建一个新的ASP.NET Web应用程序项目,然后添加一个ASMX文件,这将是我们的Web Service接口。在ASMX文件中,我们可以定义公共方法,这些方法会被自动暴露为Web服务操作。 2. 定义Web Service方法: 例如,...
在本例中,我们使用Eclipse(J2EE版本)创建了一个Java项目,并将下载的WSDL文件拷贝到项目中,然后生成了客户端代理类。 EASLogin 在调用WebService之前,开发者需要通过EASLogin Web服务登录,否则会产生认证...
1. 创建WebService:使用ASP.NET或Java等技术,在服务器端创建一个WebService接口,该接口将处理来自Android客户端的请求,如HTTP POST或GET请求。接口应包括对数据库的基本操作,如SELECT、INSERT、UPDATE和DELETE...
在本案例中,“WebService远程访问SQLServer数据库源码”是一个实现了利用WebService来远程操作SQL Server数据库的应用。这种方式通常用于跨平台、跨语言的系统集成,使得应用程序能够通过HTTP协议调用远程数据库...
UDDI(Universal Description, Discovery, and Integration)是一个主要针对WebService供应商和使用者的新项目。在用户能够调用WebService之前,必须确定这个服务内包含哪些商务方法,找到被调用的接口定义,还要在...
在提供的PB_WEBSERVICE_DEMO压缩包中,你可能会找到一个示例项目,包含了完整的Web Service开发流程,包括创建、调用、测试和部署的各个阶段。通过分析和运行这个示例,你将更深入地理解PowerBuilder 12.5开发Web ...