You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by Michal <ca...@yahoo.com> on 2006/09/20 15:39:52 UTC

NPE when passing SOAP message with xmlns

I am sending a soap message to the WS that is running on servicemix.
Here it is:

<?xml version="1.0" encoding="UTF-8"?>
<e:Envelope xmlns:e="http://schemas.xmlsoap.org/soap/envelope/">
  <e:Body>
    <WSService>
      <param1>a</param1>
      <param2>
         <Nested xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
             test 
         </Nested>
      </param2>
    </WSService>
  </e:Body>
</e:Envelope>

So I am trying to invoke a service with two params where the first one is a
string and the second one is anyType.
I got NPE. When I remove all xmlns settings in Nested tag then it works
correctly.
What should I do to avoid this NPE (without removing xmlns settings)?

Here is the stack trace:

ERROR - DefaultFaultHandler            - Fault occurred!
java.lang.NullPointerException
        at
com.ctc.wstx.dom.DOMWrappingReader.getAttributeCount(DOMWrappingReade
r.java:263)
        at
org.codehaus.xfire.util.stax.DepthXMLStreamReader.getAttributeCount(D
epthXMLStreamReader.java:40)
        at
org.codehaus.xfire.util.stax.DepthXMLStreamReader.getAttributeCount(D
epthXMLStreamReader.java:40)
        at
org.codehaus.xfire.util.jdom.StaxBuilder.buildTree(StaxBuilder.java:3
89)
        at
org.codehaus.xfire.util.jdom.StaxBuilder.build(StaxBuilder.java:215)
        at
org.codehaus.xfire.aegis.type.xml.JDOMElementType.readObject(JDOMElem
entType.java:47)
        at
org.codehaus.xfire.aegis.AegisBindingProvider.readParameter(AegisBind
ingProvider.java:94)
        at
org.codehaus.xfire.service.binding.AbstractBinding.read(AbstractBindi
ng.java:208)
        at
org.codehaus.xfire.service.binding.WrappedBinding.readMessage(Wrapped
Binding.java:50)
        at
org.codehaus.xfire.soap.handler.SoapBodyHandler.invoke(SoapBodyHandle
r.java:42)
        at
org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.jav
a:110)
        at
org.codehaus.xfire.transport.DefaultEndpoint.onReceive(DefaultEndpoin
t.java:61)
        at
org.codehaus.xfire.transport.AbstractChannel.receive(AbstractChannel.
java:38)
        at
org.apache.servicemix.jsr181.Jsr181ExchangeProcessor.process(Jsr181Ex
changeProcessor.java:79)
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
BaseLifeCycle.java:397)
        at
org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
Cycle.java:42)
        at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
d(DeliveryChannelImpl.java:622)
        at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
w.java:168)
        at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
ava:176)
        at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
a:226)
        at
org.apache.geronimo.connector.work.WorkerContext.run(WorkerContext.ja
va:291)
        at
EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown So
urce)
        at java.lang.Thread.run(Thread.java:595)
WARN  - log                            - EXCEPTION
javax.servlet.ServletException: Failed to process request:
java.lang.Exception:
Unknown Error
        at
org.apache.servicemix.http.HttpBridgeServlet.doPost(HttpBridgeServlet
.java:78)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:615)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
        at
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:423
)
        at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:3
55)
        at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:5
67)
        at
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHand
lerCollection.java:147)
        at
org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.
java:126)
        at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:1
19)
        at org.mortbay.jetty.Server.handle(Server.java:248)
        at
org.mortbay.jetty.HttpConnection.handlerRequest(HttpConnection.java:3
60)
        at
org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnectio
n.java:628)
        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:611)
        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:193)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:288)
        at
org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.
java:180)
        at
org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool
.java:475)
WARN  - log                            - Nested in
javax.servlet.ServletExceptio
n: Failed to process request: java.lang.Exception: Unknown Error:
java.lang.Exception: Unknown Error
        at
org.apache.servicemix.http.processors.ConsumerProcessor.process(Consu
merProcessor.java:196)
        at
org.apache.servicemix.http.HttpBridgeServlet.doPost(HttpBridgeServlet
.java:70)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:615)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
        at
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:423
)
        at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:3
55)
        at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:5
67)
        at
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHand
lerCollection.java:147)
        at
org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.
java:126)
        at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:1
19)
        at org.mortbay.jetty.Server.handle(Server.java:248)
        at
org.mortbay.jetty.HttpConnection.handlerRequest(HttpConnection.java:3
60)
        at
org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnectio
n.java:628)
        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:611)
        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:193)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:288)
        at
org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.
java:180)
        at
org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool
.java:475)
WARN  - log                            - /myWebService/:
java.lang.Exception: Unknown Error
        at
org.apache.servicemix.http.processors.ConsumerProcessor.process(Consu
merProcessor.java:196)
        at
org.apache.servicemix.http.HttpBridgeServlet.doPost(HttpBridgeServlet
.java:70)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:615)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
        at
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:423
)
        at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:3


-- 
View this message in context: http://www.nabble.com/NPE-when-passing-SOAP-message-with-xmlns-tf2305377.html#a6407872
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: NPE when passing SOAP message with xmlns

Posted by Guillaume Nodet <gn...@gmail.com>.
Well, first you should try with the (still) unoffical 3.0 available at [1].
You may try to upgrade woodstox stax parser to the latest version [2].
If this does not work, please raise a JIRA and attach the needed files
to reproduce the problem.

[1] http://servicemix.goopen.org/site/servicemix-30.html
[2] http://woodstox.codehaus.org/3.0.1/wstx-asl-3.0.1.jar

