Hi,

I managed to get an example going as follows:

Axis client --> (UsernameToken Encrypt) --> JAXRPC server (this works perfectly)

Now I am trying to sign and encrypt the server response:

JAXRPC server --> (Signature Encrypt) --> Axis client (the server sends the encrypted and signed SOAP message but the client throws a NPE)

Here are my settings for scenario 2:

server: webservices.xml
<handler>
               <handler-name>Outbound Security Handler</handler-name>
<handler-class>org.apache.ws.security.handler.WSS4JHandler</handler-class>
               <init-param>
                    <param-name>deployment</param-name>
                    <param-value>server</param-value>
                </init-param>
                <init-param>
                    <param-name>action</param-name>
                    <param-value>Signature Encrypt</param-value>
                </init-param>
                <init-param>
                    <param-name>passwordCallbackClass</param-name>
<param-value>com.ibm.dw.bookshop.handlers.PWCallbackHandler</param-value>
                </init-param>
                <init-param>
                    <param-name>flow</param-name>
                    <param-value>response-only</param-value>
                </init-param>
                <init-param>
                    <param-name>user</param-name>
<param-value>16c73ab6-b892-458f-abf5-2f875f74882e</param-value>
                </init-param>
                <init-param>
                    <param-name>signaturePropFile</param-name>
                    <param-value>crypto.properties</param-value>
                </init-param>
   </handler>

client: axis-client.wsdd
<responseFlow >
  <handler type="java:org.apache.ws.axis.security.WSDoAllReceiver">
       <parameter name="passwordCallbackClass"
value="com.ibm.dw.bookshop.j2seclient.handlers.PWCallbackHandler"/>
       <parameter name="action" value="Signature Encrypt"/>
<parameter name="signaturePropFile" value="crypto.properties" /> </handler>
</responseFlow >

The callbackhandlers have the PWCallback1 contents.

In the TCPMon I can see that the server sends the encrypted msg properly.

At the client I get the following NPE (the stubs were generated without security in place - I figure this doesn't matter because the wsdl doesn't change - right?):

