#Send HTTP Plugin We keeb on getting the following error on WAS 8 when using thi

#Send HTTP Plugin We keeb on getting the following error on WAS 8 when using this Plugin with SSL: java.lang.ClassNotFoundException: Cannot find the specified class com.ibm.websphere.ssl.protocol.SSLSocketFactory.

The funny thing is that it seems to work on one day and fails on the other day without our WAS team changing any configuration. It used to work for a long time after the certificate was installed and the class was provided, but now it constantly fails in one of our Appian instances.

Could this be related to the http client version that we're using? Anyone seen this before?

Thanks, Moritz...

OriginalPostID-71986

OriginalPostID-71986

  Discussion posts and replies are publicly visible

  • PS.: The whole error message is as follows
    [6/25/13 7:46:17:875 GMT] 00000044 SystemOut O 2013-06-25 07:46:17,872 [Default : 13] ERROR com.appiancorp.process.runtime.activities.HttpRequestActivity - java.net.SocketException: java.lang.ClassNotFoundException: Cannot find the specified class com.ibm.websphere.ssl.protocol.SSLSocketFactory
    java.net.SocketException: java.lang.ClassNotFoundException: Cannot find the specified class com.ibm.websphere.ssl.protocol.SSLSocketFactory
              at javax.net.ssl.DefaultSSLSocketFactory.a(SSLSocketFactory.java:11)
              at javax.net.ssl.DefaultSSLSocketFactory.createSocket(SSLSocketFactory.java:5)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
              at java.lang.reflect.Method.invoke(Method.java:611)
              at org.apache.commons.httpclient.protocol.ReflectionSocketFactory.createSocket(ReflectionSocketFactory.java:116)
              at org.apache.commons.httpclient.protocol.SSLProtocolSocketFactory.createSocket(SSLProtocolSocketFactory.java:130)
              at org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:707)
              at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:387)
              at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
              at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
              at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
              at com.appiancorp.process.runtime.activities.HttpRequestActivity.run(HttpRequestActivity.java:75)
              at com.appiancorp.process.runtime.framework.DefaultActivityExecutor$1.call(DefaultActivityExecutor.java:100)
              at com.appiancorp.process.runtime.framework.DefaultActivityExecutor$1.call(DefaultActivityExecutor.java:97)
              at com.appiancorp.common.ContextClassLoaderSwitcher.runInContext(ContextClassLoaderSwitcher.java:25)
              at com.appiancorp.process.runtime.framework.DefaultActivityExecutor.execute(DefaultActivityExecutor.java:97)
              at com.appiancorp.process.engine.UnattendedJavaActivityRequest.execute(UnattendedJavaActivityRequest.java:91)
              at com.appiancorp.process.engine.UnattendedJavaActivityRequest.execute(UnattendedJavaActivityRequest.java:61)
              at com.appiancorp.mdb.UnattendedRequestHandlerBean.onMessage(UnattendedRequestHandlerBean.java:17)
              at sun.reflect.GeneratedMethodAccessor736.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
              at java.lang.reflect.Method.invoke(Method.java:611)
              at com.ibm.ejs.container.MessageEndpointHandler.invokeMdbMethod(MessageEndpointHandler.java:1171)
              at com.ibm.ejs.container.MessageEndpointHandler.invoke(MessageEndpointHandler.java:842)
              at $Proxy24.onMessage(Unknown Source)
              at com.appiancorp.ra.workpoller.WorkItem.run(WorkItem.java:41)
              at com.ibm.ejs.j2c.work.WorkProxy$RunWork.run(WorkProxy.java:257)
              at java.security.AccessController.doPrivileged(AccessController.java:252)
              at javax.security.auth.Subject.doAs(Subject.java:495)
              at com.ibm.websphere.security.auth.WSSubject.doAs(WSSubject.java:132)
              at com.ibm.ejs.j2c.work.WorkProxy$RunWork.run(WorkProxy.java:260)
              at com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:63)
              at com.ibm.ejs.j2c.work.WorkProxy.run(WorkProxy.java:606)
              at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1690)
    Caused by: java.lang.ClassNotFoundException: Cannot find the specified class com.ibm.websphere.ssl.protocol.SSLSocketFactory
              at javax.net.ssl.SSLJsseUtil.b(SSLJsseUtil.java:125)
              at javax.net.ssl.SSLSocketFactory.getDefault(SSLSocketFactory.java:3)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccesso
  • Have you tried to restart the app server several times? Maybe it is a classloader problem where it depends on the timing of loading several libs. Maybe some plugins bring with some dublicate jars.
  • I kind of did as it seems to be working on and off while the only thing we do every night is to restart the app server. I noticed that the OOTB plugin com.appiancorp.webservices.api.axis2-1.0.4 also contains the apache httpclient. How could that interfer and what can I do about it? Thanks, Moritz
  • We had for example a plugin that contained some older appian libs. After a server restart it could happen that these libs are loaded instead of the ones coming with appian. I think the OOTB plugins should not be a problem as these are tested to work on supported app servers. I checked all plugins in appian/_admin/plugins for jars in the lib folder. Open a support case. Eduardo was of great help last time we had this problem.
  • In case someone is interested in the solution. Support helped to find that adding the following lines to appian-plugin.xml solved the issue:

    <bundle-instructions>
    <DynamicImport-Package>META-INF.services,*;resolution:=optional</DynamicImport-Package>
    </bundle-instructions>