基于AXIS的Java Web Service的研究与实现
- 格式:pdf
- 大小:339.82 KB
- 文档页数:3


java webservice几种调用方式Java Web Service是一种流行的技术,用于通过网络在不同系统之间实现通讯和集成。
在Java中,有多种方式可以调用Web Service。
下面将介绍几种常用的调用方式。
1.使用SOAP(Simple Object Access Protocol)协议SOAP是一种基于XML的通讯协议,可以在网络上使用HTTP、SMTP等协议发送和接收消息。
在Java中,可以使用SOAP协议调用Web Service。
SOAP使用WSDL(Web Services Description Language)来描述Web Service的接口和功能。
可以使用轻量级的SOAP框架Apache CXF或Metro来创建和调用SOAP Web Service。
调用方式主要包括以下几步:-创建一个Java类来表示Web Service的接口,并使用注解来定义接口的操作。
-使用工具,如Apache CXF或Metro,将该类生成WSDL文档。
-使用WSDL文档生成客户端代码,以便在调用Web Service时使用。
-创建一个客户端程序,通过调用生成的客户端代码来调用Web Service的方法。
2.使用JAX-WS(Java API for XML Web Services)标准JAX-WS是一种Java的Web Service规范,它提供了一种简单的方式来创建和调用Web Service。
JAX-WS提供了注解,用于将Java类转换为Web Service,并且可以使用Java的代理类来调用Web Service 的方法。
调用方式包括以下几步:-创建一个Java类,并用@WebService注解来标记它作为一个Web Service的实现。
-在该类中定义Web Service的操作,并使用@WebMethod注解来标记这些方法。
-使用工具,如JDK的wsimport命令或Eclipse的WebService工具来生成客户端代码。
WebService接口说明文档文档说明本文档主要讲述如何用C Sharp创建一个简单的Web Service接口,并使用Java调用这个Web Service接口。
准备工作系统环境:安装JDK1.6或更新版本开发工具:Microsoft Visual Studio 2012、MyEclipse 10.5、axis2-1.6.2C Sharp服务端1.首先,创建一个Web Service项目。
依次点击:文件—新建—项目,在弹出的新建项目窗口中选择Web下的 空 Web 应用程序。
如下图:2.接下来我们需要创建我们的Web Service接口实现文件。
鼠标右击我们的项目,依次点击:添加—新建项,在弹出窗口中选择Web 服务。
可修改新建项的文件名,注意文件名后缀后.asmx。
如下图:新建完成后我们的项目结构如下:3.打开我们新建的MyService.asmx下的MyService.asmx.cs文件,可以看到其中已经有默认的HelloWorld方法。
我们可以直接运行查看下运行的效果,效果如下图:点击HelloWorld,再点击调用可以看到页面返回:4.接下来我们完善我们的Web Service接口功能。
主要对Web Service接口进行参数类型的测试,文本型、布尔型、数值型、类(Class)等。
新增Add()等运算方法:新增strcat()连接字符串方法:新增GetBool()返回布尔值方法:新增GetTest()返回测试类,并新增Test类运行我们的项目,可以看到我们的结果如下图:点击add方法测试:输入add的参数i和j点击调用按钮,可以看到返回计算结果:5.到此为止我们C Sharp创建的Web Service程序完成。
接下来看Java如何调用我们的Web Service接口。
Java调用Web Service准备对于一个Web Service接口我们当前只知道访问的地址,我们如何用Java去访问接口呢?已知Web Service接口地址:http://localhost:11766/MyService.asmx?WSDLJava调用Web Service的方式有以下1.使用HttpClient2.使用Xfire3.使用axis2本文档示例选择的是axis2,首先到axis2网站下载axis2,网址:/axis2/java/core/download.cgi当前最新版本1.6.2。
一、web sevices服务端axis2框架下基于rampart安全认证实例:1、下载axis2.war包;rampart-bin的压缩包(此处注意axis2的版本与jdk、tomcat 版本的兼容性问题)2、解压axis2压缩包3、搭建web项目datatransmission;将lib下的jar包导入到项目中;复制axis2-web目录到项目根目录;将WEB-INF下的conf、modules、services目录复制到项目根目录的WEB-INF下;再在刚刚考入的services目录下新建任意文件夹(例webs);再在刚刚新建的文件夹webs下新建META-INF文件目录;再在META-INF文件目录下新建services.xml文件;4、services.xml文件内容如下<?xml version="1.0"encoding="UTF-8"?><serviceGroup><service name="BusinessService"><description>test rampart service</description><operation name="getCurData"><messageReceiverclass="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/></operation><operation name="rampartMethod"><messageReceiverclass="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/></operation><parameter name="ServiceClass"locked="false">com.service.BusinessService</parameter><module ref="rampart"/><parameter name="InflowSecurity"><action><items>UsernameToken</items><passwordCallbackClass>com.rampart.WsServiceAuthHandler</passwordCallbackCl ass></action></parameter></service></serviceGroup>注:这里service暴露两个方法rampartMethod 及getCurData 供客户的访问调用;如果服务端的某些方法不想被访问可设为私有或放在其他的包下面;(同时axis2暂不支持list等集合方法【这里有些模糊,大家可以尝试下】)5、解压rampart-1.4.zip将lib目录下的jar包导入到项目中;将modules下的文件考入到项目根目录下modules文件目录中。