your exception stracktrace seems to indicate that the problem is happening when the response message is being processed. Can you check how the request message from the cxf-client and the response message to the cxt-client look (e.g., using the logging feature of cxf or capturing the wire messages)?
regards, aki 2014-11-23 22:57 GMT+01:00 Alex O'Ree <spyhunte...@gmail.com>: > Howdy all, never ran into an issue I haven't seen before. > > > I have a jaxws client, running within tomcat. I.e. a client within tomcat > is calling another service in a different tomcat container. From what I can > tell the requestor is throwing the fault before transmission. > > This is a wsdl first scenario and I can't modify the wsdl. > > Wsdl is located at > > https://git-wip-us.apache.org/repos/asf/juddi.git/?p=juddi.git;a=blob_plain;f=uddi-ws/src/main/resources/uddi_v3_service.wsdl;hb=HEAD > > Method is on the UDDI_Replication Port, get_changeRecords. > > > Preconditions: this only happens in a web container (Tomcat 6 in this case) > with CXF 2.7.x. Clients using the jaxws ri don't have a problem. I haven't > tried other versions of tomcat, cxf or other containers. > > Note: the invocation does work correctly from SOAP UI, which leads me to > believe it's a client side issues. It also works using the jdk's jaxws ri > without any issues. > > > There's one warning from the log that may be related. > > WARNING: Could not unwrap Operation > {urn:uddi-org:repl_v3_portType}get_changeRecords to match method "public > abstract java.util.List > org.uddi.v3_service.UDDIReplicationPortType.getChangeRecords(java.lang.String,org.uddi.repl_v3.HighWaterMarkVectorType,java.math.BigInteger,org.uddi.repl_v3.HighWaterMarkVectorType) > throws > org.uddi.v3_service.DispositionReportFaultMessage,java.rmi.RemoteException" > > The client is constructed using the original wsdl file that's within the > classpath > > > log output below > > Nov 23, 2014 3:20:50 PM org.apache.cxf.phase.PhaseInterceptorChain > doDefaultLogging > > WARNING: Interceptor for > {urn:uddi-org:repl_v3_portType}UDDI_Replication_PortType#{urn:uddi-org:repl_v3_portType}get_changeRecords > has thrown exception, unwinding now > > org.apache.cxf.interceptor.Fault: Unmarshalling Error: > cvc-complex-type.2.3: Element 'get_changeRecords' cannot have character > [children], because the type's content type is element-only. > > at > org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:881) > > at > org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:702) > > at org.apache.cxf.jaxb.io.DataReaderImpl.read(DataReaderImpl.java:160) > > at > org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:107) > > at > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:272) > > at > org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121) > > at > org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:241) > > at > org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:248) > > at > org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:222) > > at > org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:153) > > at > org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:171) > > at > org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:286) > > at > org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:206) > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) > > at > org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:262) > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) > > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) > > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:465) > > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) > > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) > > at > org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:394) > > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) > > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) > > at > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852) > > at > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) > > at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) > > at java.lang.Thread.run(Thread.java:745) > > Caused by: javax.xml.bind.UnmarshalException > > - with linked exception: > > [org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 497; > cvc-complex-type.2.3: Element 'get_changeRecords' cannot have character > [children], because the type's content type is element-only.] > > at > com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.handleStreamException(UnmarshallerImpl.java:435) > > at > com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:372) > > at > com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:349) > > at > org.apache.cxf.jaxb.JAXBEncoderDecoder.doUnmarshal(JAXBEncoderDecoder.java:842) > > at > org.apache.cxf.jaxb.JAXBEncoderDecoder.access$100(JAXBEncoderDecoder.java:101) > > at org.apache.cxf.jaxb.JAXBEncoderDecoder$2.run(JAXBEncoderDecoder.java:870) > > at java.security.AccessController.doPrivileged(Native Method) > > at > org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:868) > > ... 28 more > > Caused by: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 497; > cvc-complex-type.2.3: Element 'get_changeRecords' cannot have character > [children], because the type's content type is element-only. > > at > com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:198) > > at > com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:134) > > at > com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:437) > > at > com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:368) > > at > com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:325) > > at > com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportError(XMLSchemaValidator.java:458) > > at > com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.reportSchemaError(XMLSchemaValidator.java:3237) > > at > com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.elementLocallyValidComplexType(XMLSchemaValidator.java:3200) > > at > com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.elementLocallyValidType(XMLSchemaValidator.java:3160) > > at > com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.processElementContent(XMLSchemaValidator.java:3062) > > at > com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleEndElement(XMLSchemaValidator.java:2140) > > at > com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.endElement(XMLSchemaValidator.java:859) > > at > com.sun.org.apache.xerces.internal.jaxp.validation.ValidatorHandlerImpl.endElement(ValidatorHandlerImpl.java:584) > > at > com.sun.xml.bind.v2.runtime.unmarshaller.ValidatingUnmarshaller.endElement(ValidatingUnmarshaller.java:106) > > at > com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.handleEndElement(StAXStreamConnector.java:221) > > at > com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.bridge(StAXStreamConnector.java:185) > > at > com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:370) > > ... 34 more > > > Nov 23, 2014 3:20:50 PM org.apache.cxf.phase.PhaseInterceptorChain > doDefaultLogging > > WARNING: Interceptor for > {urn:uddi-org:repl_v3_portType}UDDI_Replication_PortType#{urn:uddi-org:repl_v3_portType}get_changeRecords > has thrown exception, unwinding now > > org.apache.cxf.interceptor.Fault: Unmarshalling Error: > cvc-complex-type.2.3: Element 'get_changeRecords' cannot have character > [children], because the type's content type is element-only. > > at > org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:881) > > at > org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:702) > > at org.apache.cxf.jaxb.io.DataReaderImpl.read(DataReaderImpl.java:160) > > at > org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:107) > > at > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:272) > > at > org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121) > > at > org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:241) > > at > org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:248) > > at > org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:222) > > at > org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:153) > > at > org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:171) > > at > org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:286) > > at > org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:206) > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) > > at > org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:262) > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) > > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) > > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:465) > > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) > > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) > > at > org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:394) > > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) > > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) > > at > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852) > > at > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) > > at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) > > at java.lang.Thread.run(Thread.java:745) > > Caused by: javax.xml.bind.UnmarshalException > > - with linked exception: > > [org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 497; > cvc-complex-type.2.3: Element 'get_changeRecords' cannot have character > [children], because the type's content type is element-only.] > > at > com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.handleStreamException(UnmarshallerImpl.java:435) > > at > com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:372) > > at > com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:349) > > at > org.apache.cxf.jaxb.JAXBEncoderDecoder.doUnmarshal(JAXBEncoderDecoder.java:842) > > at > org.apache.cxf.jaxb.JAXBEncoderDecoder.access$100(JAXBEncoderDecoder.java:101) > > at org.apache.cxf.jaxb.JAXBEncoderDecoder$2.run(JAXBEncoderDecoder.java:870) > > at java.security.AccessController.doPrivileged(Native Method) > > at > org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:868) > > ... 28 more > > Caused by: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 497; > cvc-complex-type.2.3: Element 'get_changeRecords' cannot have character > [children], because the type's content type is element-only. > > at > com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:198) > > at > com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:134) > > at > com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:437) > > at > com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:368) > > at > com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:325) > > at > com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportError(XMLSchemaValidator.java:458) > > at > com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.reportSchemaError(XMLSchemaValidator.java:3237) > > at > com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.elementLocallyValidComplexType(XMLSchemaValidator.java:3200) > > at > com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.elementLocallyValidType(XMLSchemaValidator.java:3160) > > at > com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.processElementContent(XMLSchemaValidator.java:3062) > > at > com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleEndElement(XMLSchemaValidator.java:2140) > > at > com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.endElement(XMLSchemaValidator.java:859) > > at > com.sun.org.apache.xerces.internal.jaxp.validation.ValidatorHandlerImpl.endElement(ValidatorHandlerImpl.java:584) > > at > com.sun.xml.bind.v2.runtime.unmarshaller.ValidatingUnmarshaller.endElement(ValidatingUnmarshaller.java:106) > > at > com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.handleEndElement(StAXStreamConnector.java:221) > > at > com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.bridge(StAXStreamConnector.java:185) > > at > com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:370) > > ... 34 more