加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 用于Web服务的Web客户端

发布时间:2020-12-15 00:44:55 所属栏目:Java 来源:网络整理
导读:当我从J2SE(桌面)应用程序访问它时,我有一个可以正常运行的Web服务.要访问此服务,我会遵循: 使用java wsimport工具通过wsdl链接生成存根类 然后我使用生成的类创建服务并运行wsdl操作之一.它看起来像这样: MyWebServiceService webService = new MyWebServ
当我从J2SE(桌面)应用程序访问它时,我有一个可以正常运行的Web服务.要访问此服务,我会遵循:

>使用java wsimport工具通过wsdl链接生成存根类
>然后我使用生成的类创建服务并运行wsdl操作之一.它看起来像这样:

MyWebServiceService webService = new MyWebServiceService();

MyWebService port = webService.getMyWebServicePort();

webService.run( “XYZ”);

我很难过,当我在一个独立的应用程序中使用它时它工作得很好.
但是……当我尝试以相同的方式访问web服务但是从servlet-client访问时,使用生成的存根,我得到以下错误:

java.lang.ClassCastException: com.sun.xml.bind.v2.runtime.JAXBContextImpl cannot be cast to com.sun.xml.bind.api.JAXBRIContext
org.jboss.ws.metadata.umdm.EndpointMetaData.eagerInitializeAccessors(EndpointMetaData.java:686)
org.jboss.ws.metadata.umdm.EndpointMetaData.initializeInternal(EndpointMetaData.java:567)
org.jboss.ws.metadata.umdm.EndpointMetaData.eagerInitialize(EndpointMetaData.java:553)
org.jboss.ws.metadata.builder.jaxws.JAXWSClientMetaDataBuilder.rebuildEndpointMetaData(JAXWSClientMetaDataBuilder.java:314)
org.jboss.ws.core.jaxws.spi.ServiceDelegateImpl.getPortInternal(ServiceDelegateImpl.java:271)
org.jboss.ws.core.jaxws.spi.ServiceDelegateImpl.getPort(ServiceDelegateImpl.java:202)
javax.xml.ws.Service.getPort(Service.java:143...

我搜索谷歌的时间很长,但没有找到任何有用的主题.一些主题显示了从servlet访问Web服务的示例,但遗憾的是我无法做到这一点……(并且不知道是什么原因造成的.

应用服务器:jboss 4.2.3GA

是否可以从servlet连接Web服务?怎么样?

我已经尝试过使用@WebServiceRef注释,但似乎web容器无法注入web服务存根.我认为容器本身不能这样做,因为存根类已经由wsimport工具生成,并且它使用这些类来访问web服务.

使用以下命令生成存根类:

wsimport -keep -p com.myhost.ws http://www.myhost.com/services/MyWebService?wsdl

解决方法

您是否确定您的类路径不包含多个具有不同版本的JAX-B Jars?该异常看起来像版本冲突.应用程序服务器通常具有某种“认可”的lib目录,该目录包含始终在Web应用程序类路径前添加的JARS.也许您的应用服务器在那里有一个冲突的JAX-B实现?

如果您使用Maven打包应用程序,请确保传递依赖关系不会引入不需要的JAX-B Jars(使用’mvn dependency:tree’来检查这一点).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读