{http://xml.apache.org/axis/}stackTrace:java.lang.NullPointerException
[java] at org.apache.crimson.tree.ElementNode2.getAttributeNodeNS(Unknown Source) [java] at org.apache.crimson.tree.ElementNode2.hasAttributeNS(Unknown Source) [java] at org.apache.ws.security.util.WSSecurityUtil.findElementById(WSSecurityUtil.java:363) [java] at org.apache.ws.security.util.WSSecurityUtil.getElementByWsuId(WSSecurityUtil.java:547) [java] at org.apache.ws.security.WSSecurityEngine.decryptDataRef(WSSecurityEngine.java:1211) [java] at org.apache.ws.security.WSSecurityEngine.handleEncryptedKey(WSSecurityEngine.java:1188) [java] at org.apache.ws.security.WSSecurityEngine.handleEncryptedKey(WSSecurityEngine.java:943) [java] at org.apache.ws.security.WSSecurityEngine.processSecurityHeader(WSSecurityEngine.java:363) [java] at org.apache.ws.security.WSSecurityEngine.processSecurityHeader(WSSecurityEngine.java:259) [java] at org.apache.ws.axis.security.WSDoAllReceiver.invoke(WSDoAllReceiver.java:183) [java] at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
    [java] at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
    [java] at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
    [java] at org.apache.axis.client.AxisClient.invoke(AxisClient.java:190)
    [java] at org.apache.axis.client.Call.invokeEngine(Call.java:2765)
    [java] at org.apache.axis.client.Call.invoke(Call.java:2748)
    [java] at org.apache.axis.client.Call.invoke(Call.java:2424)
    [java] at org.apache.axis.client.Call.invoke(Call.java:2347)
    [java] at org.apache.axis.client.Call.invoke(Call.java:1804)
[java] at com.ibm.dw.bookshop.j2seclient.jse.generated.XMethodsNamesSEIBindingStub.getXMethodsWebServiceNames(XMethodsNamesSEIBindingStub.java:159) [java] at com.ibm.dw.bookshop.j2seclient.BookShopClientFrame.invokeServletSEI(BookShopClientFrame.java:247) [java] at com.ibm.dw.bookshop.j2seclient.BookShopClientFrame.access$200(BookShopClientFrame.java:54) [java] at com.ibm.dw.bookshop.j2seclient.BookShopClientFrame$3.run(BookShopClientFrame.java:177)
    [java] at java.awt.event.InvocationEvent.dispatch(Unknown Source)
    [java] at java.awt.EventQueue.dispatchEvent(Unknown Source)
[java] at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source) [java] at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    [java] at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    [java] at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    [java] at java.awt.EventDispatchThread.run(Unknown Source)
    [java] {http://xml.apache.org/axis/}hostname:stefan
    [java] java.lang.NullPointerException
    [java] at org.apache.axis.AxisFault.makeFault(AxisFault.java:101)
    [java] at org.apache.axis.client.AxisClient.invoke(AxisClient.java:216)
    [java] at org.apache.axis.client.Call.invokeEngine(Call.java:2765)
    [java] at org.apache.axis.client.Call.invoke(Call.java:2748)
    [java] at org.apache.axis.client.Call.invoke(Call.java:2424)
    [java] at org.apache.axis.client.Call.invoke(Call.java:2347)
    [java] at org.apache.axis.client.Call.invoke(Call.java:1804)
[java] at com.ibm.dw.bookshop.j2seclient.jse.generated.XMethodsNamesSEIBindingStub.getXMethodsWebServiceNames(XMethodsNamesSEIBindingStub.java:159) [java] at com.ibm.dw.bookshop.j2seclient.BookShopClientFrame.invokeServletSEI(BookShopClientFrame.java:247) [java] at com.ibm.dw.bookshop.j2seclient.BookShopClientFrame.access$200(BookShopClientFrame.java:54) [java] at com.ibm.dw.bookshop.j2seclient.BookShopClientFrame$3.run(BookShopClientFrame.java:177)
    [java] at java.awt.event.InvocationEvent.dispatch(Unknown Source)
    [java] at java.awt.EventQueue.dispatchEvent(Unknown Source)
[java] at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source) [java] at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    [java] at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    [java] at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    [java] at java.awt.EventDispatchThread.run(Unknown Source)
    [java] Caused by: java.lang.NullPointerException
[java] at org.apache.crimson.tree.ElementNode2.getAttributeNodeNS(Unknown Source) [java] at org.apache.crimson.tree.ElementNode2.hasAttributeNS(Unknown Source) [java] at org.apache.ws.security.util.WSSecurityUtil.findElementById(WSSecurityUtil.java:363) [java] at org.apache.ws.security.util.WSSecurityUtil.getElementByWsuId(WSSecurityUtil.java:547) [java] at org.apache.ws.security.WSSecurityEngine.decryptDataRef(WSSecurityEngine.java:1211) [java] at org.apache.ws.security.WSSecurityEngine.handleEncryptedKey(WSSecurityEngine.java:1188) [java] at org.apache.ws.security.WSSecurityEngine.handleEncryptedKey(WSSecurityEngine.java:943) [java] at org.apache.ws.security.WSSecurityEngine.processSecurityHeader(WSSecurityEngine.java:363) [java] at org.apache.ws.security.WSSecurityEngine.processSecurityHeader(WSSecurityEngine.java:259) [java] at org.apache.ws.axis.security.WSDoAllReceiver.invoke(WSDoAllReceiver.java:183) [java] at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
    [java] at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
    [java] at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
    [java] at org.apache.axis.client.AxisClient.invoke(AxisClient.java:190)
    [java] ... 16 more

Thanks for your help!

Regards,

Stefan

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to