You are viewing a plain text version of this content. The canonical link for it is here.
Posted to wss4j-dev@ws.apache.org by ravi teja edpuganti <ra...@gmail.com> on 2006/07/21 03:30:14 UTC

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

I am relatively newbie to wss4j...
i have created a web service using eclipse and installed wss4j 1.5 and
configured client and server deployment descriptors
when i run the server side gives the following error




AxisFault

faultCode: { http://schemas.xmlsoap.org/soap/envelope/}MustUnderstand<http://schemas.xmlsoap.org/soap/envelope/%7DMustUnderstand>

faultSubcode:

faultString: Did not understand &quot;MustUnderstand&quot; header(s):{
http://do

cs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd}Securit<http://cs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd%7DSecurit>

y

faultActor:

faultNode:

faultDetail:

{http://xml.apache.org/axis/}hostname:medworks
<http://xml.apache.org/axis/%7Dhostname:medworks>

Did not understand "MustUnderstand"
header(s):{http://docs.oasis-open.org/wss/20


04/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(Deserializ

ationContext.java:1087)

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

)

at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknow

n Source)

at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContent

Dispatcher.dispatch(Unknown Source)

at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Un

known 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(Unknown Source)

at org.apache.axis.encoding.DeserializationContext.parse(Deserialization

Context.java:227)

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

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

at org.apache.ws.axis.security.WSDoAllReceiver.invoke(WSDoAllReceiver.ja

va:114)

at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrateg

y.java:32)

at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)

at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)

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

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 wtp.ConverterSoapBindingStub.celsiusToFarenheit(ConverterSoapBindingS

tub.java:153)







the request soap message is as follows

<?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
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
wsu:Id="UsernameToken-6136700"><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
">SAKMzQCIgxhaG9qr+e12ZAtyqdI=</wsse:Password>

<wsse:Nonce>hoZJ1akfu12bTPWEXOZDLA==</wsse:Nonce>

<wsu:Created>2006-07-20T08:33:58.345Z</wsu:Created>

</wsse:UsernameToken></wsse:Security>

</soapenv:Header><soapenv:Body>

<celsiusToFarenheit xmlns="http://wtp">

<celsius>33.0</celsius>

</celsiusToFarenheit>

</soapenv:Body>

</soapenv:Envelope>







my client wsdd



<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
"/>

<globalConfiguration >

<requestFlow >

<handler type="java:org.apache.ws.axis.security.WSDoAllSender" >

<parameter name="action" value="UsernameToken"/>

<parameter name="user" value="wss4j"/>

<parameter name="passwordCallbackClass" value="wtp.PWCallback"/>

<parameter name="passwordType" value="PasswordDigest"/>

</handler>

</requestFlow >

</globalConfiguration >

</deployment>







my server wsdd is





<?xml version="1.0" encoding="UTF-8"?><!-- Use this file to deploy some
handlers/chains and services --><!-- Two ways to do this: --><!-- java
org.apache.axis.client.AdminClient deploy.wsdd --><!-- after the axis server
is running --><!-- or --><!-- java org.apache.axis.utils.Admin client|server
deploy.wsdd --><!-- from the same directory that the Axis engine runs
--><deployment xmlns=" http://xml.apache.org/axis/wsdd/"
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java
">

<!-- Services from ConverterService WSDL service -->

<service name="Converter" provider="java:RPC" style="wrapped" use="literal">

<requestFlow>

<!--handler type=="java:org.apache.axis.handlers.SOAPMonitorHandler">

<handler type="java:org.apache.ws.axis.security.WSDoAllReceiver">

<parameter name="passwordCallbackClass" value="wtp.PWCallback"/>

<parameter name="action" value="UsernameToken"/>

</handler>

</requestFlow>



<parameter name="wsdlTargetNamespace" value="http://wtp"/>

<parameter name="wsdlServiceElement" value="ConverterService"/>

<parameter name="schemaQualified" value=" http://wtp"/>

<parameter name="wsdlServicePort" value="Converter"/>

<parameter name="className" value="wtp.Converter"/>

<parameter name="wsdlPortType" value="Converter"/>

<parameter name="typeMappingVersion" value="1.2"/>

<operation xmlns:operNS="http://wtp" xmlns:retNS=" http://wtp"
xmlns:rtns="http://www.w3.org/2001/XMLSchema
" name="celsiusToFarenheit" qname="operNS:celsiusToFarenheit"
returnQName="retNS:celsiusToFarenheitReturn" returnType="rtns:float"
soapAction="">

<parameter xmlns:pns="http://wtp" xmlns:tns="http://www.w3.org/2001/XMLSchema"
qname="pns:celsius" type="tns:float"/>

</operation>

<operation xmlns:operNS="http://wtp" xmlns:retNS=" http://wtp"
xmlns:rtns="http://www.w3.org/2001/XMLSchema "
name="farenheitToCelsius" qname="operNS:farenheitToCelsius"
returnQName="retNS:farenheitToCelsiusReturn" returnType="rtns:float"
soapAction="">

<parameter xmlns:pns="http://wtp" xmlns:tns="http://www.w3.org/2001/XMLSchema"
qname="pns:farenheit" type="tns:float"/>

</operation>

<parameter name="allowedMethods" value="farenheitToCelsius
celsiusToFarenheit"/>

</service>

</deployment>





can some one help me out with this...

i am really struck at this



regards



ravi teja