axis2实现Webservice独立部署简单案例
2015-01-15 10:05
295 查看
首先需要从官网下载两个压缩包,一个是axis2-1.6.2-war.zip,一个是axis2-1.6.2-bin.zip。 其中第一个zip中有tomcat服务器需要的支持类jar包,我们把其中的axis2.war放在tomcat目录的webapps下,浏览器http://localhost:端口号/axis2/测试通过。下面我们开始进入代码。
1, 新建JavaWeb工程,导入所需jar包;这些jar包位于 axis2-1.6.2-bin.zip\axis2-1.6.2\lib 下,把所有的jar包放入WEB-INF的lib下。
2, 新建接口服务类,例如 com/accp/test 包下 Service.java :
4, 在WEB-INF下新建文件夹services,开始打aar的包 :
在F:\ws 随便新建一个文件夹名字为ws,在ws里新建文件夹F:\ws\com\accp\test 注意,此处对应着服务类的包名com.accp.test。把Service.java编译成Service.class文件放于其中;然后新建 F:\ws\META-INF 文件夹 把3中的services.xml放于其中。完整目录为F:\ws\META-INF\services.xml与F:\ws\com\accp\test\Service.class;
开始打aar的包:运行cmd,进去F:\ws目录,输入 jar cvf ws.aar com META-INF 回车,ok。
5, 配置web.xml,加载服务 :
6, 编写测试类 Test.java :
注意 ,启动tomcat时,请用debug模式,否则可能出现本地服务类修改后,测试类没反应的现象。 其他详细解释网上很多,具体demo已上传CSDN,第一次写这东西,下面这个框子死活删不掉了,谅解啊...
1, 新建JavaWeb工程,导入所需jar包;这些jar包位于 axis2-1.6.2-bin.zip\axis2-1.6.2\lib 下,把所有的jar包放入WEB-INF的lib下。
2, 新建接口服务类,例如 com/accp/test 包下 Service.java :
package com.accp.test; /** * 接口服务层 */ public class Service { public String sayHelloNew(String ni) { return "船行荡飞 荡在金山喽喂 遍地金黄再照吾欲望"+ni; } public String sayHelloToPersonNew(String name) { if (name == null) { name = "nobody"; } //System.out.println("啊呀"); return "巫山口哎,晚风狂哎," + name; } public void updateData(String data) { System.out.println(data + " 已更新。"); } }3, 编写WebService接口的配置文件,放在META-INF下 ,名字为 services.xml :
<?xml version="1.0" encoding="UTF-8"?> <service name="HelloServiceNew"> <description> Web Service </description> <parameter name="ServiceClass"> com.accp.test.Service </parameter> <messageReceivers> <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out" class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" /> <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only" class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" /> </messageReceivers> </service>
4, 在WEB-INF下新建文件夹services,开始打aar的包 :
在F:\ws 随便新建一个文件夹名字为ws,在ws里新建文件夹F:\ws\com\accp\test 注意,此处对应着服务类的包名com.accp.test。把Service.java编译成Service.class文件放于其中;然后新建 F:\ws\META-INF 文件夹 把3中的services.xml放于其中。完整目录为F:\ws\META-INF\services.xml与F:\ws\com\accp\test\Service.class;
开始打aar的包:运行cmd,进去F:\ws目录,输入 jar cvf ws.aar com META-INF 回车,ok。
5, 配置web.xml,加载服务 :
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <!-- 此处指定加载aar --> <servlet> <servlet-name>AxisServlet</servlet-name> <servlet-class>org.apache.axis2.transport.http.AxisServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>AxisServlet</servlet-name> <url-pattern>/services/*</url-pattern> </servlet-mapping> </web-app>
6, 编写测试类 Test.java :
package com.accp.test; import javax.xml.namespace.QName; import org.apache.axis2.AxisFault; import org.apache.axis2.addressing.EndpointReference; import org.apache.axis2.client.Options; import org.apache.axis2.rpc.client.RPCServiceClient; /* * 独立部署 */ public class Test { public static void main(String[] args) throws AxisFault { RPCServiceClient serviceClient; String result = null; try { serviceClient = new RPCServiceClient(); Options options = serviceClient.getOptions(); EndpointReference targetEPR = new EndpointReference( "http://localhost:8000/Test/services/HelloServiceNew?wsdl"); options.setTo(targetEPR); Object[] opAddEntryArgs = new Object[] {"遍地金黄 远望 照吾欲望"}; QName opAddEntry = new QName( "http://test.accp.com", "sayHelloNew"); Class[] classes = new Class[] { String.class }; Object[] orgs = serviceClient.invokeBlocking(opAddEntry, opAddEntryArgs, classes); result = orgs[0].toString(); } catch (AxisFault e1) { e1.printStackTrace(); } System.out.println(result); } }
注意 ,启动tomcat时,请用debug模式,否则可能出现本地服务类修改后,测试类没反应的现象。 其他详细解释网上很多,具体demo已上传CSDN,第一次写这东西,下面这个框子死活删不掉了,谅解啊...
相关文章推荐
- WebService系列博客{十}[CXF简单案例实现]
- webservice 开发 axis2 简单部署服务
- php调用axis2 webservice简单案例
- webservice 开发 axis2 简单部署服务 gSoap 客户端通信
- webservice 开发 axis2 简单部署服务
- WebService系列博客{十}[CXF简单案例实现]
- webservice 开发 axis2 简单部署服务 gSoap 客户端通信
- 服务使用CXF框架客户端使用Axis2框架的webservice实现方案
- 通过 Axis2 开发 Web 服务,第 1 部分: 通过 Axis2 运行时部署和使用简单 Web 服务
- 通过 Axis2 开发 Web 服务,第 1 部分: 通过 Axis2 运行时部署和使用简单 Web 服务
- 一个简单的实现企业外部邮件收发的案例
- Webservice传送文件的实现(AXIS2 MTOM)
- 创建简单Eclipse插件实现Axis WebService客户端
- 在SAP NetWeaver Studio中实现一个简单的Webservice(J2EE)
- WebService大讲堂之Axis2(1):用POJO实现0配置的WebService
- WebService学习之Axis2(1):用POJO实现0配置的WebService
- VS2005 Web项目安装部署:利用预编译的Dll 隐藏.cs文件 的简单实现
- axis2 webservice 简单例子
- 创建简单Eclipse插件实现Axis WebService客户端
- 通过 Axis2 开发 Web 服务,第 1 部分: 通过 Axis2 运行时部署和使用简单 Web 服务