You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Dorner Thomas <Th...@t-systems.com> on 2004/08/26 11:30:43 UTC

soap header problem

Hi all,

I have a problem when I send a SOAP Message with
the following header form gsoap-client to AXIS-WebService:

      <SOAP-ENV:Header>
         <sessionID xmlns="http://xml.apache.org/axis/session"></sessionID>
         <ClientID
xmlns="http://t-systems.de/pdmwebconnector/clientid">PDMWorkbenchClient</Cli
entID>
      </SOAP-ENV:Header>
      <SOAP-ENV:Body id="_0">
         ..........
      </SOAP-ENV:Body>
   </SOAP-ENV:Envelope>


When I use AXIS-Client, the SOAP-Header looks like this:

   <soapenv:Header>
      <ns1:sessionID
soapenv:actor="http://schemas.xmlsoap.org/soap/actor/next"
soapenv:mustUnderstand="0" xmlns:ns1
="http://xml.apache.org/axis/session">5744257808292276193</ns1:sessionID>
      <ns2:ClientID
soapenv:actor="http://schemas.xmlsoap.org/soap/actor/next"
soapenv:mustUnderstand="0" xmlns:ns2="http://t-
systems.de/pdmwebconnector/clientid">PDMWebConnectorClient</ns2:ClientID>
   </soapenv:Header>
   <soapenv:Body>
	.....
   </soapenv:Body>
</soapenv:Envelope>


The great difference is before the elementnames in the Header!?
There is a nsX: --> dont know what this is for???
Is it necessary for the Server???

I got following error:

SOAP FAULT: "http://xml.apache.org/axis/":Server
"Server Error"
Detail: Server Error
        at
org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:475)
        at org.apache.axis.server.AxisServer.invoke(AxisServer.java:285)
        at
org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:637)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
        at
org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:
301)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:247)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:193)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:256)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:191)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180
)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
        at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.
java:171)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641)
        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172
)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:174)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at
org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
        at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:594)
        at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConne
ction(Http11Protocol.java:392)
        at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
        at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
a:619)
        at java.lang.Thread.run(Thread.java:534)


Can somebody pls help me or give me a tip to solve this problem?

Thanks in advance
Thomas


RE: soap header problem

Posted by Anne Thomas Manes <an...@manes.net>.
Dorner, 

The use of default namespaces (message 1) versus namespace prefixes (message
2) makes no semantic difference. In both cases the qualified name of the
sessionID element is http://xml.apache.org/axis/session}sessionID, and the
qualified name of the ClientID element is
http://t-systems.de/pdmwebconnector/clientid}ClientID. 

Also, the soapenv:actor and soapenv:mustUnderstand attributes will have no
effect. They basically say, "The next node should process this header block,
but if it doesn't understand it, just ignore it."

The content of these two elements is different in the two messages, though.

The error indicates that there's a problem invoking the SOAP service, which
occurs before Axis tries to invoke your handler chain. 

Check to make sure your service is deployed properly.

Anne

-----Original Message-----
From: Dorner Thomas [mailto:Thomas.Dorner@t-systems.com] 
Sent: Thursday, August 26, 2004 5:31 AM
To: 'axis-user@ws.apache.org'
Subject: soap header problem

Hi all,

I have a problem when I send a SOAP Message with
the following header form gsoap-client to AXIS-WebService:

      <SOAP-ENV:Header>
         <sessionID xmlns="http://xml.apache.org/axis/session"></sessionID>
         <ClientID
xmlns="http://t-systems.de/pdmwebconnector/clientid">PDMWorkbenchClient</Cli
entID>
      </SOAP-ENV:Header>
      <SOAP-ENV:Body id="_0">
         ..........
      </SOAP-ENV:Body>
   </SOAP-ENV:Envelope>


When I use AXIS-Client, the SOAP-Header looks like this:

   <soapenv:Header>
      <ns1:sessionID
soapenv:actor="http://schemas.xmlsoap.org/soap/actor/next"
soapenv:mustUnderstand="0" xmlns:ns1
="http://xml.apache.org/axis/session">5744257808292276193</ns1:sessionID>
      <ns2:ClientID
soapenv:actor="http://schemas.xmlsoap.org/soap/actor/next"
soapenv:mustUnderstand="0" xmlns:ns2="http://t-
systems.de/pdmwebconnector/clientid">PDMWebConnectorClient</ns2:ClientID>
   </soapenv:Header>
   <soapenv:Body>
	.....
   </soapenv:Body>
</soapenv:Envelope>


The great difference is before the elementnames in the Header!?
There is a nsX: --> dont know what this is for???
Is it necessary for the Server???

I got following error:

SOAP FAULT: "http://xml.apache.org/axis/":Server
"Server Error"
Detail: Server Error
        at
org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:475)
        at org.apache.axis.server.AxisServer.invoke(AxisServer.java:285)
        at
org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:637)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
        at
org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:
301)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:247)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:193)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:256)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:191)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180
)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
        at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.
java:171)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641)
        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172
)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:174)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at
org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
        at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:594)
        at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConne
ction(Http11Protocol.java:392)
        at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
        at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
a:619)
        at java.lang.Thread.run(Thread.java:534)


Can somebody pls help me or give me a tip to solve this problem?

Thanks in advance
Thomas