faultCode: {http://schemas.xmlsoap.org/soap/envelope/}MustUnderstand
Posted: 09-13-2006, 03:24 AM
Hi Everybody
MustUnderstand ¿¡·¯·Î ÀÎÇØ
Because of an Error with MustUnderstand
client-config.wsdd ÆÄÀϰú server-config.wsdd ÆÄÀÏÀ»º¸°í
ÀÖ½À´Ï´Ù.
I'm checking on client-config.wsdd and server-config.wsdd
¸Ç ¾Æ·¡ºÎºÐ¿¡ ¼Ò½º ¿Ã·È½À´Ï´Ù.
Here is the source below.
ECLIPSE + WTP>>>>>>>>>>>> Envilopment
JDK 1.5
tomcat 5.0
--------------------------------------------------------
-------- TestOrderProcessor area 1 -------->>>>>>>>>>>> Error Log in console
-------- Order TypeDesc area1 --------
-------- Order TypeDesc area2 --------
:::::::::::::::::::: typeDesc is
org.apache.axis.description.TypeDesc@152c4d9
-------- TestOrderProcessor area 2 --------
-------- TestOrderProcessor area 3 --------
:::::::::::::::::::: orderProxy is
com.sds.rnd.ws.OrderProcessorSoapBindingStub@f99ff 5
-------- OrderProcessorSoapBindingStub area 1 --------
-------- Order TypeDesc getTypeDesc() area1 --------
:::::::::::::::::::: typeDesc is
org.apache.axis.description.TypeDesc@152c4d9
-------- OrderProcessorSoapBindingStub area 2 --------
-------- OrderProcessorSoapBindingStub area 3 --------
-------- Order hashCode() area1 --------
-------- Order hashCode() area2 --------
-------- Order hashCode() area3 --------
-------- Order hashCode() area4 --------
-------- Order hashCode() area5 --------
-------- Order hashCode() area6 --------
:::::::::::::::::::: _hashCode is -1613675531
:::::::::::::::::::: order is com.sds.rnd.ws.vo.Order@9fd143f5
-------- OrderProcessorSoapBindingStub area 4 --------
:::::::::::::::::::: _call is org.apache.axis.client.Call@16fa474
-------- Order Serializer getSerializer area1 --------
:::::::::::::::::::: _javaType is class com.sds.rnd.ws.vo.Order
:::::::::::::::::::: _xmlType is {http://vo.ws.rnd.sds.com}Order
:::::::::::::::::::: typeDesc is
org.apache.axis.description.TypeDesc@152c4d9
-------- ConsumerPWCallback area 1 --------
:::::::::::::::::::: callbacks is
[Ljavax.security.auth.callback.Callback;@142a80d
-------- ConsumerPWCallback area 2 --------
:::::::::::::::::::: callbacks.length is 1
-------- ConsumerPWCallback area 3 --------
:::::::::::::::::::: callbacks[i] is
org.apache.ws.security.WSPasswordCallback@126f75b
-------- ConsumerPWCallback area 4 --------
:::::::::::::::::::: pc is
org.apache.ws.security.WSPasswordCallback@126f75b
---------- OrderProcessorSoapBindingStub axisFaultException
-------------
-------- TestOrderProcessor printStackTrace --------
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:jslee
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.createFau lt(SOAPFaultBuilder.java:222)
at
org.apache.axis.message.SOAPFaultBuilder.endElemen t(SOAPFaultBuilder.java:129)
at
org.apache.axis.encoding.DeserializationContext.en dElement(DeserializationContext.java:1087)
at org.apache.xerces.parsers.AbstractSAXParser.endEle ment(Unknown
Source)
at
org.apache.xerces.impl.XMLNSDocumentScannerImpl.sc anEndElement(Unknown
Source)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerI mpl$FragmentContentDispatcher.dispatch(Unknown
Source)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerI mpl.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 org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser .parse(Unknown
Source)
at javax.xml.parsers.SAXParser.parse(Unknown Source)
at
org.apache.axis.encoding.DeserializationContext.pa rse(DeserializationContext.java:227)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPar t.java:696)
at org.apache.axis.Message.getSOAPEnvelope(Message.ja va:435)
at
org.apache.ws.axis.security.WSDoAllReceiver.invoke (WSDoAllReceiver.java:114)
at
org.apache.axis.strategies.InvocationStrategy.visi t(InvocationStrategy.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain .java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.jav a:83)
at org.apache.axis.client.AxisClient.invoke(AxisClien t.java:198)
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
com.sds.rnd.ws.OrderProcessorSoapBindingStub.proce ssOrder(OrderProcessorSoapBindingStub.java:194)
at com.sds.rnd.ws.TestOrderProcessor.main(TestOrderPr ocessor.java:41)
--------------------------------------------------------
TCPMonÀ¸·Î Å×½ºÆ® ÇØº» °á°ú ³¯¾Æ°¡´Â ¸Þ½ÃÁö´Â
Á¤»óÀûÀ¸·Î ¾ÏÈ£È*µÇ¼* ³¯¾Æ°¬½À´Ï´Ù.
TCPMon tool test said that the message has been successfully encrpyted
and sended.
<?xml version="1.0" encoding="UTF-8"?>>>>>>>>>>>>>> Send SOAP Message
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"
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"><xenc:EncryptedKey Id="EncKeyId-33492446">
<xenc:EncryptionMethod
Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5"></xenc:EncryptionMethod>
<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<wsse:SecurityTokenReference><ds:X509Data>
<ds:X509IssuerSerial>
<ds:X509IssuerName>CN=Provider</ds:X509IssuerName>
<ds:X509SerialNumber>1158039169</ds:X509SerialNumber>
</ds:X509IssuerSerial>
</ds:X509Data></wsse:SecurityTokenReference>
</ds:KeyInfo>
<xenc:CipherData><xenc:CipherValue>QTyZopHS+hUPcH4 MSAZ9tFnh9VhfFbHcgiDyv3v7lMmtdoqSuy5RF1cWsHH4sjEsN IECxMeUhKtmKgs36n+HSMtoIGGti/XpoPJ2k8DfcgZNdyfZhFwsUry/Eoz3XsS/78fcfh5FG3zoRzyfhwjtrbOZEAkGWZiOzAmU+sGz+ws=</xenc:CipherValue></xenc:CipherData>
<xenc:ReferenceList><xenc:DataReference
URI="#EncDataId-2780950"></xenc:DataReference></xenc:ReferenceList></xenc:EncryptedKey><ds:Signature
xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="Signature-18751079">
<ds:SignedInfo>
<ds:CanonicalizationMethod
Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"></ds:CanonicalizationMethod>
<ds:SignatureMethod
Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"></ds:SignatureMethod>
<ds:Reference URI="#id-2780950">
<ds:Transforms>
<ds:Transform
Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"></ds:Transform>
</ds:Transforms>
<ds:DigestMethod
Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></ds:DigestMethod>
<ds:DigestValue>GQAmKr6CuRq9BuZ2UeML9tlAg0Q=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>
aZSsjkwQ6u9S6vWN1LxnS9yXcrhR1MxLb1IRoU+HGB9edRojSD 67AVsioLguydTo+BP9sWU/o5Nj
MhIGEw+I/Mv1b63s3Hz+kMCPQEf9HU+dRiVPJLv3FUQzq4u35cUYnn8JAf3 XfCWhRiDZXDZEJbWB
8B80pLTAGlwpTYEDbDA=
</ds:SignatureValue>
<ds:KeyInfo Id="KeyId-22323092">
<wsse:SecurityTokenReference
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
wsu:Id="STRId-26056784"><ds:X509Data>
<ds:X509IssuerSerial>
<ds:X509IssuerName>CN=Consumer</ds:X509IssuerName>
<ds:X509SerialNumber>1158039192</ds:X509SerialNumber>
</ds:X509IssuerSerial>
</ds:X509Data></wsse:SecurityTokenReference>
</ds:KeyInfo>
</ds:Signature></wsse:Security></soapenv:Header><soapenv:Body
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
wsu:Id="id-2780950"><xenc:EncryptedData Id="EncDataId-2780950"
Type="http://www.w3.org/2001/04/xmlenc#Content"><xenc:EncryptionMethod
Algorithm="http://www.w3.org/2001/04/xmlenc#aes128-cbc"></xenc:EncryptionMethod><xenc:CipherData><xenc:Ciphe rValue>grGMz9bIA7Ws1WX3Ux1J4gtqNb2ndNM5GVVOM3DCBmO 5SgQj2WW/qTKpmq6Dx2lSIqo2sQOx83gW
67In7GIhJgPv32AIgfdK9piXJHqgFSia99J3i0tIAkBEllLDRx ZDW5FjX/6fWnC36DPyY7UBq/j/
1WBDP/h6QU5gIVsxkiE++wD6OvJv4r/9J1YRlo7E6zatWe5a6EByKNMOtXrk3B36TpwKfxgeZAV4
rKryxGESyqiMwQ5TNGiq8QPtHTGzKFjeSMktdlRN+87dfXJ2C5 J73rRMBNT0QL2cb85nrBn1Tcna
JYAbdDLeELRytIUis1Rp1KNCFtldI8PCIyfB1OU85eqZuVezgY dXaqui+Fs5peJKl3NgpIzwqlzj
yIBeKjDcHvLx+an32T1ByEzRukgn3uQwkUX4nX00VC2Z6W4OBe f6INZ5Acp/VyLLRUnEBFJG8RlX
lDmJJx0CD/Cvi5B2JdOqXcOOWc+n47n0WP/44Na1zly9TPZdfEh6Xc9kyqa3zzgHePWGYGQ98jo9
z+pXFXtVMALkB/DmRj2H8HbbSuV3yedi0t1S92K+oRZR29WDQUKYyTNiUlX7rILq WuaIXQAd61hH
nx9ipvqJmLTSoZSb2Lo6F+Q3U7ME5LUdGDPIWmaBnJWY060O8R ZyvOBA0x/yd72ijs6HrlwXHzRx
qBVKeXoTzK+7siVKwc2NHu+lMRUxjvjU1gUZ6wxP+9UAXl9Uod JjrJLbB5ZQrkdLCpOwQFXpBlg5
IvpMqAIDfJEJMXT/0P+ig+z4De1EO6GWVeS1uOCIJOVrGy46gwp2+R0G0b0aPTVQDa 0gsvsu+KFz
ksTnX8KpDjir/QoKNArCAn3y5Wg1bufox+NDDA9Td+OmB56bnop6nQUlNnFc6oe gQ+GMn6WTHZQZ
4+hUZ+JeIGLhlhm9YZyPbZnWRMPuLsLk8zT082nmeaFFCtdVvR 8NHXq/XVnvc19YPC8EIFnjxVyW
Kg3q7OjVx4BQHYGKi2tGBu5B5XLS15jY/MPku/8nObYpEkz0sR3UjKuxaj7yXZoKIvgE0RZmEK3E
8jHgHTPmXJtNY7q+ADLCfP/VUy7BG9v4fHZi4fXpnEigixIoz3Ss3rEAAHSC2Dh4pMkIp2Q8b pGK
Jr9MfOr+hMD+jjC9CRBnBd3DUXQCYlV7+pkY1KLq+9pdvmUDeB lFJsnJ7j1dtXGWGogpOMtxIdKk
UYZ2A6zW1gV4X7QH5SqmrD3lv7l6mJd5s/OGipUxeKLtjYbVngmzkT5bVRZBqxEaNedCnPeAtGE1
Wjj/LvfPYeVRkUb7w/yhOR4CodJlMkQLylWQ8aOvKCxA1VkVVsfUDaPw98/FVzu3DXnOCs67qbrm
V9JsuPCEHXDpdQ77b4HY2c4gP0k9DHXiRIzDMqyZ</xenc:CipherValue></xenc:CipherData></xenc:EncryptedData></soapenv:Body></soapenv:Envelope>
--------------------------------------------------------
±×·¯³ª ¼ö½Å ÇÏ´Â ¼*¹ö ºÎºÐ¿¡¼*´Â ¾Æ·¡¿Í °°ÀÌ
mustUnderstand ¿¡·¯°¡ ¹ß»ýÇÕ´Ï´Ù.
But, mustunderstand errors occurs on the receiving server as shown
below.
server-config.wsdd ¼³Á¤ÀÌ Àß ¸ø µÇ¾î ÀÖ¾î¼* ±×·± °Í
°°½À´Ï´Ù.
I think there is something wrong in the configuration of
server-config.wsdd.
<?xml version="1.0" encoding="utf-8"?>>>>>>>>>>>> recieve SOAP Message with MustUnderstand Error
<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):{http://docs.oasis-
open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd}Security</faultstring>
<detail>
<ns1:hostname
xmlns:ns1="http://xml.apache.org/axis/">xxx</ns1:hostname>
</detail>
</soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>
¿©±â¼* Á¦°¡ ±Ã±ÝÇÑ °ÍÀº server-config.wsdd ÆÄÀÏÀÌ
¿Ã¹Ù¸£°Ô ¼öÁ¤µÇ¾ú´ÂÁö ÀÔ´Ï´Ù.
What I would like to know is that I modified server-config.wsdd file
correctly.
¾Æ´Ï¸é, ¾î´ÀºÎºÐÀ» ¾î¶»°Ô ¼öÁ¤ÇØ¾ß ÇÒ±î¿ä?
if not, which part do I need to correct?
±×°Íµµ ¾Æ´Ï¸é classpath¿¡¼* ÀνÄÀ» ¸øÇÏ´Â °ÍÀϱî¿ä?
or, is it a problem in classpath?
¾Æ·¡´Â config ÆÄÀÏÀÔ´Ï´Ù.
here is config files.
I'm really interested with the WebService Security
and I appreciate any kind of comment
Thank you very much.
--------------------------------------------------------
<service name="OrderProcessor">>>>>>>>>>>> client-config.wsdd
<requestFlow>
<handler
name="DoSecuritySender"
type="java:org.apache.ws.axis.security.WSDoAllSend er">
<parameter name="user"
value="consumer_keypair"/>
<parameter name="encryptionUser"
value="provider_cert"/>
<parameter name="passwordCallbackClass"
value="com.sds.rnd.ws.callback.ConsumerPWCallback"/>
<parameter name="action"
value="Signature Encrypt"/>
<parameter name="signaturePropFile"
value="consumer_crypto.properties"/>
<parameter name="encryptionPropFile"
value="consumer_crypto.properties"/>
</handler>
</requestFlow>
<responseFlow>
<handler
name="DoSecurityReceiver"
type="java:org.apache.ws.axis.security.WSDoAllRece iver">
<parameter name="passwordCallbackClass"
value="com.sds.rnd.ws.callback.ConsumerPWCallback"/>
<parameter name="action"
value="Signature Encrypt"/>
<parameter name="signaturePropFile"
value="consumer_crypto.properties"/>
<parameter name="decryptionPropFile"
value="consumer_crypto.properties"/>
</handler>
</responseFlow>
</service>
--------------------------------------------------------
<service name="OrderProcessor" provider="java:RPC" style="wrapped">>>>>>>>>>> server-config.wsdd
use="literal">
<operation name="processOrder"
qname="ns1:processOrder"
returnQName="ns1:processOrderReturn"
returnType="xsd:string"
soapAction=""
xmlns:ns1="http://ws.rnd.sds.com"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<parameter
qname="ns1:order"
type="ns2:Order"
xmlns:ns2="http://vo.ws.rnd.sds.com"/>
</operation>
<parameter name="allowedMethods" value="processOrder"/>
<parameter name="typeMappingVersion" value="1.2"/>
<parameter name="wsdlPortType" value="OrderProcessor"/>
<parameter name="className" value="com.sds.rnd.ws.OrderProcessor"/>
<parameter name="wsdlServicePort" value="OrderProcessor"/>
<parameter name="schemaQualified"
value="http://vo.ws.rnd.sds.com,http://ws.rnd.sds.com"/>
<parameter name="wsdlTargetNamespace" value="http://ws.rnd.sds.com"/>
<parameter name="wsdlServiceElement" value="OrderProcessorService"/>
<requestFlow>
<handler name="DoSecurityReceiver"
type="java:org.apache.ws.axis.security.WSDoAllRece iver">
<parameter
name="signaturePropFile"
value="provider_crypto.properties"/>
<parameter
name="decryptionPropFile"
value="provider_crypto.properties"/>
<parameter
name="passwordCallbackClass"
value="com.sds.rnd.ws.callback.ProviderPWCallback"/>
<parameter
name="action" value="Signature Encrypt"/>
</handler>
</requestFlow>
<responseFlow>
<handler
name="DoSecuritySender"
type="java:org.apache.ws.axis.security.WSDoAllSend er">
<parameter
name="user" value="provider_keypair"/>
<parameter
name="encryptionUser"
value="consumer_cert"/>
<parameter
name="signaturePropFile"
value="provider_crypto.properties"/>
<parameter
name="encryptionPropFile"
value="provider_crypto.properties"/>
<parameter
name="passwordCallbackClass"
value="com.sds.rnd.ws.callback.ProviderPWCallback"/>
<parameter
name="action" value="Signature Encrypt"/>
</handler>
</responseFlow>
<typeMapping
deserializer="org.apache.axis.encoding.ser.BeanDes erializerFactory"
encodingStyle=""
qname="ns3:Order"
serializer="org.apache.axis.encoding.ser.BeanSeria lizerFactory"
type="java:com.sds.rnd.ws.vo.Order"
xmlns:ns3="http://vo.ws.rnd.sds.com"/>
<arrayMapping
innerType="xsd:int"
languageSpecificType="java:int[]"
qname="ns4:ArrayOf_xsd_int"
xmlns:ns4="http://ws.rnd.sds.com"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"/>
<arrayMapping
innerType="xsd:string"
languageSpecificType="java:java.lang.String[]"
qname="ns5:ArrayOf_xsd_string"
xmlns:ns5="http://ws.rnd.sds.com"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"/>
</service>



Linear Mode

