Should not be the following line should be the same in both files (client and server)?

<parameter name="action" value="Signature Encrypt"/>

or

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

Hope this helps

José Ferreiro


PS:
<parameter name="action" value="Signature Encrypt"/>
means that Axis is checking if the request message is signed and encrypted then handle it
otherwise not


On 9/7/06, Luca Risello <[EMAIL PROTECTED]> wrote:
Good mornig, I've a problem with this scenario...
 
deploy of the service
 
<deployment xmlns=" http://xml.apache.org/axis/wsdd/" xmlns:java=" http://xml.apache.org/axis/wsdd/providers/java">
 <service name="Saluto2" provider="java:RPC" style="rpc" use="literal">
<requestFlow>
  <handler type="java: org.apache.ws.axis.security.WSDoAllReceiver">
    <parameter name="passwordCallbackClass" value="org.apache.ws.axis.oasis.PWCallback"/>
    <parameter name="action" value="Signature Encrypt"/>
    <parameter name="signaturePropFile" value="crypto.properties" />
  </handler>
 </requestFlow> 
<parameter name="className" value="prova.Saluto" />
<parameter name="allowedMethods" value="saluto" />
<parameter name="scope" value="Request" />
</service>
</deployment>
 
crypto.properties server side: (TomcatHome>/webapps/axis/WEB-INF/classes)
 
org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merlin
org.apache.ws.security.crypto.merlin.keystore.type=jks
org.apache.ws.security.crypto.merlin.keystore.password=changeit
org.apache.ws.security.crypto.merlin.keystore.alias=secureserver
org.apache.ws.security.crypto.merlin.alias.password=changeit
org.apache.ws.security.crypto.merlin.file=server_keystore
 
client_deploy.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 Encrypt"/>
       <parameter name="passwordCallbackClass" value=" org.apache.ws.axis.oasis.PWCallback"/>
       <parameter name="passwordType" value="PasswordText" />  
       <parameter name="encryptionPropFile" value="crypto.properties " />   
       <parameter name="encryptionKeyIdentifier" value="X509KeyIdentifier" />
       <parameter name="encryptionUser" value="wss4j" />
       <parameter name="encryptionParts" value="{Element}{ http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd}UsernameToken "/>
       </handler>
    </requestFlow>
 </globalConfiguration >
</deployment>
 
 
crypto.properties client side
 
org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merlin
org.apache.ws.security.crypto.merlin.keystore.type=jks
org.apache.ws.security.crypto.merlin.keystore.password=changeit
org.apache.ws.security.crypto.merlin.keystore.alias=wss4j
org.apache.ws.security.crypto.merlin.alias.password=changeit
org.apache.ws.security.crypto.merlin.file=client_keystore
 
 
Obviously I've insert the client_keystore file in the same folder of cypto.properties (client side) and client_deploy.wsdd
 
But when I run the client there is the following exception
 
faultCode: {
http://schemas.xmlsoap.org/soap/envelope/}Server.generalException
faultSubcode:
faultString: WSDoAllSender: Empty username for specified action
 
 
How can i fix this problem?
 
There is a good documentation for wss4j, i see the official site but thera are few information about...
 
thank you for your help.
 
Bye!!!
 
Luca

 
 


Yahoo! Mail: gratis 1GB per i messaggi, antispam, antivirus, POP3




--
José Ferreiro
EPFL Communication Systems engineer
ing.sys.com.dipl.EPFL

Reply via email to