拷贝自博客园--
通过上篇文章,已经可以通过axis1.4发布服务以及调用服务了,不过上篇文章发布服务使用的方法不够灵活,这里介绍一种灵活的方式
一、以Stubs的方式发布服务
1.以这种方式发布还需要两个J2EE包
2.修改web.xml,我使用了struts2,和axis的配置会有冲突,为了避免冲突,对struts2的相关配置也做了对应修改,这里贴出完整web.xml文件内容:
<?xml version= "1.0" encoding= "UTF-8" ?>
<web-app id= "WebApp_ID" version= "2.4"
<display-name> static </display-name>
<filter>
<filter-name>struts2</filter-name>
<filter- class >org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter- class >
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/struts/dojo/*</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>AxisServlet</servlet-name>
<servlet- class >org.apache.axis.transport.http.AxisServlet</servlet- class >
</servlet>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/servlet/AxisServlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.htm</welcome-file>
</welcome-file-list>
</web-app>
|
3.编写服务类 com.site.webservice.MyService.java
package com.site.webservice;
public class MyService{
public String getName(String name)
{
return "hi," + name;
}
}
|
4.在项目WEB-INF目录下创建deploy.wsdd文件,内容为:
<service name= "MyService" provider= "java:RPC" >
<parameter name= "className" value= "com.site.webservice.MyService" />
<parameter name= "allowedMethods" value= "*" />
</service>
</deployment>
|
5.在项目WEB-INF目录下创建deploy.bat文件,内容为:
set Axis_Lib=D:\workspace\proj1\WebContent\WEB-INF\lib
set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib%
set Axis_Servlet=http:
%Java_Cmd% org.apache.axis.client.AdminClient -l%Axis_Servlet% deploy.wsdd
|
dos下进入D:\workspace\proj1\WebContent\WEB-INF目录,执行deploy.bat,执行成功后会提示:
Processing file deploy.wsdd
<Admin>Done processing</Admin>
|
通过http://localhost:8080/proj1/services可以检查服务是否发布成功
6.编写客户端代码调用我们创建的服务:
Service service = new Service();
Call call = (Call)service.createCall();
call.setOperationName( new QName(endPoint, "getName" ));
call.setTargetEndpointAddress( new URL(endPoint));
String result = (String)call.invoke( new Object[]{ "abcd" });
System.out.println(result);
|
执行该代码打印内容为:hi,abcd
7.如果需要卸载MyService服务,在WEB-INF目录下创建undeploy.wsdd文件:
<service name= "MyService" />
</undeployment>
|
在WEB-INF目录下创建undeploy.bat文件:
set Axis_Lib=D:\workspace\proj1\WebContent\WEB-INF\lib
set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib%
set Axis_Servlet=http:
%Java_Cmd% org.apache.axis.client.AdminClient -l%Axis_Servlet% undeploy.wsdd
|
dos下进入D:\workspace\proj1\WebContent\WEB-INF目录,执行undeploy.bat,MyService服务就被卸载了
二、以Stubs的方式调用服务
1、在WEB-INF目录下创建client.bat文件:
set Axis_Lib=D:\workspace\proj1\WebContent\WEB-INF\lib
set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib%
set Output_Path=D:\workspace\proj1\src
set Package=com.site.client
%Java_Cmd% org.apache.axis.wsdl.WSDL2Java -o%Output_Path% -p%Package% http:
|
dos下进入D:\workspace\proj1\WebContent\WEB-INF目录,执行client.bat,会在com.site.client下自动生成如下文件类:
MyServiceSoapBindingStub.java
SayHello.java
SayHelloService.java
SayHelloServiceLocator.java
2、客户端调用
SayHelloService service = new SayHelloServiceLocator();
SayHello client = service.getMyService() ;
String result = client.getName( "abcdefg" );
System.out.println(result);
|
分享到:
相关推荐
axis1.4开发webservice源码 包含webservice发布 与客户端调用
用于axis1.4开发webService。 文件包含,axis1.4.ZIP以及其他所需jar包,和生成webservice客户端,生成webService服务端发布 的详细教程说明。
springboot 集成axis1.4的webservice,该为maven的工程
近期使用到webservice做了一个axis1.4的例子,以备以后再用
Axis1.4开发指南.pdf axis-bin-1_4.zip axis相关文档 axis1.4 开发jar包
本方法是用axis1.4技术,实现java客户端调用webservice。已经可实现过可行的,如果不行可加我QQ号302633进行详细解析。
1. 将lib包下的所有的jar包,添加到classpath中。 2. 运行命令: ... -u 要访问的webservice的地址标准的wsdl文件 -p 生成java文件的包名 -t 生成的java文件中包含junit的测试代码。 详见文档。
介绍如何使用Axis(版本1.4),pdf文件,287K
axis1.4开发webservice需要用到的jar包,帮助快速开发webservice接口。
Axis1.4开发指南 介绍Axis1.4的开发方式,并附上不少范例代码
NULL 博文链接:https://wandejun1012.iteye.com/blog/1207806
整理axis根据类自动生成wsdd文件,根据wsdl自动生成测试类
eclipse使用axis1.4发布联通vac的webservice服务代码,并有客户端测试
webservice axis1.4服务搭建
axis1.4 webservice个人学习笔记
使用Eclipse的Axis1.4插件开发Web Service及客户端
axis1.4完整包下载Apache Axis是一种SOAP(简单对象访问协议”)实现。 包含 Axis1.4的所有完整包。
MyEclipse的axis1.4 java的webservice客户端服务端,下载即可直接运动,包括lib
axis1.4所需全部jar包。 Axis(ApacheeXtensibleInteractionSystem)是一款开源的WebService运行引擎,它是SOAP协议的一个实现,其本身来源于Apache的另一个项目ApacheSOAP。Axis分为1.x系列和2系列,两个系列体系...
【java项目整合Axis1.4webservice搭建实例】服务端代码