axis服务端开发遇到的问题
来源:互联网 发布:python unittest 回滚 编辑:程序博客网 时间:2024/06/18 09:18
axis 配置的webservice一直启动报错。原因是由于axis的版本问题。先从配置说起:
axis2服务端开发很容易对于maven项目 配置好pom文件
<dependency> <groupId>org.apache.axis2</groupId> <artifactId>axis2</artifactId> <version>1.7.6</version> </dependency> <dependency> <groupId>org.apache.axis2</groupId> <artifactId>axis2-spring</artifactId> <version>1.7.6</version> </dependency> <dependency> <groupId>org.apache.axis2</groupId> <artifactId>axis2-transport-http</artifactId> <version>1.7.6</version> </dependency> <dependency> <groupId>org.apache.axis2</groupId> <artifactId>axis2-transport-local</artifactId> <version>1.7.6</version> </dependency> <dependency> <groupId>org.apache.axis2</groupId> <artifactId>axis2-xmlbeans</artifactId> <version>1.7.6</version> </dependency>
用1.6.x的版本这里不支持java8的特性。我当时就是用的这个版本所以启动一直报错。网上说pojo不能实例化。
配置services.xml。在工程WEB-INF\services\xxx\META-INF\services.xml 以及 ServiceData.xml 其中xxx目录必须有。
services.xml文件
<serviceGroup> <service name="wmsWebservice" > <description> Test Service Example </description> <parameter name="ServiceObjectSupplier"><!-- 固定 --> org.apache.axis2.extensions.spring.receivers.SpringServletContextObjectSupplier </parameter> <parameter name="SpringBeanName">wmsBusinessServiceImpl</parameter><!-- bean名字 --> <parameter name="ServiceClass"> com.unlcn.ils.wms.api.webservice.server.WmsBusinessServiceImpl </parameter> <messageReceivers> <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only" class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/> <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out" class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" /> </messageReceivers> </service></serviceGroup>
servicesData.xml
<?xml version="1.0" encoding="UTF-8"?><ServiceData></ServiceData>
在web.xml
<servlet> <servlet-name>AxisServlet</servlet-name> <servlet-class>org.apache.axis2.transport.http.AxisServlet</servlet-class> <!--<init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring/applicationContext-mvc.xml</param-value> </init-param>--> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>AxisServlet</servlet-name> <url-pattern>/services/*</url-pattern> </servlet-mapping>
applicationContext-xxxxx.xml 颜色部分为需要的axis配置
<?xml version="1.0" encoding="UTF-8"?><beans:beans xmlns="http://www.springframework.org/schema/security" xmlns:beans="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsd http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-4.0.xsd"> <!-- There are four annotations which support expression attributes to allow pre and post-invocation authorization checks and also to support filtering of submitted collection arguments or return values. They are @PreAuthorize, @PreFilter, @PostAuthorize and @PostFilter. Their use is enabled through the global-method-security namespace element: --> <global-method-security pre-post-annotations="enabled"/> <http entry-point-ref="jwtAuthenticationEntryPoint" create-session="stateless"> <csrf disabled="true"/> <intercept-url pattern="/resources/**" access="permitAll"/> <intercept-url pattern="/images/**" access="permitAll"/> <intercept-url pattern="/css/**" access="permitAll"/> <intercept-url pattern="/js/**" access="permitAll"/> <intercept-url pattern="/test*" access="permitAll"/> <intercept-url pattern="/login/**" access="permitAll"/> <intercept-url pattern="/signin/**" access="permitAll"/> <intercept-url pattern="/auth/**" access="permitAll"/> <intercept-url pattern="/pay/**" access="isAuthenticated()"/> <intercept-url pattern="/pay/finish" access="permitAll"/> <intercept-url pattern="/pay/finish/**" access="permitAll"/> <!-- <intercept-url pattern="/qiniu/**" access="isAuthenticated()" /> --> <intercept-url pattern="/user/**" access="permitAll"/> <intercept-url pattern="/pingpp/**" access="isAuthenticated()"/> <intercept-url pattern="/bank/**" access="isAuthenticated()"/> <intercept-url pattern="/cash/**" access="isAuthenticated()"/> <intercept-url pattern="/accntDetail/**" access="isAuthenticated()"/> <intercept-url pattern="/accntLedger/**" access="isAuthenticated()"/> <intercept-url pattern="/area/**" access="isAuthenticated()"/> <intercept-url pattern="/waybill/**" access="permitAll"/> <intercept-url pattern="/addr/**" access="isAuthenticated()"/> <intercept-url pattern="/tmsimport/**" access="isAuthenticated()"/> <intercept-url pattern="/about/**" access="isAuthenticated()"/> <intercept-url pattern="/tmsadmin/**" access="isAuthenticated()"/> <!-- <intercept-url pattern="/**" access="isAuthenticated()" /> --> <intercept-url pattern="/weixin/**" access="permitAll"/> <custom-filter before="FORM_LOGIN_FILTER" ref="jwtAuthenticationFilter"/> <form-login username-parameter="phone" authentication-success-handler-ref="authenticationSuccessHandler" authentication-failure-handler-ref="authenticationFailuerHandler"/> </http> <beans:bean id="jwtAuthenticationFilter" class="cn.huiyunche.commons.security.JwtAuthenicationFilter"> <beans:constructor-arg value="${secure.key}"/> </beans:bean> <authentication-manager alias="authenticationManager"> <authentication-provider user-service-ref="userDetailsService"> <password-encoder ref="passwordEncoder"/> </authentication-provider> </authentication-manager> <beans:bean name="passwordEncoder" class="org.springframework.security.authentication.encoding.Md5PasswordEncoder"/> <beans:bean name="userDetailsService" class="cn.huiyunche.commons.security.dao.UserSecurityDao"> <beans:property name="jdbcTemplate" ref="jdbcTemplate"/> </beans:bean> <beans:bean name="jwtAuthenticationEntryPoint" class="cn.huiyunche.commons.security.JwtAuthenticationEntryPoint"/> <beans:bean name="authenticationSuccessHandler" class="cn.huiyunche.commons.security.JwtAuthenticationSuccessHandler"> <beans:constructor-arg value="${secure.key}"/> </beans:bean> <beans:bean name="authenticationFailuerHandler" class="cn.huiyunche.commons.security.JwtAuthenticationFailureHandler"/> <beans:bean id="applicationContext-security" class="org.apache.axis2.extensions.spring.receivers.ApplicationContextHolder" /> <beans:bean id="wmsBusinessServiceImpl" class="com.unlcn.ils.wms.api.webservice.server.WmsBusinessServiceImpl"/></beans:beans>
然后写自己的Service服务端实现类。
这里需要注意jar版本的问题,可能对于java8的特性,需要高版本的jar。
对于一些异常首先要解决jar包的版本。
阅读全文
0 0
- axis服务端开发遇到的问题
- WEbService服务端-用Axis客户端测试遇到的问题Exception in thread "main" AxisFault
- java-websocket 服务端 开发中遇到的问题
- java开发axis 1.4 的webserver客户端和服务端
- .NET WS客户端与Axis服务端的互操作问题
- 服务端开发笔记三:pemelo开发过程中遇到的问题
- 创建axis-service-archiver时遇到的各种问题
- 使用Axis2开发webservice服务端接口+axis开发的客户端调用
- 传递、返回复杂类型的对象(axis服务端/axis客户端)
- 调用Axis WebService服务端错误的解决
- NET WebService客户端与Axis(Java WebSerivce)服务端的互操作问题
- 开发遇到的问题
- 开发遇到的问题
- 开发遇到的问题
- AXIS的开发部署
- 编写服务端可能会遇到的第一个问题
- 关于热血江湖服务端开发的问题
- 服务端开发的一些小问题
- c++排序优先级语法
- 好的总在不经意间出现
- iOS 去掉navigationcontroller返回键文字
- IO多路复用之epoll总结
- C#回顾学习笔记三十三:partial部分类
- axis服务端开发遇到的问题
- effective java(11) 之谨慎地覆盖clone
- 计算机网络
- 中缀表达式 转换为 后缀表达式
- SnapKit的扩展--添加数组控制约束,和九宫格布局,等宽,等间距等布局方式
- servlet使用
- 多协议接口性能测试
- Linux操作系统安装步骤
- 算法实验报告1