3

我是 Web 服务的新手。我正在尝试从 WSDL 文件创建 JAX-WS 客户端。使用 RAD 8.0,我生成了包括代理、SEI 和 Web 服务客户端在内的类。现在我试图将公开的 Web 服务方法作为一个独立的应用程序来使用。我也将 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)

关于配置,我在这里遗漏了什么吗?提前致谢 :)

4

1 回答 1

3

缺少的类“com.ibm.xml.xlxp2.jaxb.JAXBContextFactory”在 jar“com.ibm.jaxws.thinclient_8.5.0.jar”中可用,该 jar 将在 Websphere App 服务器的服务器运行时目录中可用:C: \Program Files\IBM\WebSphere\AppServer\runtimes。

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

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

于 2013-07-13T07:56:01.110 回答