`
Tyrion
  • 浏览: 260961 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

jboss4.2中web service的wsconsume工具测试客户端调用问题

    博客分类:
  • Java
 
阅读更多

这两天自己练习jboss4.2GA里的web service例子,注解的形式发布web service挺简单,但每个类,都要写一个servlet在web.xml文件里维护起来不烦吗?

坑爹的是最后写测试类调用web service时老是报如下错误:

Exception in thread "main" javax.xml.ws.WebServiceException: Unable to load Provider: Failed to load javax.xml.ws.spi.Provider: com.sun.xml.ws.spi.ProviderImpl
	at javax.xml.ws.spi.Provider.provider(Provider.java:90)
	at javax.xml.ws.Service.<init>(Service.java:81)
	at ws.ConveterService.<init>(ConveterService.java:40)
	at org.study.ws.ConveterTest.main(ConveterTest.java:22)
Caused by: java.lang.IllegalStateException: Failed to load javax.xml.ws.spi.Provider: com.sun.xml.ws.spi.ProviderImpl
	at javax.xml.ws.spi.ProviderLoader.loadProvider(ProviderLoader.java:96)
	at javax.xml.ws.spi.Provider.provider(Provider.java:82)
	... 3 more
Caused by: java.lang.ExceptionInInitializerError
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:501)
	at java.lang.Class.newInstance0(Class.java:350)
	at java.lang.Class.newInstance(Class.java:303)
	at javax.xml.ws.spi.ProviderLoader.loadProvider(ProviderLoader.java:91)
	... 4 more
Caused by: javax.xml.ws.WebServiceException: Error creating JAXBContext for W3CEndpointReference. 
	at com.sun.xml.ws.spi.ProviderImpl.getEPRJaxbContext(ProviderImpl.java:188)
	at com.sun.xml.ws.spi.ProviderImpl.<clinit>(ProviderImpl.java:65)
	... 11 more
Caused by: com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 2 counts of IllegalAnnotationExceptions
Two classes have the same XML type name "address". Use @XmlType.name and @XmlType.namespace to assign different names to them.
	this problem is related to the following location:
		at com.sun.xml.ws.developer.MemberSubmissionEndpointReference$Address
		at public com.sun.xml.ws.developer.MemberSubmissionEndpointReference$Address com.sun.xml.ws.developer.MemberSubmissionEndpointReference.addr
		at com.sun.xml.ws.developer.MemberSubmissionEndpointReference
	this problem is related to the following location:
		at javax.xml.ws.wsaddressing.W3CEndpointReference$Address
		at private javax.xml.ws.wsaddressing.W3CEndpointReference$Address javax.xml.ws.wsaddressing.W3CEndpointReference.address
		at javax.xml.ws.wsaddressing.W3CEndpointReference
Two classes have the same XML type name "elements". Use @XmlType.name and @XmlType.namespace to assign different names to them.
	this problem is related to the following location:
		at com.sun.xml.ws.developer.MemberSubmissionEndpointReference$Elements
		at public com.sun.xml.ws.developer.MemberSubmissionEndpointReference$Elements com.sun.xml.ws.developer.MemberSubmissionEndpointReference.referenceProperties
		at com.sun.xml.ws.developer.MemberSubmissionEndpointReference
	this problem is related to the following location:
		at javax.xml.ws.wsaddressing.W3CEndpointReference$Elements
		at private javax.xml.ws.wsaddressing.W3CEndpointReference$Elements javax.xml.ws.wsaddressing.W3CEndpointReference.referenceParameters
		at javax.xml.ws.wsaddressing.W3CEndpointReference

	at com.sun.xml.bind.v2.runtime.IllegalAnnotationsException$Builder.check(IllegalAnnotationsException.java:102)
	at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:438)
	at com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:286)
	at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:139)
	at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:117)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:592)
	at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:211)
	at javax.xml.bind.ContextFinder.find(ContextFinder.java:372)
	at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:574)
	at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:522)
	at com.sun.xml.ws.spi.ProviderImpl.getEPRJaxbContext(ProviderImpl.java:186)
	... 12 more

 昨晚到今天早上一直被这问题困扰,后来还是jboss的论坛上找到了答案:

写道
Try to remove following jar files from your clients class path - jaxws-rt.jar
jaxws-tools.jar. This happended to me. Please try this. It might work.


---------------------------------------------------------------------------------------

Yes, it's a classpath problem. The JAX-WS provider is accessed by a Jar service loader. Depending on which jar is in the classpath it either loads the Jbossws one or the Sun RI one: com.sun.xml.ws.spi.ProviderImpl.

It's the two jars pramod_bs described. They only needed for the wsconsume and wsprovide tools, but shouldn't be on the client classpath.

 原来是jar包冲突啊,client目录下的jaxws-rt.jar jaxws-tools.jar只是给wsconsume wsprovide工具用的,不需要在测试时放到类路径里面。叫喊叫喊叫喊

 

这么篇抱怨的文章竟然还有人看那,那就接着再吐槽会。

我自己用的eclipse是最新的java ee Juno Service Release 1版,练习web service是因为在用jboss跑EJB3.0的例子。友情提醒各位,用jboss时一定要选好jboss的版本,否则这些坑爹的乱七八糟、奇奇怪怪的问题会不断骚扰你,jboss产品的版本控制太神奇了,不向前兼容,举个例子,4.0版本有的问题,4.2版本没了,但在5.0中竟然又出现了,就没个统一规划吗?

根据之前网上了解到的经验,个人推荐4.2GA版本做练习,貌似这个反馈的问题较其它版本而言好那么一点点。

 

0
1
分享到:
评论

相关推荐

    Run JBOSS4.2 as WIindows Service (NT Service)

    wrapper.ntservice.displayname=JBOSS4.2 CASE Service wrapper.ntservice.description=JBOSS 4.2 Service for CASE configuration # Server configuration wrapper.runas.username= wrapper.runas.password= # ...

    JBOSS4.2 基本配置(全)

    JBOSS4.2是一款开源的企业级Java应用服务器,它基于Java EE规范,提供了对Web服务、EJB(Enterprise JavaBeans)、JMS(Java Message Service)等众多服务的支持。在进行JBOSS4.2的基本配置时,我们需要关注以下几个...

    IIs6整合jboss4.2 配置开发包

    【标题】:“IIS6整合jboss4.2 配置开发包”涉及的主要知识点是将Internet Information Services (IIS) 6.0与Java应用服务器JBOSS 4.2进行集成,以便在Windows环境中运行Java应用程序。这通常是为了利用IIS的Web...

    ejb3.0 +jboss4.2 实例开发

    **ejb3.0 + jboss4.2 实例开发** EJB 3.0 (Enterprise JavaBeans 3.0) 是 Java 平台企业版 (Java EE) 的一部分,它简化了Java 应用服务器中的组件开发。在这个实例开发过程中,我们将探讨如何在 JBoss 4.2 服务器上...

    Jboss 4.2 入門

    Jboss 4.2 入門

    利用JBOSS开发WEB SERVICE

    本篇将深入探讨在JBoss应用服务器上构建Web Service的全面指南,涵盖从安装配置到开发、测试、安全及高级特性应用的全过程。重点包括JBossWS的功能介绍、安装流程、基本操作示例(如RPC、文档和消息风格端点)、基于...

    JBOSS4.2 自定义服务器(同一IP启动多个实例)

    ### JBoss 4.2 自定义服务器(在同一 IP 启动多个实例)配置方法详解 在企业级应用开发中,为了提高服务器资源利用率以及更好地进行应用程序的隔离与管理,经常需要在同一台物理服务器上部署多个独立的应用服务器...

    Java完整的Web Service示例代码,学会做web service程序

    1. **生成客户端代理类**:基于服务端的WSDL(Web Service Description Language)文件,你可以使用XFire的工具(如xsi或wsimport)来生成客户端所需的代理类。这些类提供了调用远程Web服务的方法。 2. **配置...

    在jboss上部署web应用

    - client目录:包含与JBoss客户端通信所需的Java库(JARs)。 - docs目录:存放JBoss服务器的文档和示例。 - lib目录:JBoss启动时加载的一般JAR文件,这些JAR文件可供所有配置共享。 - server目录:包含服务器配置...

    JBoss Application Server4.2 Clustering_Guide

    ### JBoss Application Server 4.2 集群指南知识点概览 #### 一、集群概念与定义 **1.1 引言** 本章节简要介绍了JBoss Application Server集群的概念,强调了集群在提高应用服务可用性及扩展性方面的重要性。 **...

    jboss4.2.pdf

    jboss4 JAVA jboss4 JAVA jboss4 JAVA jboss4 JAVA jboss4 JAVA jboss4 JAVA

    jboss-web.xml jndi.properties oracle-ds.xml

    首先,"jboss-web.xml"是JBoss特定的Web应用程序部署描述符,它是Tomcat中的web.xml在JBoss环境中的扩展。这个文件主要负责定义应用的Servlet、过滤器、监听器以及与EJB交互的JNDI(Java Naming and Directory ...

    mac linux 用jboss服务器搭建Restful web service demo

    mac linux 用 JBoss Restful 搭建Restful web service demo

    使用JBoss 4.2书写EJB3.0无状态会话Bean + JPA + MySql 5.0的Hello World Java EE应用

    5. 运行app.Test客户端测试类 使用Eclipse 3.4 Ganymede开发EJB3.0的JavaEE应用比较简化和方便。该示例使用EJB 3.0的无状态会话Bean呼叫JPA持久层完成数据库的操作,推荐广大企业级Java程序员项目中使用。 注意:...

    jax-ws WebService客户端与服务端工程.rar

    - **测试工具**:可以使用`WSDL`工具或`SOAPUI`进行Web服务的测试和调试。 6. **安全性**: - JAX-WS支持安全特性,如WS-Security(Web Services Security),可以添加数字签名和加密以确保数据的安全传输。 7. ...

    windows下JBOSS5.1.0部署web应用

    在`$JBOSS_HOME/server/default/conf/jboss-service.xml`中添加SSL端口配置,并在`$JBOSS_HOME/server/default/conf/server.xml`中配置`&lt;Connector&gt;`标签以启用SSL。 10. **配置双向SSL**: 双向SSL(也称为互认证...

    jboss-web-3.0.0-beta-2.zip_beta_jboss_jboss web 3.0_jboss-web

    8. **管理工具**:JBoss Web可能提供了图形化的管理控制台,用于监控和管理服务器状态、部署应用程序和配置安全策略。 9. **API支持**:支持各种标准API,如JMX(Java Management Extensions)用于管理和监控,以及...

    jboss7开发部署详细文档

    本文档提供了jboss7开发和部署的详细指导,涵盖了jboss7的下载与安装、Eclipse中配置jboss7、项目部署和JNDI获取等方面的内容,旨在帮助开发者快速上手jboss7,并将jboss4.2版本平滑地移植到jboss7。

    学习JAX-WSWebService开发

    总结来说,学习JAX-WSWebService开发意味着掌握Web服务的基本概念、JAX-WS的API用法,以及在MyEclipse这样的IDE中实现和调试Web服务的方法。通过这个过程,开发者可以熟练地创建、部署和调用Java平台上的Web服务,...

Global site tag (gtag.js) - Google Analytics