camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christian Mueller <christian.muel...@gmail.com>
Subject Re: SAXParseException by receiving a CXF web service response
Date Mon, 25 Apr 2011 19:09:16 GMT
Hello Willem!

Sorry for not answering so long, but last week I worked together with Ade on
a production issue for one of our customers...

We see this issue (more) often in our stress tests. We use the same request,
but changing one of the request identifiers (e.g. the financial transaction
id). We are using
{noformat}
java version "1.6.0_21"
Java(TM) SE Runtime Environment (build 1.6.0_21-b06)
Java HotSpot(TM) 64-Bit Server VM (build 17.0-b16, mixed mode)
{noformat}

on
{noformat}
Red Hat Enterprise Linux Server release 5.4 (Tikanga)
{noformat}

Our camel cxf configuration looks like the following:
{code}
  <camel-cxf:cxfEndpoint id="sspCoreService_1"
    address="http://server:8080/services/OrderEntry"

serviceClass="com.company.product.interfaces.module.OrderEntryWebService"
    endpointName="xxx:OrderEntryWebServicePort"
    serviceName="xxx:OrderEntryService"
    wsdlURL="META-INF/product/module/orderEntry.wsdl"
    xmlns:xxx="http://www.company.com/module/services/1_0_0">

    <camel-cxf:properties>
        <entry key="schema-validation-enabled" value="true" />
    </camel-cxf:properties>

    <camel-cxf:inInterceptors>
        <bean class="org.apache.cxf.interceptor.LoggingInInterceptor" />
    </camel-cxf:inInterceptors>
    <camel-cxf:inFaultInterceptors>
        <bean class="org.apache.cxf.interceptor.LoggingInInterceptor" />
    </camel-cxf:inFaultInterceptors>
    <camel-cxf:outInterceptors>
        <bean class="org.apache.cxf.interceptor.LoggingOutInterceptor" />
    </camel-cxf:outInterceptors>
    <camel-cxf:outFaultInterceptors>
        <bean class="org.apache.cxf.interceptor.LoggingOutInterceptor" />
    </camel-cxf:outFaultInterceptors>
  </camel-cxf:cxfEndpoint>
{code}

The WSDL file, the XSD file and the generated sources are imported from a
different bundle (which only generates the sources and packge it together
with the WSDL and XSD files) because we use it in multiple bundles.

It's not possible to run these services in an actual SMX version in short
time, because this requires some code changes. We also work on an upgrade to
SMX 4.3.1-fuse-xx-yy, but it take some time...

Best,
Christian

On Mon, Apr 18, 2011 at 5:28 AM, Willem.Jiang [via Camel] <
ml-node+4309922-425547214-65331@n5.nabble.com> wrote:

