Monday, April 29, 2013

org.apache.ws.security.components.crypto.Merlin cannot create instance

If you are using Apache Axis2 with Rampart module on Weblogic application server and you get the following exception:

java.lang.RuntimeException: org.apache.ws.security.components.crypto.Merlin cannot create instance that occurs because  Rampart is looking at the wrong cacerts file (e.g. java.io.FileNotFoundException: C:\JDK17~1.0_1\jre\lib\security\cacerts), add the following property to your policy file:

<ramp:property name="org.apache.ws.security.crypto.merlin.load.cacerts">false</ramp:property>

I had this issue while running Apache Axis2 client on Weblogic 12c with service running on Tomcat Apache. If you have your service running on Weblogic 12c, you might need to change it there as well.

I had no problems when I ran the same client on Oracle 10g (OC4J). For more information on WSS4J configuration, see http://ws.apache.org/wss4j/config.html

3 comments:

  1. Hi Egor,

    I am facing similar problem like you have faced. I have installed web logic 11g on linux environment and have deployed webservices on it. When I am trying to access web services from SOAP UI, I am getting below mentioned exception:

    org.apache.ws.security.components.crypto.Merlin cannot create instance
    java.lang.RuntimeException: org.apache.ws.security.components.crypto.Merlin cannot create instance



    Caused by: java.lang.ClassCastException: org.apache.ws.security.components.crypto.Merlin cannot be cast to org.apache.ws.security.components.crypto.Crypto
    at org.apache.ws.security.components.crypto.CryptoFactory.loadClass(CryptoFactory.java:217)

    I have tried adding above mentioned property in services.xml, but still getting same result.

    I will highly appreciate any help on it.

    ReplyDelete
  2. Excellent website you have here, so much cool information!.. investing

    ReplyDelete
  3. I like this site very much, Its a rattling nice place to read and find information. innosilicon a11 pro 8gb 2000mh price

    ReplyDelete