Skip to Main Content

Integration

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

jax-ws standalone client null pointer exception

user3653687Apr 27 2010 — edited Apr 1 2011
I have created a simple jax-ws proxy service client in jDeveloper 11.1.1.2.0 that works within the jDeveloper environment but fails when I deploy it as a standalone client.

Here is the stack trace:
Exception in thread "main" java.lang.NullPointerException
at weblogic.wsee.jaxws.framework.policy.WSDLParserExtension.definitionsElements(WSDLParserExtension.java:294)
at com.sun.xml.ws.wsdl.parser.DelegatingParserExtension.definitionsElements(DelegatingParserExtension.java:91)
at com.sun.xml.ws.wsdl.parser.FoolProofParserExtension.definitionsElements(FoolProofParserExtension.java:96)
at com.sun.xml.ws.wsdl.parser.WSDLParserExtensionFacade.definitionsElements(WSDLParserExtensionFacade.java:136)
at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parseWSDL(RuntimeWSDLParser.java:357)
at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:168)
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>(Unknown Source)
at xs.http.myorg.xsd.ver1_0.reports_.ShowReportService.<init>(ShowReportService.java:68)
at xmlutility.XMLReports.submitReportsRequest(XMLReports.java:166)
at xmlutility.FlowTest.main(FlowTest.java:130)

I see that this is thrown during construction of my proxy service (ShowReportService) but do not understand why it occurs outside the jDeveloper environment.

Could there be something missing from the deployment? Or a classpath problem?

Comments

user3653687
Can someone describe how to deploy a stand-alone application that uses the jax-ws framework? Or point to a definitive example?

My application has been tested and works within the jDeveloper environment, but I need it to work in a foreign environment as a stand-alone application. The java version for both jDeveloper and the stand-alone app is:
java version "1.6.0_14"
Java(TM) SE Runtime Environment (build 1.6.0_14-b08)
Java HotSpot(TM) Client VM (build 14.0-b16, mixed mode)

My test is to execute against a jar file containing my app with all dependent libraries extracted in the foreign environment.

