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/24 18:57:14 UTC
mustUnderstand fault even after setProcessed(true)
Hi.
I have deployed a (message) web service with axis 1.1, but the service
is answering http/500, mustUnderstand failed. I find this extremely
weird, since I have marked the header as processed, like this:
SOAPHeaderElement soapHeaderElement;
try {
Iterator it = req.getHeader().getChildElements();
while (it.hasNext()) {
soapHeaderElement = (SOAPHeaderElement) it.next();
if (soapHeaderElement.getMustUnderstand()) {
soapHeaderElement.setProcessed(true);
}
}
} catch (Exception e) {
log.error("Error al obtener el Header del mensaje recibido");
throw new MM7Exception(MM7Exception.SERVER,
"The header from the received message couldn't be get.",
MM7_RES.SC_SERVERROR, e.getMessage());
}
The code executes (there is no exception raised) but the service
returns that it didn't understand the header with mustUnderstand="1".
This is the incoming message:
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Header>
<mm7:TransactionID env:mustUnderstand="1"
xmlns:mm7="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-2">20050824125910-D3323314@somehost.or.the.other</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>1234567890</Number>
</Sender>
<Recipients>
<To>
<Number>1234</Number>
</To>
</Recipients>
<Subject>Test</Subject>
<Content href="cid:mms_cid"/>
</DeliverReq>
</env:Body>
</env:Envelope>
And this is what is going back through the wire:
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<soapenv:Fault>
<faultcode>soapenv:MustUnderstand</faultcode>
<faultstring>Did not understand "MustUnderstand"
header(s):</faultstring>
<detail/>
</soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>
This is Axis 1.1 running on Tomcat 5.5/Linux. Any help is appreciated.
--
Javier Gonzalez Nicolini