You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fx-dev@ws.apache.org by Domenico Testa <do...@gmail.com> on 2005/08/30 19:04:49 UTC

Did not understand MustUnderstand header(s)

hi all,
I'm tring some functionality of wss4j. I'm using the stockQuoteService and I 
wanna use username and password for the request and encryption of the 
replied quote.

For the client I'm using the following cofiguration file:

-------------------
<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="
http://xml.apache.org/axis/wsdd/providers/java">
<transport name="http" pivot="java:org.apache.axis.transport.http.HTTPSender
"/>
<!-- <service name="xmltoday-delayed-quotes"> -->
<globalConfiguration>
<requestFlow>

<handler name="DoSecuritySender" type="java:
org.apache.ws.axis.security.WSDoAllSender">
<parameter name="action" value="UsernameToken"/>
<parameter name="user" value="wss4j"/>
<parameter name="passwordCallbackClass" value="
samples.stock.client.PWCallback"/>
<parameter name="passwordType" value="PasswordDigest"/>
</handler>
<!--handler name="DoSecurityReceiver" type="java:
org.apache.ws.axis.security.WSDoAllReceiver">
<parameter name="passwordCallbackClass" value="
samples.stock.client.PWCallback"/>
<parameter name="action" value="Encrypt"/>
<parameter name="decryptionPropFile" 
value="samples/stock/client/crypto.properties" />
</handler>-->
</requestFlow>
<!-- </service> -->
</globalConfiguration>
</deployment>

------------------------------------
As far as server side is concerning I used the following deployment file


-------------------------------------
<deployment name="test" xmlns="http://xml.apache.org/axis/wsdd/" 
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<service name="xmltoday-delayed-quotes-encrypt" provider="java:RPC" 
style="document" use="literal">
<requestFlow>
<handler type="java:org.apache.ws.axis.security.WSDoAllReceiver">
<parameter name="action" value="UsernameToken"/>
<parameter name="passwordCallbackClass" value="PWCallback"/>
</handler>
 
<handler type="java:org.apache.ws.axis.security.WSDoAllSender">
<parameter name="action" value="Encrypt"/>

<parameter name="passwordCallbackClass" value="
samples.stock.server.PWCallback"/>

<parameter name="encryptionPropFile" 
value="samples/stock/server/crypto.properties"/>
<parameter name="encryptionKeyIdentifier" value="X509KeyIdentifier" />
<parameter name="encryptionUser" value="luigi" />
<!--parameter name="encryptionParts" value="{Content}{}symbolReturn" /--> 
</handler>
</requestFlow>
<parameter name="className" value="samples.stock.StockQuoteService"/>
<parameter name="allowedMethods" value="getQuote"/>
<parameter name="scope" value="application"/>
</service>
</deployment>
-------------------------------------------

Launching the client I obtain 

 ----------------------------------------------
Exception in thread "main" 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/}hostname:LROM

Did not understand "MustUnderstand" header(s):
at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder
.java:221)
at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.
java:128)
at org.apache.axis.encoding.DeserializationContext.endElement(Deserializ
ationContext.java:1077)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endEleme
nt(AbstractSAXParser.java:633)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scan
EndElement(XMLNSDocumentScannerImpl.java:719)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImp
l$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java
:1685)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImp
l.scanDocument(XMLDocumentFragmentScannerImpl.java:368)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(X
ML11Configuration.java:834)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(X
ML11Configuration.java:764)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.
java:148)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Ab
stractSAXParser.java:1242)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:375)
at org.apache.axis.encoding.DeserializationContext.parse(Deserialization
Context.java:225)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:645)
at org.apache.axis.Message.getSOAPEnvelope(Message.java:424)
at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnders
tandChecker.java:62)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:173)
at org.apache.axis.client.Call.invokeEngine(Call.java:2735)
at org.apache.axis.client.Call.invoke(Call.java:2718)
at org.apache.axis.client.Call.invoke(Call.java:2394)
at org.apache.axis.client.Call.invoke(Call.java:2317)
at org.apache.axis.client.Call.invoke(Call.java:1774)
at samples.stock.client.XmltodayDelayedQuotesSoapBindingStub.getQuote(Xm
ltodayDelayedQuotesSoapBindingStub.java:104)
at samples.stock.client.StockServiceClient.main(StockServiceClient.java:
22)
-------------------------------------------------------------------------

 here is the soap request:


<?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:Header>
<wsse:Security xmlns:wsse="
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
soapenv:mustUnderstand="1">
<wsse:UsernameToken>
<wsse:Username>wss4j</wsse:Username>
<wsse:Password Type="
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest">Owt6Lm1nogU0c2PHKDHTE27ZZy8=</wsse:Password
>
<wsse:Nonce>+RX6rrGfQvOKlIxV0CvehA==</wsse:Nonce>
<wsu:Created xmlns:wsu="
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">2005-08-30T16:34:55.774Z</wsu:Created
>
</wsse:UsernameToken>
</wsse:Security>
</soapenv:Header>
<soapenv:Body>
<symbol xmlns="http://stock.samples">XXX</symbol<http://stock.samples">xxx</symbol>
>
</soapenv:Body>
</soapenv:Envelope>

 --------------------------------------
Can anyone help me? thx a lot in advance

L.