I deploy from jDeveloper using the client jar file option and adding all of the library dependency as contributors to a lib target directory in the jar.
I extract the lib/*.jar archives into a local lib directory.

I construct the manifest.mf in the jar file, here is what it looks like:
Manifest-Version: 1.0
Class-Path: lib/com.bea.core.antlr.runtime_2.7.7.jar lib/com.oracle.to plink_1.0.0.0_11-1-1-2-0.jar lib/dms.jar lib/javax.persistence_2.0_preview.jar lib/jrf.jar lib/ojdbc6.jar lib/ojdl.jar lib/orai18n-collation.jar lib/orai18n-lcsd.jar lib/orai18n-mapping.jar lib/orai18n-servlet.jar lib/orai18n-translation.jar lib/orai18n-utility.jar lib/orai18n.jar lib/org.eclipse.persistence_1.0.0.0_1-2-0.jar lib/weblogic.jar lib/wlfullclient.jar lib/xml.jar lib/xmlparserv2.jar
Main-Class: xmlutility.FlowTest

I execute the jar file as:
java -jar theDeployed.jar myInputData

I get the following class def not found stack trace:
Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/xml/ws/spi/ProviderImpl
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 java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at javax.xml.ws.spi.FactoryFinder.newInstance(FactoryFinder.java:34)
at javax.xml.ws.spi.FactoryFinder.find(FactoryFinder.java:95)
at javax.xml.ws.spi.Provider.provider(Provider.java:83)
at javax.xml.ws.Service.<init>(Service.java:56)
at xs.http.server.reports_.ShowReportService.<init>(ShowReportService.java:78)
at xmlutility.XMLReports.submitReportsRequest(XMLReports.java:166)
at xmlutility.FlowTest.main(FlowTest.java:130)
Caused by: java.lang.ClassNotFoundException: com.sun.xml.ws.spi.ProviderImpl
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
... 18 more


I have tried adding the webservices-rt.jar to the lib/ and classpath to get beyond the missing ProviderImpl, but fail at accessing the SAAJFactory:
Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/xml/ws/api/SAAJFactory
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 java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
at weblogic.wsee.jaxws.WLSContainer.<clinit>(WLSContainer.java:141)
at weblogic.wsee.jaxws.spi.WLSProvider.<clinit>(WLSProvider.java:46)
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:513)
at java.lang.Class.newInstance0(Class.java:355)
at java.lang.Class.newInstance(Class.java:308)
at javax.xml.ws.spi.FactoryFinder.newInstance(FactoryFinder.java:36)
at javax.xml.ws.spi.FactoryFinder.find(FactoryFinder.java:95)
at javax.xml.ws.spi.Provider.provider(Provider.java:83)
at javax.xml.ws.Service.<init>(Service.java:56)
at xs.http.server.reports_.ShowReportService.<init>(ShowReportService.java:78)
at xmlutility.XMLReports.submitReportsRequest(XMLReports.java:166)
at xmlutility.FlowTest.main(FlowTest.java:130)
Caused by: java.lang.ClassNotFoundException: com.sun.xml.ws.api.SAAJFactory
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
... 27 more

I think that I am missing some key configuration item because deploying this application should not be this difficult. I could keep throwing jars at the problem, but this is time consuming and is certainly not the right approach.

Any help would be appreciated.
765531
Did this issue get resolved? I have the same problem. Please let me know if there was a resolution to this issue.
791766
Hi ,
I am also getting the same error when i deploy it on a weblogic server.
It works fine in jdeveloper env.
Can you pls let me know if you had found solution for it
Given below is the error message
java.lang.NullPointerException
at weblogic.wsee.jaxws.framework.policy.WSDLParserExtension.definitionsElements(WSDLParserExtension.java:323)
at com.sun.xml.ws.wsdl.parser.DelegatingParserExtension.definitionsElements(DelegatingParserExtension.java:91)
at com.sun.xml.ws.wsdl.parser.FoolProofParserExtension.definitionsElements(FoolProofParserExtension.java:94)
at com.sun.xml.ws.wsdl.parser.WSDLParserExtensionFacade.definitionsElements(WSDLParserExtensionFacade.java:136)
at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parseWSDL(RuntimeWSDLParser.java:325)
at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:228)
at com.sun.xml.ws.server.EndpointFactory.getWSDLPort(EndpointFactory.java:512)
at com.sun.xml.ws.server.EndpointFactory.createEndpoint(EndpointFactory.java:174)
at com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:467)
at com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:510)
at weblogic.wsee.jaxws.JAXWSDeployedServlet.getEndpoint(JAXWSDeployedServlet.java:182)
at weblogic.wsee.jaxws.JAXWSServlet.registerEndpoint(JAXWSServlet.java:164)
at weblogic.wsee.jaxws.JAXWSServlet.init(JAXWSServlet.java:51)
at weblogic.wsee.jaxws.JAXWSDeployedServlet.init(JAXWSDeployedServlet.java:54)
at javax.servlet.GenericServlet.init(GenericServlet.java:242)
at weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:283)
at weblogic.security.service.SecurityManager.runAs(Unknown Source)
at weblogic.servlet.internal.StubSecurityHelper.createServlet(StubSecurityHelper.java:64)
at weblogic.servlet.internal.StubLifecycleHelper.createOneInstance(StubLifecycleHelper.java:58)
at weblogic.servlet.internal.StubLifecycleHelper.<init>(StubLifecycleHelper.java:48)
at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:521)
at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:1893)
at weblogic.servlet.internal.WebAppServletContext.loadServletsOnStartup(WebAppServletContext.java:1870)
at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1790)
at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:3000)
at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1371)
at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:471)
at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:205)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:60)
at weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedModuleDriver.java:201)
at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:118)
at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:205)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:60)
at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:28)
at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:636)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:212)
at weblogic.application.internal.EarDeployment.activate(EarDeployment.java:16)
at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:162)
at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:79)
at weblogic.deploy.internal.targetserver.operations.AbstractOperation.activate(AbstractOperation.java:569)
at weblogic.deploy.internal.targetserver.operations.ActivateOperation.activateDeployment(ActivateOperation.java:140)
at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doCommit(ActivateOperation.java:106)
at weblogic.deploy.internal.targetserver.operations.StartOperation.doCommit(StartOperation.java:143)
at weblogic.deploy.internal.targetserver.operations.AbstractOperation.commit(AbstractOperation.java:323)
at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentCommit(DeploymentManager.java:820)
at weblogic.deploy.internal.targetserver.DeploymentManager.activateDeploymentList(DeploymentManager.java:1227)
at weblogic.deploy.internal.targetserver.DeploymentManager.handleCommit(DeploymentManager.java:436)
at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.commit(DeploymentServiceDispatcher.java:164)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doCommitCallback(DeploymentReceiverCallbackDeliverer.java:181)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$100(DeploymentReceiverCallbackDeliverer.java:12)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$2.run(DeploymentReceiverCallbackDeliverer.java:68)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)

Thanks
Kannan

Edited by: Kannan_VZ on Mar 1, 2011 12:52 PM
852172
You need to find the *-rt.jar file and put it in your classpath. On weblogic this is called weblogic-rt.jar on jboss it is something like jaxbws-rt.jar
1 - 4
Locked Post
New comments cannot be posted to this locked post.

Post Details

Locked on Apr 29 2011
Added on Apr 27 2010
4 comments
7,492 views