Are you running a Mavenized project so you can run it out of Eclipse to rule out CXF being the problem? If yes, did you import the project into Eclipse using mvn eclipse:eclipse? (http://www.jroller.com/gmazza/entry/web_service_tutorial#EclipseSetup <http://www.jroller.com/gmazza/entry/web_service_tutorial#EclipseSetup>). If yes again, you can see the libraries CXF is using via looking at the Eclipse .classpath file in the Navigator.

You can also download my soap handler tutorial ( http://www.jroller.com/gmazza/entry/jaxws_handler_tutorial), mvn eclipse:eclipse it into your IDE, and check the .classpath file to see if there's any difference between my tuturial and your code in the JARs being used.

HTH,
Glen

On 10/27/2012 07:24 PM, Mark Streit wrote:
Hello

Wondering if anyone has seen this ... As I am still hunting down  on my own.

I recently started using the latest CXF 2.7.0 release with a standalone
java  client program  we have been doing some simple POC work with.  I
created an entire new project (simple Java client) and included the CXF
2.7.0 JARs (except the jetty stuff and geronimo stuff) in the classpath of
the IDE project (I double checked the .classpath file manually)....

I am running this using plain Eclipse Indigo and DO NOT RELY on any JARs
provided by the IDE specifying explicitly all of the JARs to be used by the
java app configuration. This was working before with 2.6.x.

It all works fine until I attempt to use SOAP Headers using ONLY standard
jaxws handlers and NOT CXF interceptors.  When I run the client ... I see
the following stacktrace which raises 2 questions...

1) why the IBM class for SAAJ is showing up is suspicious and
2) some Xerces related class can't be found but there is no Xerces related
JAR that I can find in the 2.7.0 distribution.

I am guessing that something in my environment is fouled up.  The
IBM-specific class is obviously wrong...I assume?.  I am using this all
with Sun/Oracle JDK 1.6.0-34 and no IBM jars.

I must have missed something. Still looking.

Fwiw... The CXF interceptor related classes in the trace are NOT explicitly
used in my code but are showing up as a result of using only the java
standard jaxws API .

Exception in thread "main"* java.lang.NoClassDefFoundError:
org/apache/xerces/dom/AttrImpl*

at java.lang.ClassLoader.defineClass1(Native Method)

at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)

at java.lang.ClassLoader.defineClass(ClassLoader.java:615)

at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)

at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)

at java.net.URLClassLoader.access$000(URLClassLoader.java:58)

at java.net.URLClassLoader$1.run(URLClassLoader.java:197)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(URLClassLoader.java:190)

at java.lang.ClassLoader.loadClass(ClassLoader.java:306)

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)

at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

at
com.ibm.ws.webservices.engine.soap.MessageFactoryImpl.<init>(MessageFactoryImpl.java:116)

at
com.ibm.ws.webservices.engine.soap.SAAJMetaFactoryImpl.newMessageFactory(SAAJMetaFactoryImpl.java:56)

at javax.xml.soap.MessageFactory.newInstance(MessageFactory.java:148)

at javax.xml.soap.MessageFactory.newInstance(MessageFactory.java:114)

at
org.apache.cxf.binding.soap.saaj.SAAJFactoryResolver.createMessageFactory(SAAJFactoryResolver.java:56)

at
org.apache.cxf.binding.soap.saaj.SAAJOutInterceptor.getFactory(SAAJOutInterceptor.java:86)

at
org.apache.cxf.binding.soap.saaj.SAAJOutInterceptor.handleMessage(SAAJOutInterceptor.java:122)

at
org.apache.cxf.jaxws.handler.soap.SOAPHandlerInterceptor.handleMessage(SOAPHandlerInterceptor.java:120)

at
org.apache.cxf.jaxws.handler.soap.SOAPHandlerInterceptor.handleMessage(SOAPHandlerInterceptor.java:71)

at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:271)

at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:531)

at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:464)

at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:367)

at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:320)

at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:89)

at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:134)

at $Proxy30.getBook(Unknown Source)

at
com.acme.book.client.ws.CXFBookOrderManagerClient.main(CXFBookOrderManagerClient.java:116)


Thanks

Mark



--
Glen Mazza
Talend Community Coders - coders.talend.com
blog: www.jroller.com/gmazza

Reply via email to