axis实现webservice

概况:webservice主要用于跨平台数据共享。


提供一个axis的webservice例子供入门者学习:

1、项目结构


2、项目依赖的jar包:


3、目录说明:


4、webservice的发布配置文件:

<?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="sendMultiRefs" value="true"/>
  <parameter name="disablePrettyXML" value="true"/>
  <parameter name="dotNetSoapEncFix" value="true"/>
  <parameter name="enableNamespacePrefixOptimization" value="false"/>
  <parameter name="sendXMLDeclaration" value="true"/>
  <parameter name="sendXsiTypes" value="true"/>
  <parameter name="attachments.implementation" value="org.apache.axis.attachments.AttachmentsImpl"/>
</globalConfiguration>

  <handler type="java:org.apache.axis.handlers.http.URLMapper" name="URLMapper"/>   
  
  <!-- 参数字符串,返回字符串 -->
  <service name="getString" provider="java:RPC">   
    <parameter name="scope" value="request"/>
    <parameter name="allowedMethods" value="getString"/> 
	<parameter name="className" value="ws.UserWebserviceString"/>		
  </service>
  
  <!-- 参数对象,返回对象-->
  <service name="getUser" provider="java:RPC">   
    <parameter name="scope" value="request"/>
    <parameter name="allowedMethods" value="getUser"/> 
	<parameter name="className" value="ws.UserWebserviceObject"/>	
	
	<beanMapping
			languageSpecificType="java:bean.User"
			qname="ns1:User" xmlns:ns1="local:User" />	
  </service>
  
  <!-- 参数对象,返回对象数组-->
  <service name="getUserArray" provider="java:RPC">   
    <parameter name="scope" value="request"/>
    <parameter name="allowedMethods" value="getUserArray"/> 
	<parameter name="className" value="ws.UserWebserviceArray"/>	
	
	<beanMapping
		languageSpecificType="java:bean.User"
		qname="ns1:User" xmlns:ns1="local:User" />
		
	<arrayMapping innerType="ns1:User"
		xmlns:ns1="local:User"
		languageSpecificType="java:bean.User[]"
		qname="ns3:ArrayOfUser" xmlns:ns3="local:ArrayOfUser" />
		
  </service>
  
  <transport name="http">   
     
     <requestFlow>
		<handler type="URLMapper" />
		<handler type="java:org.apache.axis.handlers.http.HTTPAuthHandler" />
	</requestFlow>
		
	<parameter name="qs:list" value="org.apache.axis.transport.http.QSListHandler" />
	<parameter name="qs:wsdl" value="org.apache.axis.transport.http.QSWSDLHandler" />
	<parameter name="qs.list" value="org.apache.axis.transport.http.QSListHandler" />
	<parameter name="qs.method" value="org.apache.axis.transport.http.QSMethodHandler" />
	<parameter name="qs:method" value="org.apache.axis.transport.http.QSMethodHandler" />
	<parameter name="qs.wsdl" value="org.apache.axis.transport.http.QSWSDLHandler" />
		  
  </transport>
  
</deployment>

  
  <!-- <beanMapping
			languageSpecificType="bean.User"
			qname="ns1:User" xmlns:ns1="local:User" />
			
	<beanMapping
		languageSpecificType="java:com.mmds.ws.bean.FilterResult"
		qname="ns1:FilterResult" xmlns:ns1="local:FilterResult" />
		
	<arrayMapping innerType="ns1:FilterResult"
		xmlns:ns1="local:FilterResult"
		languageSpecificType="java:com.mmds.ws.bean.FilterResult[]"
		qname="ns3:ArrayOfFilterResult" xmlns:ns3="local:ArrayOfFilterResult" /> -->


5、web项目的web.xml配置:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  
  <display-name>WebServiceDemo</display-name>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  
  <!-- webservice配置关键点 start -->
   <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>/services/*</url-pattern>
	</servlet-mapping>
  <!-- webservice配置关键点 end -->
  
</web-app>



友情提示:本人提供相关IT技术开发和支持,与其相关技术交流。

如需请加微信号:


实现Spring Boot整合Axis实现WebService服务端,可以按照以下步骤进行: 1. 添加Axis依赖 在pom.xml文件中添加以下Axis依赖: ```xml <dependency> <groupId>axis</groupId> <artifactId>axis</artifactId> <version>1.4</version> </dependency> ``` 2. 配置Axis Servlet 在Spring Boot的配置类中添加以下Servlet配置: ```java @Bean public ServletRegistrationBean<AxisServlet> axisServlet() { AxisServlet servlet = new AxisServlet(); ServletRegistrationBean<AxisServlet> registration = new ServletRegistrationBean<>(servlet, "/services/*"); registration.addInitParameter("axis.servicesPath", "/services"); registration.addInitParameter("axis.wsddPath", "classpath:wsdd/AxisServlet.wsdd"); return registration; } ``` 这样就可以将Axis Servlet注册到Spring Boot中,并通过"/services/*"路径映射到WebService服务。 3. 定义WebService服务 通过Axis提供的注解来定义WebService服务。 ```java @AxisService public class HelloWebService { @WebMethod public String sayHello(String name) { return "Hello, " + name + "!"; } } ``` 注意:要确保WebService服务类被Spring Boot扫描到,可以通过在配置类上添加`@ComponentScan`注解来实现。 4. 配置wsdd文件 在src/main/resources目录下创建wsdd文件夹,并创建AxisServlet.wsdd文件,配置如下: ```xml <deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> <service name="HelloWebService" provider="java:RPC"> <parameter name="className" value="com.example.demo.webservice.HelloWebService"/> <parameter name="allowedMethods" value="*"/> </service> </deployment> ``` 这样就配置好了WebService服务端,可以启动Spring Boot应用并访问WebService服务了。例如,在浏览器中访问`http://localhost:8080/services/HelloWebService?wsdl`来查看WebService服务的WSDL描述文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值