I have a problem about the 5th example of rampart. When I try to invoke service from client, service responds the
"WSDoAllReceiver: security processing failed"
fault. I searched it from the internet and tried every solution that I find. But I couldn't resolve problem. I think problem is in the service side, since client sends encrypted data to service successfully. (I checked it with Tcpmon) It may be also due to java key stores, since the original keystores in the example didn't work, I replaced them with new ones I generated.
Quick responses will be highly appreciated..



Here's my files:

PWCBHandler.java:

package org.apache.rampart.samples.sample05;

import org.apache.ws.security.WSPasswordCallback;

import javax.security.auth.callback.Callback;
import javax.security.auth.callback.CallbackHandler;
import javax.security.auth.callback.UnsupportedCallbackException;

import java.io.IOException;

public class PWCBHandler implements CallbackHandler {

   public void handle(Callback[] callbacks) throws IOException,
           UnsupportedCallbackException {
       for (int i = 0; i < callbacks.length; i++) {
           WSPasswordCallback pwcb = (WSPasswordCallback)callbacks[i];
String id = pwcb.getIdentifer();
           if("client".equals(id)) {
               pwcb.setPassword("apache");
           } else if("service".equals(id)) {
               pwcb.setPassword("apache");
           }
       }
   }

}

SimpleService.java :

public class SimpleService { public String echo(String arg) {
       return arg;
   }
}

service.xml :

<service name="SimpleService" >
   <Description>
       Please Type your service description here
   </Description>
   <messageReceivers>
<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"; class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" /> <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"; class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
   </messageReceivers>
<parameter name="ServiceClass" locked="false">org.apache.rampart.samples.sample05.SimpleService</parameter> <module ref="rampart" /> <parameter name="InflowSecurity">
     <action>
       <items>Encrypt</items>
<passwordCallbackClass>org.apache.rampart.samples.sample05.PWCBHandler</passwordCallbackClass>
       <decryptionPropFile>service.properties</decryptionPropFile>
     </action>
   </parameter>
<parameter name="OutflowSecurity">
     <action>
       <items>Encrypt</items>
       <encryptionUser>client</encryptionUser>
       <encryptionPropFile>service.properties</encryptionPropFile>
     </action>
   </parameter>
</service>
______________________
As I said I don't think the problem is in client side but I send my client's request just in case(I can send client side files also but like the service files they are rampart's example and can be reached easily)
Here's the request of client :

POST /service05/services/SimpleService HTTP/1.1
Content-Type: text/xml; charset=UTF-8
SOAPAction: "urn:echo"
User-Agent: Axis2
Host: 127.0.0.1:7071
Transfer-Encoding: chunked

92c
<?xml version='1.0' encoding='UTF-8'?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; xmlns:xenc="http://www.w3.org/2001/04/xmlenc#";>
     <soapenv:Header xmlns:wsa="http://www.w3.org/2005/08/addressing";>
<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-urn:uuid:48535FF564B27B0F6E12465368715192"> <xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5"; />
              <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#";>
                 <wsse:SecurityTokenReference>
                    <ds:X509Data>
                       <ds:X509IssuerSerial>
<ds:X509IssuerName>CN=q,OU=w,O=e,L=r,ST=t,C=y</ds:X509IssuerName> <ds:X509SerialNumber>1246533967</ds:X509SerialNumber>
                       </ds:X509IssuerSerial>
                    </ds:X509Data>
                 </wsse:SecurityTokenReference>
              </ds:KeyInfo>
              <xenc:CipherData>
<xenc:CipherValue>A77KNfyOpakIqEE7kCJhQpp1gPJ9qVns/wPxpckS6VdkTAclo1KnsLRWuxUw18SXaf18sLP4oM33Z8M2OnSoYCFsgTfVveLej1Fqw/YOg2G3Rs7CCRRaAOkBNfzojkqx/S6FxJUZwc3eIookFv4LzMqNuZq7bfVcjvgsm65CRV0=</xenc:CipherValue>
              </xenc:CipherData>
              <xenc:ReferenceList>
                 <xenc:DataReference URI="#EncDataId-30216319" />
              </xenc:ReferenceList>
           </xenc:EncryptedKey>
        </wsse:Security>
<wsa:To>http://localhost:7071/service05/services/SimpleService</wsa:To> <wsa:MessageID>urn:uuid:A4E6827986272D14C81246536869238</wsa:MessageID>
        <wsa:Action>urn:echo</wsa:Action>
     </soapenv:Header>
     <soapenv:Body>
<xenc:EncryptedData Id="EncDataId-30216319" Type="http://www.w3.org/2001/04/xmlenc#Content";> <xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes128-cbc"; />
           <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#";>
<wsse:SecurityTokenReference xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd";> <wsse:Reference URI="#EncKeyId-urn:uuid:48535FF564B27B0F6E12465368715192" />
              </wsse:SecurityTokenReference>
           </ds:KeyInfo>
           <xenc:CipherData>
<xenc:CipherValue>qeqUR+BabpbNLn9eI4yDDsqKYAdsPRvVTi0/mBC2leuV1JFyBriU4B4LT/MmqCZHvXIhMogjm8SCmePhdAdSqBahN9NnQntINPNy3ZXrAclfpYWoL0bmkxhTB+HOfCcx0ptXAHVLaR71QiTS0zx79y2Vu2sDUxTQyHv4iQ7Waup/4D/sokPRV6/mr1LE8RL+4Ri/myGnPJR//x42zLIbMj4KFFhr3QcfqcvDpCfQLf8cIS4RDelqkGnWbVFxFuW1yNoqdBfzkxvGjATOk9T5cPI/P5MobQ/wTcZyBPZ3fDTgCyNdq23bs3L+FL4DTtYx</xenc:CipherValue>
           </xenc:CipherData>
        </xenc:EncryptedData>
     </soapenv:Body>
  </soapenv:Envelope>
______________________________


Reply via email to