Hello,

I try to use the "Signature Encrypt Timestamp" security action. When I launch my client, the request is good, the webservice get the request correctly. But at the response, I catch an Exception "java.lang.NullPointerException". I use the keystore's example, the user alice and bob.

Did you already meet the same error ?

Thanks,

Here is the client file deployement :

<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="Signature Encrypt Timestamp"/>

   <parameter name="passwordCallbackClass" value="PWCallBack"/>
<parameter name="signatureKeyIdentifier" value="DirectReference" />
   <parameter name="signaturePropFile" value="wsstest.properties" />
   <parameter name="encryptionKeyIdentifier" value="SKIKeyIdentifier" />
   <parameter name="encryptionUser" value="bob" />
  </handler>
 </requestFlow>

  <responseFlow>
  <handler type="java:org.apache.ws.axis.security.WSDoAllReceiver">
   <parameter name="passwordCallbackClass" value="PWCallBack"/>
   <parameter name="action" value="Signature Encrypt Timestamp"/>
   <parameter name="signaturePropFile" value="wsstest.properties" />
  </handler>
 </responseFlow>

 </globalConfiguration >
</deployment>


Here is the server file deployment :

<deployment xmlns="http://xml.apache.org/axis/wsdd/"; xmlns:java="http://xml.apache.org/axis/wsdd/providers/java";>
<service name="WSGed" provider="java:RPC" style="document" use="literal">


 <requestFlow>
  <handler type="java:org.apache.ws.axis.security.WSDoAllReceiver">
<parameter name="passwordCallbackClass" value="aston.prototype.test.PWCallBack"/>
   <parameter name="action" value="Signature Encrypt Timestamp"/>
   <parameter name="signaturePropFile" value="wsstest.properties" />
  </handler>
 </requestFlow>

 <responseFlow>
  <handler type="java:org.apache.ws.axis.security.WSDoAllSender" >
   <parameter name="action" value="Signature Encrypt Timestamp"/>
   <!-- Use the Server's cert/key to sign the response -->
   <parameter name="user" value="bob"/>
<parameter name="passwordCallbackClass" value="aston.prototype.test.PWCallBack"/>
   <parameter name="signatureKeyIdentifier" value="DirectReference" />
   <parameter name="signaturePropFile" value="wsstest.properties" />
   <parameter name="encryptionKeyIdentifier" value="SKIKeyIdentifier" />
   <!-- Use the Client's cert/key to encrypt the response -->
   <parameter name="encryptionUser" value="alice" />
  </handler>
</responseFlow>
 <parameter name="className" value="aston.prototype.amf.WSGed"/>
 <parameter name="allowedMethods" value="*"/>
 <parameter name="scope" value="application"/>
</service>
</deployment>

Here is the complete exception :

AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: java.lang.NullPointerException
faultActor:
faultNode:
faultDetail:
   {http://xml.apache.org/axis/}hostname:PO00091

java.lang.NullPointerException
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:1087)
   at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1712)
   at org.apache.crimson.parser.Parser2.content(Parser2.java:1963)
   at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1691)
   at org.apache.crimson.parser.Parser2.content(Parser2.java:1963)
   at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1691)
   at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:667)
   at org.apache.crimson.parser.Parser2.parse(Parser2.java:337)
   at org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:448)
   at javax.xml.parsers.SAXParser.parse(SAXParser.java:345)
at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
   at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
   at org.apache.axis.Message.getSOAPEnvelope(Message.java:424)
at org.apache.ws.axis.security.WSDoAllReceiver.invoke(WSDoAllReceiver.java:135) at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
   at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
   at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
   at org.apache.axis.client.AxisClient.invoke(AxisClient.java:190)
   at org.apache.axis.client.Call.invokeEngine(Call.java:2765)
   at org.apache.axis.client.Call.invoke(Call.java:2748)
   at org.apache.axis.client.Call.invoke(Call.java:2424)
   at org.apache.axis.client.Call.invoke(Call.java:2347)
   at org.apache.axis.client.Call.invoke(Call.java:1804)
at localhost.ServeurWebService.services.WSGed.WSGedSoapBindingStub.putDocument(WSGedSoapBindingStub.java:106)
   at TestWebService.main(TestWebService.java:56)

Regards,
Jérôme.


Reply via email to