I investigated this further:
soapui generates this post request, which works fine:
POST /arcgis/services HTTP/1.1
Content-Type: text/xml;charset=UTF-8
SOAPAction: ""
User-Agent: Jakarta Commons-HttpClient/3.0.1
Host: windows2003:8399
Content-Length: 244

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; xmlns:ns="http://www.esri.com/schemas/ArcGIS/9.2";>
  <soapenv:Header/>
  <soapenv:Body>
     <ns:GetServiceDescriptions/>
  </soapenv:Body>
</soapenv:Envelope>

servixemix generates this, which doesnt work:
POST /arcgis/services HTTP/1.1
Content-Type: text/xml;charset=UTF-8
Content-Length: 259
User-Agent: Jakarta Commons-HttpClient/3.0
Host: windows2003:8399

<html><head><title>Apache Tomcat/5.5.9 - Error report</title><style><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}--></style> </head><body><h1>HTTP Status 500 - </h1><HR size="1" noshade="noshade"><p><b>type</b> Exception report</p><p><b>message</b> <u></u></p><p><b>description</b> <u>The server encountered an internal error () that prevented it from fulfilling this request.</u></p><p><b>exception</b> <pre>javax.servlet.ServletException: AutomationException: Unspecified error
com.esri.arcgisws.DispatcherServlet.service(Unknown Source)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
</pre></p><p><b>note</b> <u>The full stack trace of the root cause is available in the Apache Tomcat/5.5.9 logs.</u></p><HR size="1" noshade="noshade"><h3>Apache Tomcat/5.5.9</h3></body></html>

The only difference that i see is the servicemix-versionis missing the soapaction header. I put it in the xbean.xml though.

So, what can i do about this. im really confused about this issue.

Thanks, Johannes

Hello,

i want to configure servicemix as a simple gateway for a soap WS.
I got it working in so far, that i can receive the wsdl of that proxied service.
But when i invoke an operation on it (via soapui) it gives me this error:
<html>
  <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
     <title>Error 500</title>
  </head>
  <body>
     <h2>HTTP ERROR: 500</h2>
<pre>org.apache.servicemix.soap.SoapFault: Unrecognized element: html at [1,1]. Expecting 'Envelope'.</pre>
     <p>RequestURI=/arcgis/services/</p>
     <h3>Caused by:</h3>
<pre>java.lang.Exception: org.apache.servicemix.soap.SoapFault: Unrecognized element: html at [1,1]. Expecting 'Envelope'. at org.apache.servicemix.http.processors.ConsumerProcessor.process(ConsumerProcessor.java:194) at org.apache.servicemix.http.HttpBridgeServlet.doPost(HttpBridgeServlet.java:71)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712) at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:211) at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
   at org.mortbay.jetty.Server.handle(Server.java:313)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:506)
   at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:375)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:396) at org.mortbay.jetty.nio.SelectChannelConnector$RetryContinuation.run(SelectChannelConnector.java:511) at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442) Caused by: org.apache.servicemix.soap.SoapFault: Unrecognized element: html at [1,1]. Expecting 'Envelope'. at org.apache.servicemix.soap.marshalers.SoapReader.readSoapUsingStax(SoapReader.java:167) at org.apache.servicemix.soap.marshalers.SoapReader.read(SoapReader.java:89) at org.apache.servicemix.soap.marshalers.SoapReader.read(SoapReader.java:76) at org.apache.servicemix.http.processors.ProviderProcessor.process(ProviderProcessor.java:164) at org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538) at org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490) at org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46) at org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610) at org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:170) 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:885) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
   at java.lang.Thread.run(Thread.java:619)</pre>
     <h3>Caused by:</h3>
<pre>org.apache.servicemix.soap.SoapFault: Unrecognized element: html at [1,1]. Expecting 'Envelope'. at org.apache.servicemix.soap.marshalers.SoapReader.readSoapUsingStax(SoapReader.java:167) at org.apache.servicemix.soap.marshalers.SoapReader.read(SoapReader.java:89) at org.apache.servicemix.soap.marshalers.SoapReader.read(SoapReader.java:76) at org.apache.servicemix.http.processors.ProviderProcessor.process(ProviderProcessor.java:164) at org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538) at org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490) at org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46) at org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610) at org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:170) 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:885) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
   at java.lang.Thread.run(Thread.java:619)</pre>
     <p>
        <i>
           <small>
              <a href="http://jetty.mortbay.org/";>Powered by Jetty://</a>
           </small>
        </i>
     </p>

  </body>
</html>

When i configure the endpoint without soap="true" i get this error:

<html>
  <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
     <title>Error 500</title>
  </head>
  <body>
     <h2>HTTP ERROR: 500</h2>
     <pre>Attempted read on closed stream.</pre>
     <p>RequestURI=/arcgis/services/</p>
     <h3>Caused by:</h3>
