This stack trace shows that it's picking up and using the builtin JAXWS implementation instead of CXF. It looks like your plugin isn't getting the CXF classes at all.
In particular, it's not finding the META-INF/services/javax.xml.ws.spi.Provider file that would point at CXF. You MAY need to copy that file out of the cxf jar into your plugin to make the osgi stuff in eclipse happy. Dan On Thursday 29 January 2009 10:34:31 am pawel.jasinski wrote: > hi, > > I am trying to put together a eclipse rcp application which at the same > time is a web service provider. > I follow the standard process, > 1. create plug-in project from existing jars (lib folder of the cxf 2.1.3), > export all > 2. run wsdl2java, generate code into the second plug-in > 3. within the plug-in run the modified Impl of the server. > > When the runtime is set to sun jvm 6 (update10), the following exception is > thrown: > > java.lang.NullPointerException > at > com.sun.org.apache.xerces.internal.util.SymbolTable.hash(SymbolTable.java:1 >96) at > com.sun.org.apache.xerces.internal.util.SymbolTable.addSymbol(SymbolTable.j >ava:121) at > com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.getNamespaceURI >(XMLStreamReaderImpl.java:1277) at > com.sun.xml.internal.ws.util.xml.XMLStreamReaderFilter.getNamespaceURI(XMLS >treamReaderFilter.java:230) at > com.sun.xml.internal.ws.wsdl.parser.ParserUtil.getQName(ParserUtil.java:66) > at > com.sun.xml.internal.ws.wsdl.parser.RuntimeWSDLParser.parsePortTypeOperatio >nFault(RuntimeWSDLParser.java:696) at > com.sun.xml.internal.ws.wsdl.parser.RuntimeWSDLParser.parsePortTypeOperatio >n(RuntimeWSDLParser.java:686) at > com.sun.xml.internal.ws.wsdl.parser.RuntimeWSDLParser.parsePortType(Runtime >WSDLParser.java:656) at > com.sun.xml.internal.ws.wsdl.parser.RuntimeWSDLParser.parseWSDL(RuntimeWSDL >Parser.java:293) at > com.sun.xml.internal.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLPars >er.java:202) at > com.sun.xml.internal.ws.server.EndpointFactory.getWSDLPort(EndpointFactory. >java:494) at > com.sun.xml.internal.ws.server.EndpointFactory.createEndpoint(EndpointFacto >ry.java:160) at > com.sun.xml.internal.ws.api.server.WSEndpoint.create(WSEndpoint.java:420) > at > com.sun.xml.internal.ws.api.server.WSEndpoint.create(WSEndpoint.java:439) > at > com.sun.xml.internal.ws.transport.http.server.EndpointImpl.createEndpoint(E >ndpointImpl.java:208) at > com.sun.xml.internal.ws.transport.http.server.EndpointImpl.publish(Endpoint >Impl.java:138) at > com.sun.xml.internal.ws.spi.ProviderImpl.createAndPublishEndpoint(ProviderI >mpl.java:90) at javax.xml.ws.Endpoint.publish(Endpoint.java:170) > at > org.example.pubsubclient.NavigationView.startServer(NavigationView.java:101 >) at > org.example.pubsubclient.NavigationView$1.widgetSelected(NavigationView.jav >a:45) at > org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:228) > at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) > at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1158) > at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3401) > at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3033) > at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2382) > at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346) > at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2198) > at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493) > at > org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:288 >) at > org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:488) > at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) > at org.example.pubsubclient.Application.start(Application.java:20) > at > org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java >:193) at > org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication >(EclipseAppLauncher.java:110) at > org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseA >ppLauncher.java:79) at > org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:386 >) at > org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179 >) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:3 >9) at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImp >l.java:25) at java.lang.reflect.Method.invoke(Method.java:597) > at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:549) > at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504) > at org.eclipse.equinox.launcher.Main.run(Main.java:1236) > at org.eclipse.equinox.launcher.Main.main(Main.java:1212) > > > > The same problem comes up when I change to sun jvm 6 (update 4) on Linux or > Windows. > When the service is run as standalone java application (not as eclipse > plugin/osgi), problem is gone. > When the sun jvm 5 is used, problem goes away. > When the old workaround is followed (no default namespace is used in wsdl), > problem is gone. I can use it only as temporary workaround. > http://forums.java.net/jive/message.jspa?messageID=233066 > I also tried the second hint from the original problem description (copy > new JAXB-api into endorsed folder), no success. > > Any hint how to solve this puzzle and get it going in jvm 6 with arbitrary > WSDL? > > > Pawel -- Daniel Kulp [email protected] http://dankulp.com/blog