On 9/20/06, Michal <ca...@yahoo.com> wrote:
>
> I am sending a soap message to the WS that is running on servicemix.
> Here it is:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <e:Envelope xmlns:e="http://schemas.xmlsoap.org/soap/envelope/">
>   <e:Body>
>     <WSService>
>       <param1>a</param1>
>       <param2>
>          <Nested xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>                       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
>              test
>          </Nested>
>       </param2>
>     </WSService>
>   </e:Body>
> </e:Envelope>
>
> So I am trying to invoke a service with two params where the first one is a
> string and the second one is anyType.
> I got NPE. When I remove all xmlns settings in Nested tag then it works
> correctly.
> What should I do to avoid this NPE (without removing xmlns settings)?
>
> Here is the stack trace:
>
> ERROR - DefaultFaultHandler            - Fault occurred!
> java.lang.NullPointerException
>         at
> com.ctc.wstx.dom.DOMWrappingReader.getAttributeCount(DOMWrappingReade
> r.java:263)
>         at
> org.codehaus.xfire.util.stax.DepthXMLStreamReader.getAttributeCount(D
> epthXMLStreamReader.java:40)
>         at
> org.codehaus.xfire.util.stax.DepthXMLStreamReader.getAttributeCount(D
> epthXMLStreamReader.java:40)
>         at
> org.codehaus.xfire.util.jdom.StaxBuilder.buildTree(StaxBuilder.java:3
> 89)
>         at
> org.codehaus.xfire.util.jdom.StaxBuilder.build(StaxBuilder.java:215)
>         at
> org.codehaus.xfire.aegis.type.xml.JDOMElementType.readObject(JDOMElem
> entType.java:47)
>         at
> org.codehaus.xfire.aegis.AegisBindingProvider.readParameter(AegisBind
> ingProvider.java:94)
>         at
> org.codehaus.xfire.service.binding.AbstractBinding.read(AbstractBindi
> ng.java:208)
>         at
> org.codehaus.xfire.service.binding.WrappedBinding.readMessage(Wrapped
> Binding.java:50)
>         at
> org.codehaus.xfire.soap.handler.SoapBodyHandler.invoke(SoapBodyHandle
> r.java:42)
>         at
> org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.jav
> a:110)
>         at
> org.codehaus.xfire.transport.DefaultEndpoint.onReceive(DefaultEndpoin
> t.java:61)
>         at
> org.codehaus.xfire.transport.AbstractChannel.receive(AbstractChannel.
> java:38)
>         at
> org.apache.servicemix.jsr181.Jsr181ExchangeProcessor.process(Jsr181Ex
> changeProcessor.java:79)
>         at
> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
> BaseLifeCycle.java:397)
>         at
> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
> Cycle.java:42)
>         at
> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
> d(DeliveryChannelImpl.java:622)
>         at
> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
> w.java:168)
>         at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
> ava:176)
>         at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
> a:226)
>         at
> org.apache.geronimo.connector.work.WorkerContext.run(WorkerContext.ja
> va:291)
>         at
> EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown So
> urce)
>         at java.lang.Thread.run(Thread.java:595)
> WARN  - log                            - EXCEPTION
> javax.servlet.ServletException: Failed to process request:
> java.lang.Exception:
> Unknown Error
>         at
> org.apache.servicemix.http.HttpBridgeServlet.doPost(HttpBridgeServlet
> .java:78)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:615)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>         at
> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:423
> )
>         at
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:3
> 55)
>         at
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:5
> 67)
>         at
> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHand
> lerCollection.java:147)
>         at
> org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.
> java:126)
>         at
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:1
> 19)
>         at org.mortbay.jetty.Server.handle(Server.java:248)
>         at
> org.mortbay.jetty.HttpConnection.handlerRequest(HttpConnection.java:3
> 60)
>         at
> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnectio
> n.java:628)
>         at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:611)
>         at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:193)
>         at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:288)
>         at
> org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.
> java:180)
>         at
> org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool
> .java:475)
> WARN  - log                            - Nested in
> javax.servlet.ServletExceptio
> n: Failed to process request: java.lang.Exception: Unknown Error:
> java.lang.Exception: Unknown Error
>         at
> org.apache.servicemix.http.processors.ConsumerProcessor.process(Consu
> merProcessor.java:196)
>         at
> org.apache.servicemix.http.HttpBridgeServlet.doPost(HttpBridgeServlet
> .java:70)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:615)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>         at
> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:423
> )
>         at
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:3
> 55)
>         at
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:5
> 67)
>         at
> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHand
> lerCollection.java:147)
>         at
> org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.
> java:126)
>         at
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:1
> 19)
>         at org.mortbay.jetty.Server.handle(Server.java:248)
>         at
> org.mortbay.jetty.HttpConnection.handlerRequest(HttpConnection.java:3
> 60)
>         at
> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnectio
> n.java:628)
>         at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:611)
>         at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:193)
>         at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:288)
>         at
> org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.
> java:180)
>         at
> org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool
> .java:475)
> WARN  - log                            - /myWebService/:
> java.lang.Exception: Unknown Error
>         at
> org.apache.servicemix.http.processors.ConsumerProcessor.process(Consu
> merProcessor.java:196)
>         at
> org.apache.servicemix.http.HttpBridgeServlet.doPost(HttpBridgeServlet
> .java:70)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:615)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>         at
> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:423
> )
>         at
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:3
>
>
> --
> View this message in context: http://www.nabble.com/NPE-when-passing-SOAP-message-with-xmlns-tf2305377.html#a6407872
> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>
>


-- 
Cheers,
Guillaume Nodet