On my server end, I have configured my Axis 1.2.1 with Tomcat and
WSS4J. When I send a request with WS Security X509 Profile Signatures
from a client and try  to validate the signature on my server end then
I am getting below error:


    [java] AxisFault
    [java]  faultCode: {http://xml.apache.org/axis/}Server
    [java]  faultSubcode:
    [java]  faultString: Server Error
    [java]  faultActor:
    [java]  faultNode:
    [java]  faultDetail:
    [java]      {http://xml.apache.org/axis/}stackTrace:Server Error
    [java]      at
org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:474)
    [java]      at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
    [java]      at
org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
    [java]      at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
    [java]      at
org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
    [java]      at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    [java]      at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    [java]      at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    [java]      at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    [java]      at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    [java]      at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    [java]      at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    [java]      at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    [java]      at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    [java]      at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
    [java]      at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
    [java]      at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    [java]      at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
    [java]      at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
    [java]      at java.lang.Thread.run(Unknown Source)

    [java]      {http://xml.apache.org/axis/}hostname:localhost

    [java] Server Error
    [java]      at
org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:221)
    [java]      at
org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:128)
    [java]      at
org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
    [java]      at
org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1712)
    [java]      at org.apache.crimson.parser.Parser2.content(Parser2.java:1963)
    [java]      at
org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1691)
    [java]      at org.apache.crimson.parser.Parser2.content(Parser2.java:1963)
    [java]      at
org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1691)
    [java]      at
org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:667)
    [java]      at org.apache.crimson.parser.Parser2.parse(Parser2.java:337)
    [java]      at
org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:448)
    [java]      at javax.xml.parsers.SAXParser.parse(SAXParser.java:345)
    [java]      at
org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
    [java]      at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
    [java]      at org.apache.axis.Message.getSOAPEnvelope(Message.java:424)
    [java]      at
org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
    [java]      at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
    [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
test.VersionSoapBindingStub.getVersion(VersionSoapBindingStub.java:104)
    [java]      at test.Client.query(Client.java:42)
    [java]      at test.Client.main(Client.java:66)





I am not understanding what the above error means. Can someone please help me.



On my server end I have below file entries:


server-config.wsdd
-------------------
<service name="Version" provider="java:RPC">
        <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"/>
                        <parameter name="signaturePropFile" 
value="crypto.properties" />
                </handler>
        </requestFlow>
        <parameter name="allowedMethods" value="getVersion"/>
        <parameter name="className" value="org.apache.axis.Version"/>
</service>




crypto.properties
-------------------
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=amex123
org.apache.ws.security.crypto.merlin.keystore.alias=lydia
org.apache.ws.security.crypto.merlin.alias.password=lydia123
org.apache.ws.security.crypto.merlin.file=/WEB-INF/lydia.keystore




PWCallback.java
---------------
public class PWCallback implements CallbackHandler
{
   private static final byte[] key = {
       (byte) 0x31, (byte) 0xfd, (byte) 0xcb, (byte) 0xda, (byte) 0xfb,
       (byte) 0xcd, (byte) 0x6b, (byte) 0xa8, (byte) 0xe6, (byte) 0x19,
       (byte) 0xa7, (byte) 0xbf, (byte) 0x51, (byte) 0xf7, (byte) 0xc7,
       (byte) 0x3e, (byte) 0x80, (byte) 0xae, (byte) 0x98, (byte) 0x51,
       (byte) 0xc8, (byte) 0x51, (byte) 0x34, (byte) 0x04,
   };


   public void handle(Callback[] callbacks) throws IOException,
UnsupportedCallbackException
   {
       for (int i = 0; i < callbacks.length; i++)
       {
           if (callbacks[i] instanceof WSPasswordCallback)
           {
               WSPasswordCallback pc = (WSPasswordCallback) callbacks[i];


               if (pc.getUsage() == WSPasswordCallback.KEY_NAME)
               {
                   pc.setKey(key);
               }
               else
               {
                   pc.setPassword("security");
               }
           }
           else {
               throw new UnsupportedCallbackException(callbacks[i],
"Unrecognized Callback");
           }
       }
   }
}






Thanks in advance for your time and reply.

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

Reply via email to