axis fault: Did not understand "MustUnderstand"

Hi,

I'm invoking an axis service. I have used wss4j to encrypt my message. I have used handlers in my client and server. after sending the request I recieve this fault message.

do you have any idea about how can I solve this problem?

*********** here's the falt message: ******************************************

Exception in thread "main" AxisFault

faultCode: {http://schemas.xmlsoap.org/soap/envelope/}MustUnderstand

faultSubcode:

faultString: Did not understand "MustUnderstand" header(s):{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd}Security

faultActor:

faultNode:

faultDetail:

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

Did not understand "MustUnderstand" header(s):{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd}Security

at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:222)

at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:129)

at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)

at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)

at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source)

at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)

at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)

at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)

at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)

at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)

at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)

at javax.xml.parsers.SAXParser.parse(SAXParser.java:375)

at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)

at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)

at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)

at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)

at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)

at org.apache.axis.client.Call.invokeEngine(Call.java:2784)

at org.apache.axis.client.Call.invoke(Call.java:2767)

at org.apache.axis.client.Call.invoke(Call.java:2443)

at org.apache.axis.client.Call.invoke(Call.java:2366)

at org.apache.axis.client.Call.invoke(Call.java:1812)

at samples.stock.client.StockWss01SoapBindingStub.getQuote(StockWss01SoapBindingStub.java:106)

at samples.stock.client.StockServiceClient.main(StockServiceClient.java:38)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:585)

at com.intellij.rt.execution.application.AppMain.main(AppMain.java:90)

[3194 byte] By [zahraa] at [2007-10-3 4:50:57]
# 1
anyyone can help me?Message was edited by: zahra
zahraa at 2007-7-14 22:55:36 > top of Java-index,Enterprise & Remote Computing,Enterprise Technologies...
# 2
I have soap version 1.2, so it fully supports mustunderstand attribute. my axis version is 1.4.what's the problem so that the server can not understand the 'mustunderstand' attribute?Thanks
zahraa at 2007-7-14 22:55:36 > top of Java-index,Enterprise & Remote Computing,Enterprise Technologies...
# 3

Hi, It seems that your SOAP library cannot process your SOAP headers. I thinks it should be "mustUnderstand" instead of "MustUnderstand". I don't know if you specified this attribute by yourself or it is just created automatically. If it is created automatically, you can set it to false when you are encrypting your SOAP headers. I am not quite sure about the answer, but hope it works:)

Best Regards

@smile@

@smile@a at 2007-7-14 22:55:36 > top of Java-index,Enterprise & Remote Computing,Enterprise Technologies...