Hi Werner & All,

Thank you for pointing the problem. It works . Now I am able to see
below soap request message in TCPMonitor .


Request SOAP Message
------------------------------------------------------------------------------------------------------------
POST /axis/services/SparePartInfo HTTP/1.0
Content-Type: text/xml; charset=utf-8
Accept: application/soap+xml, application/dime, multipart/related, text/*
User-Agent: Axis/1.2RC1
Host: 127.0.0.1:9999
Cache-Control: no-cache
Pragma: no-cache
SOAPAction: ""
Content-Length: 2443


<?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="usernameTokenId-5294604">
               <wsse:Username>alice</wsse:Username>
               <wsse:Password
Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText";>password</wsse:Password>
               <wsu:Created>2005-06-22T13:52:43Z</wsu:Created>
               <wsse:Nonce>jJk9swcs+hN460RCJNOFxg==</wsse:Nonce>
            </wsse:UsernameToken>
            <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#";>
               <ds:SignedInfo>
                  <ds:CanonicalizationMethod
Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#";>
                     <ec:InclusiveNamespaces
xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#"; PrefixList="soapenv
xsd xsi"></ec:InclusiveNamespaces>
                  </ds:CanonicalizationMethod>
                  <ds:SignatureMethod
Algorithm="http://www.w3.org/2000/09/xmldsig#hmac-sha1";></ds:SignatureMethod>
                  <ds:Reference URI="#id-16625677">
                     <ds:Transforms>
                        <ds:Transform
Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#";>
                           <ec:InclusiveNamespaces
xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#"; PrefixList="xsd
xsi"></ec:InclusiveNamespaces>
                        </ds:Transform>
                     </ds:Transforms>
                     <ds:DigestMethod
Algorithm="http://www.w3.org/2000/09/xmldsig#sha1";></ds:DigestMethod>
                    
<ds:DigestValue>IEnmBTVOR4+F8ogoCoeeTJO+KDk=</ds:DigestValue>
                  </ds:Reference>
               </ds:SignedInfo>
               
<ds:SignatureValue>62NTqelpmGcSmOUfgcll1woekZM=</ds:SignatureValue>
               <ds:KeyInfo Id="KeyId-30408372">
                  <wsse:SecurityTokenReference
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";
wsu:Id="STRId-29689095">
                     <wsse:Reference URI="#usernameTokenId-5294604"
ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#UsernameToken";></wsse:Reference>
                  </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-16625677">
         <getPartInfo xmlns="http://Chapter4.wroxaxis";>
            <in0 xmlns="">SKU-123</in0>
         </getPartInfo>
      </soapenv:Body>
   </soapenv:Envelope>





Now I have 2 issues here :

1. I get below exception on the client side and hence a axis fault
response from the server.


AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.generalException
 faultSubcode:
 faultString: WSDoAllReceiver: security processing failed (actions
number mismatch)
 faultActor:
 faultNode:
 faultDetail:
        {http://xml.apache.org/axis/}hostname:hyddl0337

WSDoAllReceiver: security processing failed (actions number mismatch)
        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(DeserializationContext.java:1077)
        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(Unknown Source)
        at 
org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.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(MustUnderstandChecker.java:62)
        at org.apache.axis.client.AxisClient.invoke(AxisClient.java:173)
        at org.apache.axis.client.Call.invokeEngine(Call.java:2737)
        at org.apache.axis.client.Call.invoke(Call.java:2720)
        at org.apache.axis.client.Call.invoke(Call.java:2396)
        at org.apache.axis.client.Call.invoke(Call.java:2319)
        at org.apache.axis.client.Call.invoke(Call.java:1776)
        at 
stock.SparePartInfoSoapBindingStub.getPartInfo(SparePartInfoSoapBindingStub.java:104)
        at stock.Client.main(Client.java:23)





but on the server side I see below log message:

- Using Crypto Engine [org.apache.ws.security.components.crypto.Merlin]
- Verification successful for URI "#id-16625677"

Can anyone please tell me why I get axis fault on the client side.




2. I want to see the BinarySecurityToken element in the request soap
message. Say something like below :

<wsse:BinarySecurityToken wsu:Id="A1UdAQQ8MDqAEEVs"
ValueType="wsse:X509v3" EncodingType="wsse:Base64Binary">
        MIIEZzCCA9CgAwIBAgIQEmtJZc0
</wsse:BinarySecurityToken>


and so what is the "action" attibute value in client_config.wsdd on my
client side.
I have tried setting the value to "UsernameTokenSignature" like below
but it did not help me :

<handler type="java:org.apache.ws.axis.security.WSDoAllSender" >
    ..... 
    <parameter name="action" value="UsernameTokenSignature"/>
    .....
</handler>



Please suggest ...




Thanks & Regards,
Kumar.

Reply via email to