soap-provider, soap-consumer throws javax.xml.stream.XMLStreamException
-----------------------------------------------------------------------

                 Key: SM-1630
                 URL: https://issues.apache.org/activemq/browse/SM-1630
             Project: ServiceMix
          Issue Type: Bug
          Components: servicemix-http
    Affects Versions: servicemix-http-2008.01, 3.2.2, 3.2.1
         Environment: FUSE ESB 3.3.1.8
            Reporter: Ɓukasz Dywicki
            Assignee: Guillaume Nodet
         Attachments: stax.patch

New style http endpoints doesn't work together.

Stack trace:
{quote}
org.apache.servicemix.soap.api.Fault: javax.xml.stream.XMLStreamException: Can 
not create StAX reader for the Source passed -- neither reader, input stream 
nor system id was accessible; can not use other types of sources (like embedded 
SAX streams)
        at 
org.apache.servicemix.soap.util.stax.StaxUtil.createReader(StaxUtil.java:75)
        at 
org.apache.servicemix.soap.interceptors.xml.BodyOutInterceptor.handleMessage(BodyOutInterceptor.java:37)
        at 
org.apache.servicemix.soap.core.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:85)
        at 
org.apache.servicemix.soap.bindings.soap.interceptors.SoapOutInterceptor.handleMessage(SoapOutInterceptor.java:79)
        at 
org.apache.servicemix.soap.core.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:85)
        at 
org.apache.servicemix.soap.interceptors.xml.StaxOutInterceptor.handleMessage(StaxOutInterceptor.java:51)
        at 
org.apache.servicemix.soap.core.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:85)
        at 
org.apache.servicemix.http.endpoints.HttpSoapProviderMarshaler.createRequest(HttpSoapProviderMarshaler.java:117)
        at 
org.apache.servicemix.http.endpoints.HttpProviderEndpoint.process(HttpProviderEndpoint.java:147)
        at 
org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:540)
        at 
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:492)
        at 
org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
        at 
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:620)
        at 
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
        at 
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
        at 
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
        at java.lang.Thread.run(Thread.java:595)
Caused by: javax.xml.stream.XMLStreamException: Can not create StAX reader for 
the Source passed -- neither reader, input stream nor system id was accessible; 
can not use other types of sources (like embedded SAX streams)
        at 
com.ctc.wstx.stax.WstxInputFactory.createSR(WstxInputFactory.java:768)
        at 
com.ctc.wstx.stax.WstxInputFactory.createXMLStreamReader(WstxInputFactory.java:341)
        at 
org.apache.servicemix.soap.util.stax.StaxUtil.createReader(StaxUtil.java:73)
{quote}

{quote}
<http:soap-consumer service="prefix:Service" interfaceName="prefix:Type" 
endpoint="proxy-consumer" targetService="prefix:Service" 
targetEndpoint="proxy-provider" targetInterface="prefix:Type" 
locationURI="http://some.url"; timeout="1200000" wsdl="classpath:/some.wsdl" 
useJbiWrapper="false" /> 
 <http:soap-provider service="prefix:Service" endpoint="proxy-provider" 
interfaceName="prefix:Type" locationURI="http://target.url"; 
wsdl="classpath:/some.wsdl" useJbiWrapper="false" clientSoTimeout="300000" /> 
{quote}

After talk with Guillaume I created patch. Resolution - use StaxSource from 
servicemix-utils. Patch is not tested. Please review.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to