Axis 简单说明:
1. Lib 包引用
2.web.xml配置
<listener>
<listener-class>org.apache.axis.transport.http.AxisHTTPSessionListener</listener-class>
</listener>
<servlet>
<display-name>Apache-Axis Servlet</display-name>
<servlet-name>AxisServlet</servlet-name>
<servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class>
</servlet>
<servlet>
<display-name>Axis Admin Servlet</display-name>
<servlet-name>AdminServlet</servlet-name>
<servlet-class>org.apache.axis.transport.http.AdminServlet</servlet-class>
<load-on-startup>100</load-on-startup>
</servlet>
<servlet>
<display-name>SOAPMonitorService</display-name>
<servlet-name>SOAPMonitorService</servlet-name>
<servlet-class>org.apache.axis.monitor.SOAPMonitorService</servlet-class>
<init-param>
<param-name>SOAPMonitorPort</param-name>
<param-value>5001</param-value>
</init-param>
<load-on-startup>100</load-on-startup>
</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>*.jws</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>SOAPMonitorService</servlet-name>
<url-pattern>/SOAPMonitor</url-pattern>
</servlet-mapping>
<session-config>
<!-- Default to 5 minute session timeouts -->
<session-timeout>5</session-timeout>
</session-config>
<mime-mapping>
<extension>wsdl</extension>
<mime-type>text/xml</mime-type>
</mime-mapping>
<mime-mapping>
<extension>xsd</extension>
<mime-type>text/xml</mime-type>
</mime-mapping>
3.添加相应的axis配置文件
<?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">
<handler type="java:org.apache.axis.handlers.http.URLMapper"
name="URLMapper" />
注:定义相关webservice访问类
<service name="userManage" provider="java:RPC">
<parameter name="className"value="com.axis.service.UserManageWebService" />
<parameter name="allowedMethods" value="*" />
注:定义相关webservice访问类中方法传递参数类型,其中User为客户端相对应UserBean的类型。
<beanMapping languageSpecificType="java:com.axis.bean.UserBean" qname="n1:user" xmlns:n1="urn:User" />
<parameter name="scope" value="session" />
</service>
<transport name="http">
<requestFlow>
<handler type="URLMapper" />
</requestFlow>
</transport>
</deployment>
4.关于spring与 axis的相关问题
如上:com.axis.service.UserManageWebService,在axis配置文件中定义,所以其内的DAO对象实例化不能进行spring自动注入,需要手动进行注入,如下是相关的解决方法:
定义相关mapping:
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import org.springframework.context.ApplicationContext;
import org.springframework.web.context.WebApplicationContext;
importorg.springframework.web.context.support.WebApplicationContextUtils;
public class SpringInit implements ServletContextListener {
private static WebApplicationContext springContext;
public SpringInit() {
super();
}
public void contextInitialized(ServletContextEvent event) {
springContext = WebApplicationContextUtils.getWebApplicationContext(event.getServletContext());
}
public void contextDestroyed(ServletContextEvent event) {
}
public static ApplicationContext getApplicationContext() {
return springContext;
}
}
Mapping在Web.xml中配置:
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<listener>
<listener-class>gxlu.gmap.web.util.SpringInit</listener-class>
</listener>
然后在服务端方法中进行调用相关配置的Bean就可以了:
userDaoOther = (UserDao) SpringInit.getApplicationContext().getBean("userDaoOther");
5.服务端调用:
1)引用lib如下:
2)调用相关方法:
String url = "http://localhost:7001/gmap/services/userManage";
Service service = new Service();
Call call = (Call) service.createCall();
//定义本地User类,关联到服务UserBean
QName qn = new QName("urn:User","user");
call.registerTypeMapping(User.class, qn,
neworg.apache.axis.encoding.ser.BeanSerializerFactory(User.class,qn),
neworg.apache.axis.encoding.ser.BeanDeserializerFactory(User.class,qn));
call.setTargetEndpointAddress(new java.net.URL(url));
//调用服务端方法register
call.setOperationName(new QName("user","register"));
User user=new User();
user.setUserName("webservicetest1");
user.setLoginName("webservicetest1");
user.setPassword("123");
user.setUserId(1);
user.setTelephone("13597436721");
user.setEnabled(1);
user.setCreator("webservice");
Integer ret = (Integer) call.invoke(new Object[] {user });
相关推荐
webService—Axis实例webService—Axis实例webService—Axis实例webService—Axis实例webService—Axis实例webService—Axis实例webService—Axis实例
Tomcat+Axis+WebService 入门实例,讲述如何实现WebService的传递信息,
这是一个简单的使用axis进行webservice调用的代码,项目启动后,可以直接用里面的test.java进行测试,无需在做其他操作; 简单易懂,专供新手学习webservice;
里面包含用到的axis的jar包 和一个java文件,下载后,将文件放在工程下,添加jar包即可运行,用的开源的webservice服务,里面重要代码都做了注释。
Axis的简单入门实例 Axis的jws发布WebService Axis的wsdd模式发布WebService Axis中传递复杂对象和内部类 Axis中的handler、chain的特性 Axis中处理异常信息 Axis中传递文件信息 Axis常用命令介绍 Axis 提供的工具和...
Eclipse 开发 Axis_WebService 实例总结
客户端用axis调用webservice实例 里面包含所需的jar包,希望对大家有用(不好意思,赚点积分啊)
完整的Axis2实例,内含代码demo,编写工具Eclipse,jdk1.7 tomcat7.0
Axis开发WebService实例.pdf
eclipse+axis2学习webservice实例,亲测!
axis2 webservice实例程序,包括所需要用到lib jar包,以及客户端和服务器端完整的实例程序,是自己辛苦了一周搞出来的,欢迎大家拍砖!
在开发之前, 先了解一下AXIS,axis目前出现的2版本以其灵活性,快速开发工具的集成高于xfire而使用者居...这是对此版本的基本功能与简单实例的描术) 本人的开发环境eclipse3.2 ,tomcat5.0.28 ,jdk1.4 axis_1.4目前最新版
java 调用https发布的webservice接口实例及axis包及详细说明
一个基于axis的webservice接口例子
java基于axis的webservice实例,包含服务器端和客户端,开发工具为eclipse,下载后将TestServiceLocator类的地址改成你服务器端所在的机器ip地址,然后部署到tomcat中部署既可以运行。有问题可以留言
利用空闲时间整理出的使用Axis实现的webservice,该实例为Axis实现的服务端和客户端的完整实例代码(测试已通过),希望能帮助跟我一样初次接触webservice的新手
在网上找了不少的实例,没有一个是完整版的。 使用 这个版本首先要导入jar包,剩下的自己研究吧!
Java中的webService实例 注释详细,简单易懂! 力求用一个简单的例子让大家对webService调用和原理有深入的理解!
webservice的框架有很多种axis1 axis2 cfx......。 其中axis1.4是比较稳定和成熟的一种。。。 axis的下载 http://ws.apache.org/axis/