Uploaded image for project: 'Axis2'
  1. Axis2
  2. AXIS2-1006

Cannot create instance of Merlin

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 1.0
    • None
    • None
    • None
    • Windows NT 5.1 SP 1, Tomcat 5.5.9

    Description

      Following the instructions for enabling Rampart in Axis2 leads to the following exception:

      java.lang.RuntimeException: org.apache.ws.security.components.crypto.Merlin cannot create instance
      org.apache.ws.security.components.crypto.CryptoFactory.loadClass(CryptoFactory.java:155)
      org.apache.ws.security.components.crypto.CryptoFactory.getInstance(CryptoFactory.java:115)
      org.apache.ws.security.handler.WSHandler.loadSignatureCrypto(WSHandler.java:337)
      org.apache.ws.security.handler.WSHandler.decodeSignatureParameter2(WSHandler.java:770)
      org.apache.ws.security.handler.WSHandler.doReceiverAction(WSHandler.java:231)
      org.apache.axis2.security.WSDoAllReceiver.processMessage(WSDoAllReceiver.java:176)
      org.apache.axis2.security.handler.WSDoAllHandler.invoke(WSDoAllHandler.java:82)
      org.apache.axis2.engine.Phase.invoke(Phase.java:381)
      org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:473)
      org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:445)
      org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:284)
      org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:136)
      javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
      javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

      I have a fresh installation of Tomcat 5.5.9. I deployed Axis 2, added the line <module ref="rampart"/> to axis2.xml and uploaded a service with the following configuration.

      service.xml:

      <service name="lcc_calculator">
      <description>
      LCC Calculator
      </description>
      <parameter name="ServiceClass" locked="false">com.thenational.prototype.axis2.LCCCalculator</parameter>
      <parameter name="InflowSecurity">
      <action>
      <items>Timestamp Signature Encrypt</items>
      <passwordCallbackClass>com.thenational.prototype.axis2.security.PasswordStore</passwordCallbackClass>
      <signaturePropFile>interop.properties</signaturePropFile>
      </action>
      </parameter>
      <operation name="calculate">
      <messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
      </operation>
      </service>

      interop.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=password
      org.apache.ws.security.crypto.merlin.file=interop/interop2.jks

      Whether this is a genuine bug or a lack of documentation I am not sure. User mailing list is unhelpful.

      Attachments

        Activity

          People

            Unassigned Unassigned
            jmawson Jeremy Mawson
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: