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>
      </soapenv:Body>
   </soapenv:Envelope>

 

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

L.

Reply via email to