【发布时间】:2011-01-23 07:09:00
【问题描述】:
我有一个调用 SOAP 服务的应用程序客户端。我已经使用 glassfish 发行版中的 wsimport 来生成 ws 类,并且在 Glassfish v2 中一切正常。当我从 v3 运行它(webstart)时,应用程序运行良好,但是当我发起 SOAP 调用时,我得到了
Exception in thread "Thread-146" java.lang.NoClassDefFoundError: com/sun/istack/logging/Logger
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at com.sun.jnlp.JNLPClassLoader.findClass(JNLPClassLoader.java:257)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
at com.sun.xml.ws.policy.jaxws.WsitPolicyResolver.<clinit>(WsitPolicyResolver.java:62)
at com.sun.xml.ws.policy.jaxws.WsitPolicyResolverFactory.doCreate(WsitPolicyResolverFactory.java:48)
at com.sun.xml.ws.api.policy.PolicyResolverFactory.create(PolicyResolverFactory.java:58)
at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:131)
at com.sun.xml.ws.client.WSServiceDelegate.parseWSDL(WSServiceDelegate.java:267)
at com.sun.xml.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:230)
at com.sun.xml.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:178)
at com.sun.xml.ws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:106)
at javax.xml.ws.Service.<init>(Service.java:56)
at (class generated from wsdl)
at (SOAP call)
我什至在任何地方都找不到命名类,而且网上似乎几乎没有提到它。
编辑它在 jaxb-osgi.jar 中
这不是应该由 glassfish 提供的吗?如果我将它包含在我的应用中,肯定会带来冲突风险吗?
【问题讨论】:
-
您好想再次提出这个问题。不幸的是,由于 Oracle 和 Java.net 发生了如此巨大的变化,wiki 页面不再工作,我无法弄清楚细节(通过了粘贴——这非常有帮助)。所以情况是这样的,我有一个需要从 glassfish v3 服务器调用 Web 服务的 Java Web Start 应用程序。它似乎 100% 可重现。问题是javaws(客户端jdk)是2.1,但glassfish是2.2。 Glassfish 决定告诉 Web 启动应用程序加载哪些 jar。 web start 应用使用的资源包括:jaxb-api-os
-
我遇到了同样的问题。你有没有设法解决它?
标签: glassfish jax-ws classloader glassfish-3