> Hi Christian,
>
> I need more information before digging into the issue.
> Are there lots of requests send the camel route at the same time?
> Are there request message are same?
>
> Which version of JDK are you using, there are some known JAXP issues
> that we fixed with Fuse ESB recently.
> Can you try to run the test with latest released Fuse ESB ?
>
> Willem
>
>
> On 4/18/11 5:52 AM, Christian Mueller wrote:
>
> > Hello list!
> >
> > We are using Camel 2.2.0-fuse-02-00 and receiving some times (not all
> times)
> > the following exception by validating the response against the WSDL file:
>
> >
> > {noformat}
> > --------------------------------------
> >
> > 2011-04-15 16:55:22,527 | INFO  | qtp-1596710415-1 | LoggingInInterceptor
>
> > | interceptor.LoggingInInterceptor  164 | Inbound Message
> >
> > ----------------------------
> >
> > ID: 1032
> >
> > Response-Code: 200
> > Encoding: UTF-8
> > Content-Type: text/xml;charset=utf-8
> > Headers: {content-type=[text/xml;charset=utf-8], Date=[Fri, 15 Apr 2011
> > 14:55:22 GMT], transfer-encoding=[chunked], Server=[Apache-Coyote/1.1]}
> >
> > Payload:<?xml version="1.0" ?><S:Envelope
> > xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Body><xxxResponse
> > xmlns="http://www.company.com/ssp-core/services/1_0_0"
> > xmlns:ns2="
> http://www.company.com/ssp/dictionary/1_0_0">...</xxxResponse></S:Body></S:Envelope>
> >
> > --------------------------------------
> > 2011-04-15 16:55:22,532 | WARN  | qtp-1596710415-1 |
> EndpointReferenceUtils
> > | .cxf.wsdl.EndpointReferenceUtils  718 | SAXException for newSchema()
> > org.xml.sax.SAXParseException: s4s-elt-invalid-content.1: The content of
> > 'schema' is invalid.  Element 'import' is invalid, misplaced, or occurs
> too
> > often.
> >          at
> >
> com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown
>
> > Source)
> >          at
> > com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(Unknown
>
> > Source)
> >          at
> >
> com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown
>
> > Source)
> >          at
> >
> com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.reportSchemaErr(Unknown
>
> > Source)
> >          at
> >
> com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.reportSchemaError(Unknown
>
> > Source)
> >          at
> >
> com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.traverseSchemas(Unknown
>
> > Source)
> >          at
> >
> com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.parseSchema(Unknown
>
> > Source)
> >          at
> >
> com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadSchema(Unknown
>
> > Source)
> >          at
> >
> com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadGrammar(Unknown
>
> > Source)
> >          at
> >
> com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadGrammar(Unknown
>
> > Source)
> >          at
> >
> com.sun.org.apache.xerces.internal.jaxp.validation.XMLSchemaFactory.newSchema(Unknown
>
> > Source)
> >          at
> >
> org.apache.cxf.wsdl.EndpointReferenceUtils.createSchema(EndpointReferenceUtils.java:712)
>
> >          at
> >
> org.apache.cxf.wsdl.EndpointReferenceUtils.getSchema(EndpointReferenceUtils.java:739)
>
> >          at
> >
> org.apache.cxf.interceptor.AbstractInDatabindingInterceptor.setSchemaInMessage(AbstractInDatabindingInterceptor.java:110)
>
> >          at
> >
> org.apache.cxf.interceptor.AbstractInDatabindingInterceptor.getDataReader(AbstractInDatabindingInterceptor.java:95)
>
> >          at
> >
> org.apache.cxf.interceptor.AbstractInDatabindingInterceptor.getDataReader(AbstractInDatabindingInterceptor.java:100)
>
> >          at
> >
> org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:69)
>
> >          at
> >
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:243)
>
> >          at
> org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:700)
> >          at
> >
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:2261)
>
> >          at
> >
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:2134)
>
> >          at
> >
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1988)
>
> >          at
> >
> org.apache.cxf.io.CacheAndWriteOutputStream.postClose(CacheAndWriteOutputStream.java:47)
>
> >          at
> > org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:188)
> >          at
> > org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)
> >          at
> > org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:639)
> >          at
> >
> org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
>
> >          at
> >
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:243)
>
> >          at
> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:487)
> >          at
> > org.apache.camel.component.cxf.CxfProducer.process(CxfProducer.java:146)
> >          at
> >
> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:97)
>
> >          at
> >
> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:95)
>
> >          at
> > org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:146)
> >          at
> > org.apache.camel.processor.SendProcessor.doProcess(SendProcessor.java:94)
>
> >          at
> > org.apache.camel.processor.SendProcessor.process(SendProcessor.java:82)
> >          at
> >
> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)
>
> >          at
> >
> org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
>
> >          at
> >
> org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
>
> >          at
> >
> org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:161)
>
> >          at
> >
> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)
>
> >          at
> >
> org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:177)
>
> >          at
> >
> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:143)
>
> >          at
> >
> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
>
> >          at
> >
> org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)
>
> >          at
> >
> org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:228)
> >          at
> >
> org.apache.camel.processor.loadbalancer.FailOverLoadBalancer.processExchange(FailOverLoadBalancer.java:121)
>
> >          at
> >
> org.apache.camel.processor.loadbalancer.FailOverLoadBalancer.process(FailOverLoadBalancer.java:84)
>
> >          at
> >
> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)
>
> >          at
> >
> org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
>
> >          at
> >
> org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
>
> >          at
> >
> org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:161)
>
> >          at
> >
> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)
>
> >          at
> >
> org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:177)
>
> >          at
> >
> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:143)
>
> >          at
> >
> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
>
> >          at
> >
> org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)
>
> >          at
> >
> org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:228)
> >          at org.apache.camel.processor.Pipeline.process(Pipeline.java:74)
>
> >          at
> >
> org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:76)
>
> >          at
> >
> org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
>
> >          at
> >
> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)
>
> >          at
> >
> org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:45)
>
> >          at
> org.apache.camel.processor.Enricher.process(Enricher.java:102)
> >          at
> >
> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)
>
> >          at
> >
> org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
>
> >          at
> >
> org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
>
> >          at
> >
> org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:161)
>
> >          at
> >
> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)
>
> >          at
> >
> org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:177)
>
> >          at
> >
> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:143)
>
> >          at
> >
> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
>
> >          at
> >
> org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)
>
> >          at
> >
> org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:228)
> >         at org.apache.camel.processor.Pipeline.process(Pipeline.java:74)
> >          at
> >
> org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:76)
>
> >          at
> >
> org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
>
> >          at
> >
> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)
>
> >          at
> >
> org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:45)
>
> >          at
> >
> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:97)
>
> >          at
> >
> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:95)
>
> >          at
> > org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:146)
> >          at
> > org.apache.camel.processor.SendProcessor.doProcess(SendProcessor.java:94)
>
> >          at
> > org.apache.camel.processor.SendProcessor.process(SendProcessor.java:82)
> >          at
> >
> org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
>
> >          at
> >
> org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
>
> >          at
> >
> org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:161)
>
> >          at
> >
> org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:177)
>
> >          at
> >
> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:143)
>
> >          at
> >
> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
>
> >          at
> >
> org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)
>
> >          at
> >
> org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:228)
> >          at
> >
> org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
>
> >          at
> >
> org.apache.camel.processor.ChoiceProcessor.process(ChoiceProcessor.java:51)
> >          at
> >
> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)
>
> >          at
> >
> org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
>
> >          at
> >
> org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
>
> >          at
> >
> org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:161)
>
> >          at
> >
> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)
>
> >          at
> >
> org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:177)
>
> >          at
> >
> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:143)
>
> >          at
> >
> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
>
> >          at
> >
> org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)
>
> >          at
> >
> org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:228)
> >          at
> >
> org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:66)
>
> >          at
> >
> org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
>
> >          at
> >
> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)
>
> >          at
> > org.apache.camel.component.cxf.CxfConsumer$1.invoke(CxfConsumer.java:91)
> >          at
> >
> org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58)
>
> >          at java.util.concurrent.Executors$RunnableAdapter.call(Unknown
> > Source)
> >          at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
>
> >          at java.util.concurrent.FutureTask.run(Unknown Source)
> >          at
> >
> org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)
>
> >          at
> >
> org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:106)
>
> >          at
> >
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:243)
>
> >          at
> >
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:110)
>
> >          at
> >
> org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:312)
>
> >          at
> >
> org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:276)
>
> >          at
> >
> org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:70)
>
> >          at
> > org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
> >          at
> >
> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
>
> >          at
> > org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
> >          at org.mortbay.jetty.Server.handle(Server.java:326)
> >          at
> > org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
> >          at
> >
> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:938)
>
> >          at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755)
> >          at
> org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
> >          at
> org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
> >          at
> >
> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
>
> >          at
> >
> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
>
> > 2011-04-15 16:55:22,534 | INFO  | qtp-1596710415-1 |
> EndpointReferenceUtils
> > | .cxf.wsdl.EndpointReferenceUtils  721 | Schema for: null
> > <?xml version="1.0" encoding="utf-8"?>
> > <xsd:schema xmlns:ssp="http://www.company.com/ssp-core/services/1_0_0"
> > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
> > xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
> > xmlns:xsd="http://www.w3.org/2001/XMLSchema">
> >           <xsd:import
> > namespace="http://www.company.com/ssp-core/services/1_0_0"
> > schemaLocation="sspCore-wlsi.xsd"/>
> >        </xsd:schema>
> > {noformat}
> >
> > The response was processed properly, but this exception irritated us. Any
>
> > ideas what was wrong?
> >
> > Christian
> >
> > --
> > View this message in context:
> http://camel.465427.n5.nabble.com/SAXParseException-by-receiving-a-CXF-web-service-response-tp4309583p4309583.html<http://camel.465427.n5.nabble.com/SAXParseException-by-receiving-a-CXF-web-service-response-tp4309583p4309583.html?by-user=t>
> > Sent from the Camel - Users mailing list archive at Nabble.com.
> >
>
>
> --
> Willem
> ----------------------------------
> FuseSource
> Web: http://www.fusesource.com
> Blog:    http://willemjiang.blogspot.com (English)
>           http://jnn.javaeye.com (Chinese)
> Twitter: willemjiang
>
> Connect at CamelOne May 24-26
> The Open Source Integration Conference
> http://camelone.com
>
>
> ------------------------------
>  If you reply to this email, your message will be added to the discussion
> below:
>
> http://camel.465427.n5.nabble.com/SAXParseException-by-receiving-a-CXF-web-service-response-tp4309583p4309922.html
>  To unsubscribe from SAXParseException by receiving a CXF web service
> response, click here<http://camel.465427.n5.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=4309583&code=Y2hyaXN0aWFuLm11ZWxsZXJAZ21haWwuY29tfDQzMDk1ODN8LTY2MDEwNjQxMA==>.
>
>


--
View this message in context: http://camel.465427.n5.nabble.com/SAXParseException-by-receiving-a-CXF-web-service-response-tp4309583p4339086.html
Sent from the Camel - Users mailing list archive at Nabble.com.
Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message