Spring 集成 Axis2 1.7.5
来源:互联网 发布:mac免费打谱软件 编辑:程序博客网 时间:2024/04/30 13:19
环境 java8 win10 IDEA 开发中遇到的问题
1,pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.open</groupId> <artifactId>logistics</artifactId> <packaging>war</packaging> <version>1.0-SNAPSHOT</version> <name>logistics Maven Webapp</name> <url>http://maven.apache.org</url> <properties> <!--axis2版本指定--> <axis2.version>1.7.5</axis2.version> <spring.version>4.3.3.RELEASE</spring.version> </properties> <dependencies> <!--axis2 begin--> <dependency> <groupId>org.apache.axis2</groupId> <artifactId>axis2</artifactId> <version>${axis2.version}</version> </dependency> <dependency> <groupId>org.apache.axis2</groupId> <artifactId>axis2-spring</artifactId> <version>${axis2.version}</version> </dependency> <dependency> <groupId>org.apache.axis2</groupId> <artifactId>axis2-transport-http</artifactId> <version>${axis2.version}</version> </dependency> <dependency> <groupId>org.apache.axis2</groupId> <artifactId>axis2-transport-local</artifactId> <version>${axis2.version}</version> </dependency> <dependency> <groupId>org.apache.axis2</groupId> <artifactId>axis2-xmlbeans</artifactId> <version>${axis2.version}</version> </dependency> <dependency> <groupId>org.apache.axis2</groupId> <artifactId>axis2-json</artifactId> <version>${axis2.version}</version> </dependency> <!--<dependency>--> <!--<groupId>org.apache.axis2</groupId>--> <!--<artifactId>axis2-soapmonitor-servlet</artifactId>--> <!--<version>${axis2.version}</version>--> <!--</dependency>--> <!--axis2 end--> <!--spring 可配可不配--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>${spring.version}</version> </dependency> </dependencies> <build> <finalName>logistics</finalName> </build></project>
2,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"> <servlet> <servlet-name>AxisServlet</servlet-name> <!-- 注册axis2的servlet --> <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> <!-- 加载spring的配置文件 --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath*:applicationContext.xml</param-value> </context-param> <!--//增加spring监听器--> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener></web-app>
3,applicationContext.xml放于resources文件夹下
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <context:component-scan base-package="org.open.logistics.*" /> <context:annotation-config/> <!-- axis2 交给spring 去管理 --> <bean id="applicationContext" class="org.apache.axis2.extensions.spring.receivers.ApplicationContextHolder"/></beans>
4,确保WEB-INF目录下包含如下结构文件夹(粗体),文件(只有services.xml)
WEB-INF
services
testonly -- 此文件夹名字可任意,但个人建议与services.xml中service name 属性的值保持一致,方便查找
META-INF
services.xml
5, services.xml
<?xml version="1.0" encoding="UTF-8" ?><serviceGroup> <!-- url 路径访问的service名称--> <service name="testOnly" scope="application"> <description>simple spring example</description> <parameter name="ServiceObjectSupplier"> org.apache.axis2.extensions.spring.receivers.SpringServletContextObjectSupplier </parameter> <!--testonly 通过spring注入的beanName--> <parameter name="SpringBeanName">testOnly</parameter> <messageReceivers> <messageReceiver mep="http://www.w3.org/ns/wsdl/in-only" class = "org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/> <messageReceiver mep="http://www.w3.org/ns/wsdl/in-out" class = "org.apache.axis2.rpc.receivers.RPCMessageReceiver"/> </messageReceivers> <parameter name="xmlToJsonNamespaceMap"></parameter> </service></serviceGroup>
6,java文件夹下建如下目录结构
orgopen
logistics
ws
demo
service
HelloImpl.java
model
User.java
HelloImpl.java
package org.open.logistics.ws.demo.service;import org.apache.axiom.om.*;import org.open.logistics.ws.model.User;import org.springframework.stereotype.Component;/** * Created by Administrator on 2017/6/9. */@Component("testOnly")public class HelloImpl { public User sayHello(String name) { User user = new User(); if((name == null) || (name == "")) { name = "anonymous"; user.setName("null"); user.setAge(0); }else{ user.setName(name); user.setAge(18); } return user; } public OMElement getValue(OMElement ignore) { OMFactory factory= OMAbstractFactory.getOMFactory(); OMNamespace payloadNs= factory.createOMNamespace( "http://springExample.org/example1", "example1"); OMElement payload = factory.createOMElement("string", payloadNs); OMText response = factory.createOMText("test"); payload.addChild(response); return payload; }}User.java
package org.open.logistics.ws.model;/** * Created by Administrator on 2017/6/11. */public class User { private String name; private Integer age; public User() { } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; }}
7,部署到tomcat上访问 注意url路径区分大小写
1>http://localhost:8080/项目名/services/testOnly?wsdl2>http://localhost:8080/项目名/services/testOnly/sayHello
3>http://localhost:8080/项目名/services/testOnly/getValue
阅读全文
0 0
- Spring 集成 Axis2 1.7.5
- Spring 集成Axis2 1.7.5 遇到的问题
- myeclipse+axis2+spring集成
- axis2.1.6+spring集成
- Axis2集成 spring
- axis2+spring集成
- Axis2与Spring集成开发
- axis2 spring集成开发webServices
- Axis2与Spring的集成
- Axis2与Spring集成发布
- Axis2与Spring集成发布
- Axis2与Spring集成发布
- WebService之Axis2系列教程Axis2与Spring集成发布
- axis2+spring集成发布webservice服务
- axis2系列之与spring集成
- 集成Axis2
- webservice 笔记(小结) axis2 集成spring 发布服务
- webservice 笔记(小结) axis2 集成spring 调用服务
- 求逆序对 (用归并) nlogn
- mfc重定向到控制台
- mysql5.7.18安装 密码恢复、
- 接前-递归遍历二叉树
- 基于Xposed修改微信运动步数
- Spring 集成 Axis2 1.7.5
- 图像显著性区域提取[2]-特征提取
- 对象的内存布局和访问方式
- Qt各版本官方下载地址
- 动态规划解决0-1背包问题
- Android百度地图实例详解之仿摩拜单车APP(包括附近车辆、规划路径、行驶距离、行驶轨迹记录,导航等)
- JS中的DOM
- JDK并发包中的线程池(一)
- SpringMVC学习笔记(含案例分析)