今天搞了一天的webservice 整合,在文章开始之前发发牢骚,呵呵,公司现在这个项目由于三年之前就已经做好的产品,用的开发环境是jdk1.4,weblogic8.1的,框架基本上没有,就是使用了一个ibatis框架,都还是很早以前的版本,其他的大多数都在jsp页面中嵌入java代码,这样的开发环境很不习惯,框架都很陈旧,但是没有办法,现在多数的产品都已经在使用,我们只能在这基础上进行一些修改,再说了,我才到这家公司一个多月。
没有接触过webservice,网上找了找资料,很顺利的配了个在tomcat6+jdk1.6的环境下跑了起来(实例见另外一篇文章) ,于是信心满满的想把这个测试用例放到公司项目中跑起来,但是问题就来了,DTD解析异常,结果找了N多的网上资料,虽然花了很多的时间在找问题,但是还是有收获的。整理一下,方便自己方便大家。
由于公司使用的是weblogic8.1的版本,只支持jdk1.4和servlet2.3的规范,在web.xml的配置文件中需要将Myeclipse6.5工具默认生成的
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
改成
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
这时在weblogic8.1中启动服务时就不会报DTD的xml文件解析错误了,然后将网上下载的xfire有关的jar包也有可选包,必须的jar包如下:
导入lib中,启动weblogic服务时,又报QName异常,结果到官方网站又去下了个QName.jar包,解压后把qname.class文件覆盖到weblogic路径 d:\bea\weblogic81\server\lib中有个weblogic.jar包,解压后可以看到javax.xml.namespace文件夹下也有个QName.class,我把这两个class反编译后看到原来weblogic.jar中的这个类的放在QName.jar包中都有,所以我就把QName.jar包中的QName.class覆盖过去,结果QName Exception排除,呵呵!
同时在Xfire1.2.6类中有依赖到spring包中的类,所以xfire还需要spring-1.2. 6和xben-spring-2.8的jar包,不然会报springframework的异常错误,因为services.xml文件中节点的读取需要依赖spring。
之后再启动weblogic还是报错,还是说springframework的异常,在service.xml文件中找不到节点中的类,这个需要在Myeclipse中将选中项目->右键选中properties->Java compiler->如果compiler compliance level没有选中1.4(因为在Myeclipse6.5中默认的选择是5.0),把它选择为1.4,编译重启weblogic就不会出错啦!
搞了一天的问题其实不多,但是过程可以让自己收获良多,在寻找一个问题的同时本身就学到了由问题引发的关联知识!不过最好还是不要像公司这样搞个版本问题,不是程序本身不能用,大多数的时间花在这边寻找版本兼容配置上,开发的时间就没有多少啦!再说了,我们也不是框架的开发者,框架发布时就有说明支持jdk的版本号了,不能用的话,难不成我们还去重新开发个适合老版本的webservice的框架?显然时间花在这上面有点亏大了,还是比较喜欢新版本的东西,虽然有人说旧的东西比较稳定,各位晚安!
- 大小: 5.1 KB
分享到:
- 2009-04-03 23:55
- 浏览 1376
- 评论(0)
- 论坛回复 / 浏览 (0 / 2254)
- 查看更多
相关推荐
weblogic8.1+axis1.4+ibatis2.3开发webservice服务,并通过生成的客户端调用服务
网上多半描述的是Weblogic8.1版本,而很少有关Weblogic10版本下发布webService。据本人了解,这两个版本相差甚多。发生的问题也截然不同。而且网上多半是一些helloworld的范例,但实际项目工程的发布又和发布hello...
weblogic12c部署webservice错误问题WSSERVLET11: 无法解析运行时描述符: java.lang.IllegalStateException: MASM0001:
在网上找了很久的资料,接口已经跟客户对接,特编写了代码文档和附带jar包,并含其他网站的参考地址,注意jdk环境要1.6或以上版本
cxf与spring整合webservice所需jar
Weblogic92+CXF+XDoclet+Spring轻松搞定webservice 例子
我费了好长时间研究整理的一个很好的webservice例子,与spring整合,代码简洁、全面、完整,包括客户端和服务端源代码,另外我还写了一个word文件详细介绍了开发步骤,资源分虽说高了点,但绝对物有所值。
js 调用WebService组件的相关代码,使用xmlHttprequest进行连接
WebService验证与Spring整合 详细代码以及说明注释,很适合初学者
webservice安装组件,webservice开发必备,安装后可以使用。
CFX构建webservice实例,与Spring整合;以及调用https协议的webservice,附带源码,及其证书
里面包含了两个工程,WineService是开发服务,WineServiceClient是客户端测试! 使用xFire框架
webservice客户端,框架为CXF,整合spring
刘冬编写的Spring.NET学习笔记21——整合WebService的例子。 原文:http://www.cnblogs.com/GoodHelper/archive/2009/11/19/SpringNet_WebService.html
spring.net整合webservice
webService学习笔记
Axis2WebService与Spring的整合
springboot整合CXF发布webservice和客户端调用 项目中每个类都有详细的注释,保证都能看懂,不失为一个学习springboot整合cxf来学习webservice发布调用的好例子
springboot整合webservice采用CXF技术,springboot整合webservice采用CXF技术
webservice xfire整合spring(webservice配置采用注解),demo包含xfire 与spring整合的配置,客户端和服务端的代码,及jar包