创建JAX-WS客户端实例以访问服务的问题

时间:2013-03-13 07:56:21

标签: java web-services jax-ws webservice-client

我刚接触Webservices。 我试图从WSDL文件创建一个JAX-WS客户端。使用RAD 8.0,我生成了包括代理,SEI和Webservice客户端的类。现在我试图将暴露的webservice方法作为一个独立的应用程序。 我已经将jaxws-rt-2.1.4.jar添加到了类路径中。

从主类中,如果我尝试创建客户端实例来访问服务,则会出现以下错误。

 Exception in thread "main" java.lang.ExceptionInInitializerError
at java.lang.J9VMInternals.initialize(J9VMInternals.java:227)
at java.lang.J9VMInternals.newInstanceImpl(Native Method)
at java.lang.Class.newInstance(Class.java:1345)
at java.util.ServiceLoader$ServiceIterator.next(ServiceLoader.java:195)
at javax.xml.ws.spi.Provider.getProviderUsingServiceLoader(Provider.java:146)
at javax.xml.ws.spi.Provider.provider(Provider.java:106)
at javax.xml.ws.Service.<init>(Service.java:57)
at com.royalbank.wcm_ap.ws_client.rbcauth.v1.AnPAuth.<init>(AnPAuth.java:35)
at com.royalbank.wcm_ap.ws_client.rbcauth.v1.TestClass.main(TestClass.java:53)
  Caused by: javax.xml.ws.WebServiceException: Error creating JAXBContext for W3CEndpointReference. 
at com.sun.xml.ws.spi.ProviderImpl$2.run(ProviderImpl.java:222)
at com.sun.xml.ws.spi.ProviderImpl$2.run(ProviderImpl.java:218)
at java.security.AccessController.doPrivileged(AccessController.java:203)
at com.sun.xml.ws.spi.ProviderImpl.getEPRJaxbContext(ProviderImpl.java:217)
at com.sun.xml.ws.spi.ProviderImpl.<clinit>(ProviderImpl.java:88)
at java.lang.J9VMInternals.initializeImpl(Native Method)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:205)
... 8 more
 Caused by: javax.xml.bind.JAXBException
    - with linked exception:
  [java.lang.ClassNotFoundException: com.ibm.xml.xlxp2.jaxb.JAXBContextFactory]
at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:207)
at javax.xml.bind.ContextFinder.find(ContextFinder.java:401)
at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:618)
at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:565)
at com.sun.xml.ws.spi.ProviderImpl$2.run(ProviderImpl.java:220)

我在这里错过了一些有关配置的内容吗?提前谢谢:)

1 个答案:

答案 0 :(得分:3)

可以在jar“com.ibm.jaxws.thinclient_8.5.0.jar”中找到Missing类“com.ibm.xml.xlxp2.jaxb.JAXBContextFactory”,它将在Websphere App服务器的服务器运行时目录中提供:C:\ Program Files \ IBM \ WebSphere \ AppServer \ runtimes。

请包含此jar仅用于编译目的,并且不要在WAR或EAR中包含此jar,因为它会与您的服务器运行时库jar冲突。

对于服务器WAS 8.0,路径jar将为“com.ibm.jaxws.thinclient_8.0.0.jar”。