在原springMVC的web项目中添加webservice(用的是xfire)
来源:互联网 发布:路径规划算法的例子 编辑:程序博客网 时间:2024/06/14 20:27
本来我们这个项目用的是jdk自带的webservice,部署到tomcat上是可以的正常运行的,但是放到weblogic12c上启动的时候就报错:···more than one instance````的错误,调试了2天查了好多资料及解决办法都不可行···最终判断是weblogic12c自身的bug,不支持jdk自带的webservice的注解,故在springMVC的框架中换成xfire框架。步骤如下:
一、添加Xfire核心包到工程里面:
web工程右击——属性——Java Build Path——Libraries——Add Library···——MyEclipse Libraries——XFire 1.2 Core Libraries.
二、在web.xml 里面添加配置。
<servlet> <servlet-name>XFireServlet</servlet-name> <servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet</servlet-class> <load-on-startup>2</load-on-startup> </servlet> <servlet-mapping> <servlet-name>XFireServlet</servlet-name> <url-pattern>/services/*</url-pattern> </servlet-mapping>
三、在META-INF下面新建文件夹xfire,在xfire下面新建services.xml内容如下(先写好接口及实现类):
<?xml version="1.0" encoding="UTF-8"?><beans><service xmlns="http://xfire.codehaus.org/config/1.0"><name>yundaws</name><serviceClass>com.yunda.app.ws.service.IyundaWebService</serviceClass><implementationClass>com.yunda.app.ws.service.impl.YundaWebService</implementationClass><style>wrapped</style><use>literal</use><scope>application</scope></service></beans>
备注:name 是webservice访问的名称,serviceClass 是接口,implementationClass是接口的实现类。
四、整体复制META-INF,粘贴到WEB-INF下面。
五、访问运行部署到weblogic12c上,启动之后访问http://localhost:7001/工程名称/services/yundaws?wsdl,到此服务端就OK了。
六、部署期间遇到的问题及解决办法如下:
1、java.io.FileNotFoundException: class path resource [META-INF/xfire/services.xml] cannot be opened because it does not exist
解决办法:META-INF目录下面新建一个xfire文件夹,把services.xml文件放到这个文件夹里,再将整个META-INF拷贝到WEB-INF中clean一下工程重新加载后启动服务就可以了。
2、Unexpected exception parsing XML document from file,nested exception is java.lang.LinkageError: loader constraint violation: loa
解决办法:加载包顺序问题,把weblogic.xml里面的这句话注释掉就好了。<container-descriptor><prefer-web-inf-classes>true</prefer-web-inf-classes></container-descriptor>3、Context attribute is not of type WebApplicationContext: org.codehaus.xfire.spring·····
解决办法:web.xml里的<load-on-startup>0</load-on-startup>修改成:<load-on-startup>2</load-on-startup>
4、Unrecognized xbean element mapping: services in namespace : http://xfire.codehaus.org/config/1.0
解决办法:<beans xmlns="http://xfire.codehaus.org/config/1.0"> <service> </service></beans>修改成:<beans><service xmlns="http://xfire.codehaus.org/config/1.0"> </service></beans>
备注:其他业务实现不完全可以根据你框架的结构随意写,完事直接调用这个配置就可以访问webservice接口了。
如果谁用jdk1.6及以上版本自带的webservice可以在weblogic12c上部署运行,可以给我留言探讨下谢谢!我到oracle下载补丁是收费的我就不用了,谁那有补丁也可以给我发下。
- 在原springMVC的web项目中添加webservice(用的是xfire)
- 在java中使用xfire实现webservice的配置
- 在往Spring2.0项目中添加XFire时的异常
- 如何用XFire在Web应用中搭建WebService
- XFire的webservice应用
- 在已有的ssm项目中添加xfire
- 用XFire轻松的开发WebService
- 通过IDE开发基于web的XFire(WebService)
- webservice-XFire开发一个简单的web服务
- 通过IDE开发基于web的XFire(WebService)
- Web服务和XFire实现Webservice的几种方式
- 在XFire中创建WebService客户端的三种常用方式
- 在XFire中创建WebService客户端的三种常用方式
- 在XFire中创建WebService客户端的三种常用方式 .
- 在XFire中创建WebService客户端的三种常用方式(转)
- java调用webservice用是axis还是xfire的,两种调用方法不同。
- java调用webservice用是axis还是xfire的,两种调用方法不同
- WEB项目中SpringMVC的配置步骤
- Android Loader详解二:使用加载器
- 链接
- Rotate Image
- 2014川大复试c语言
- Android Loader详解三:重启与回调
- 在原springMVC的web项目中添加webservice(用的是xfire)
- VS2013—— HTTP 错误500.24
- ubuntu linux下如何使用终端命令行上网? 转载
- Android Loader详解四:回调及完整例子
- IOS中NSUserDefaults的用法
- 在VC和VS中使用条件断点
- UVA 1414 - Hanoi Towers(dp)
- 共享池之九:绑定变量与session_cached_cursors
- hdu1711 hdu1686 hdu3336 hdu1358