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 Javier Gonzalez <ja...@gmail.com> on 2005/08/25 23:31:16 UTC

how to indicate that I understand mustUnderstand-marked headers? (please help)

I have a service (Axis 1.2.1/Linux/Sun JVM 1.5/Tomcat 5.5.9) that is
being fed this SOAP input:

<?xml version="1.0" ?>

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">

<env:Header>

   <mm7:TransactionID
xmlns:mm7="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-2"
env:mustUnderstand="1">20050825172841-813BA45E@mmsc.spcs.cl</mm7:TransactionID>

</env:Header>

<env:Body>

   <DeliverReq xmlns="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-2">

      <MM7Version>5.3.0</MM7Version>

      <Sender>

         <Number>5698559357</Number>

      </Sender>

      <Recipients>

      <To>

      <Number>6272</Number>

      </To>

      </Recipients>

      <Subject>Multimedia Message</Subject>

      <Content href="cid:mms_cid"/>

   </DeliverReq>

</env:Body>

</env:Envelope>

The problem is that the Axis engine is rejecting the message on
"mustUnderstand" grounds - before my own class that implements the
service has a chance to even see the message:

2005-08-25 17:18:07,873
[apache.axis.EXCEPTIONS:org.apache.axis.transport.http.AxisServlet.processAxisFault(AxisServlet.java:386)]
DEBUG - AxisFault:
AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}MustUnderstand
 faultSubcode: 
 faultString: Did not understand &quot;MustUnderstand&quot; header(s):
 faultActor: 
 faultNode: 
 faultDetail: 
        {http://xml.apache.org/axis/}stackTrace:
        at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:96)
        at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
        at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
        at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
        at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:453)
        at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
        at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
        at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
        at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
        at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
        at java.lang.Thread.run(Thread.java:595)

        {http://xml.apache.org/axis/}hostname:desarrollo

Durint the whole invocation my class isn't called. I tried
implementing my own handler (subclassing BasicHandler) and add it to
the service, but it didn't get there either.

PLEASE help. Thanks in advance.

-- 
Javier Gonzalez Nicolini