1. 首先是容器兼容的J2EE版本问题
新建的工程指定的是J2EE1.4版本,在web.xml描述符中也指定了Web Application 2.4
然后部署到weblogic8.1的时候直接报错了。
解决方法是:
weblogic8.1实现的是J2EE1.3的规范,应该调增为此版本,web.xml也应相应调整.
2. 类路径下Spring相关类包有两份,一份是单独各模块包,一份是all-in-one
3. 后来这些调整过来后,用WSDL2Java生成的客户端一直报如下错误:
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString:
faultActor:
faultNode:
faultDetail:
却未注意到服务器端抛任何异常,开始怀疑是XML 解析的类包冲突问题,折腾了半天,错误仍然存在。
后来就干脆调整了webservice接口的入参,把其中一个Map换成了String类型,再次调用发现竟然可以。于是又开始怀疑是否是因为wsdl4j版本过低问题,导致不支持Map入参的解析,换成最新的wsdl4j包问题依然存在,且生成的客户端也同样是用相同的类包,排除了wsdl4j问题
比较了下Map入参和String入参具体实现代码,发现一个有调用EJB,一个未调用直接返回,于是问题锁定在EJB的调用上。
此用到spring的SimpleRemoteStatelessSessionProxyFactoryBean访问EJB,开始以为是businessInterface中声明的方法跟服务器上的不一致,如少掉throws BssException,调整一致后仍然有问题。
后来再仔细观察下控制台的日志,发现调用EJB的时候确实抛出了异常: EJB home [............] has no no-arg create() method
问题终于定位了,此异常是由于EJB客户端缺少了需要的类。
折腾了老久才定位到问题。
分享到:
相关推荐
Axis开发Web Service实例,介绍AXIS的三种方法
用axis2开发web service,过程比用axis1开发web service简单
web service在web接口系统中是jms中很不错的一个选择。而axis又是开发web service的不二人选。本文通过理论结合实例的方式讲解如何通过axis来开发web service。所有实例代码均可copy运行成功。
使用Axis开发Web Service程序 在文档中进行了最简单的说明和举例 对于简单框架搭建进行了代码举例
使用AXIS开发Web Service 客户端调用的三种方式都有完整例子及步骤
基于AXIS2实现Web Service开发
为了更多喜爱开发的程序员也能迅速了解Web Service的开发,我这里整理了一些通过Axis开发Web Service的一些要点,希望能让不熟悉Web Service的开发人员能够迅速掌握Web Service。
MyEclipse下开发Web Service(Axis)
Axis2 Web Service 开发教程, axis2_WebService_开发指南
网上无意中找到的... 介绍Axis 开发WEB SERVICE,挺不错的.
贴一个关于用AXIS来开发Webservice 的一个不错的例子,也可以与大家一起分享之。。。。
axis开发web_service程序_学习笔记,学习axis开发,学习笔记
axis2(web service接口文件生成工具)内附使用说明
本文介绍使用AXIS作为开发环境来体会Web服务的开发过程。
基于axis 的web service 开发v0.3
在eclipse中用axis2开发Web Service,加快开发速度
Axis2与Eclipse整合开发的Web Service的服务端
本文主要描述如何使用Apache开源项目Axis提供的API来实现Web Services。本文中的提到的例子只为了方便本文的描述而提出,有不妥之处请见谅。 本文的读者应有JAVA web 应用开发基础。应该具有看过WSDL,SOAP,XML等的...
通过该实验将掌握配置MyEclipse7.0的axis Web Service的开发环境,通过Top-Down方式创建、发布基于axis Web Service的基本步骤,进一步加深学生对XML、WSDL、SOAP等Web Service概念的理解。