<pre>com.ctc.wstx.exc.WstxIOException: Attempted read on closed stream. at com.ctc.wstx.stax.WstxInputFactory.doCreateSR(WstxInputFactory.java:548) at com.ctc.wstx.stax.WstxInputFactory.createSR(WstxInputFactory.java:604) at com.ctc.wstx.stax.WstxInputFactory.createSR(WstxInputFactory.java:660) at com.ctc.wstx.stax.WstxInputFactory.createXMLStreamReader(WstxInputFactory.java:331) at org.apache.servicemix.jbi.jaxp.StAXSourceTransformer.toXMLStreamReader(StAXSourceTransformer.java:86) at org.apache.servicemix.soap.marshalers.SoapWriter.writeSimpleMessage(SoapWriter.java:120) at org.apache.servicemix.soap.marshalers.SoapWriter.write(SoapWriter.java:92) at org.apache.servicemix.http.processors.ConsumerProcessor.sendFault(ConsumerProcessor.java:277) at org.apache.servicemix.http.processors.ConsumerProcessor.processFault(ConsumerProcessor.java:234) at org.apache.servicemix.http.processors.ConsumerProcessor.process(ConsumerProcessor.java:201) at org.apache.servicemix.http.HttpBridgeServlet.doPost(HttpBridgeServlet.java:71)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712) at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:211) at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
   at org.mortbay.jetty.Server.handle(Server.java:313)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:506)
   at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:375)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:396) at org.mortbay.jetty.nio.SelectChannelConnector$RetryContinuation.run(SelectChannelConnector.java:511) at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)
Caused by: java.io.IOException: Attempted read on closed stream.
at org.apache.commons.httpclient.AutoCloseInputStream.isReadAllowed(AutoCloseInputStream.java:165) at org.apache.commons.httpclient.AutoCloseInputStream.read(AutoCloseInputStream.java:106)
   at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:264)
   at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:306)
   at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:158)
   at java.io.InputStreamReader.read(InputStreamReader.java:167)
at com.ctc.wstx.io.ReaderBootstrapper.initialLoad(ReaderBootstrapper.java:245) at com.ctc.wstx.io.ReaderBootstrapper.bootstrapInput(ReaderBootstrapper.java:132) at com.ctc.wstx.stax.WstxInputFactory.doCreateSR(WstxInputFactory.java:543)
   ... 24 more</pre>
     <h3>Caused by:</h3>
     <pre>java.io.IOException: Attempted read on closed stream.
at org.apache.commons.httpclient.AutoCloseInputStream.isReadAllowed(AutoCloseInputStream.java:165) at org.apache.commons.httpclient.AutoCloseInputStream.read(AutoCloseInputStream.java:106)
   at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:264)
   at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:306)
   at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:158)
   at java.io.InputStreamReader.read(InputStreamReader.java:167)
at com.ctc.wstx.io.ReaderBootstrapper.initialLoad(ReaderBootstrapper.java:245) at com.ctc.wstx.io.ReaderBootstrapper.bootstrapInput(ReaderBootstrapper.java:132) at com.ctc.wstx.stax.WstxInputFactory.doCreateSR(WstxInputFactory.java:543) at com.ctc.wstx.stax.WstxInputFactory.createSR(WstxInputFactory.java:604) at com.ctc.wstx.stax.WstxInputFactory.createSR(WstxInputFactory.java:660) at com.ctc.wstx.stax.WstxInputFactory.createXMLStreamReader(WstxInputFactory.java:331) at org.apache.servicemix.jbi.jaxp.StAXSourceTransformer.toXMLStreamReader(StAXSourceTransformer.java:86) at org.apache.servicemix.soap.marshalers.SoapWriter.writeSimpleMessage(SoapWriter.java:120) at org.apache.servicemix.soap.marshalers.SoapWriter.write(SoapWriter.java:92) at org.apache.servicemix.http.processors.ConsumerProcessor.sendFault(ConsumerProcessor.java:277) at org.apache.servicemix.http.processors.ConsumerProcessor.processFault(ConsumerProcessor.java:234) at org.apache.servicemix.http.processors.ConsumerProcessor.process(ConsumerProcessor.java:201) at org.apache.servicemix.http.HttpBridgeServlet.doPost(HttpBridgeServlet.java:71)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712) at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:211) at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
   at org.mortbay.jetty.Server.handle(Server.java:313)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:506)
   at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:375)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:396) at org.mortbay.jetty.nio.SelectChannelConnector$RetryContinuation.run(SelectChannelConnector.java:511) at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)</pre>
     <p>
        <i>
           <small>
              <a href="http://jetty.mortbay.org/";>Powered by Jetty://</a>
           </small>
        </i>
     </p>     </body>
</html>

Can anybody tell whats wrong here?

thanks, Johannes


Reply via email to