Kbase P135824: The OpenEdge Native Service throws a NoSuchMethodError exception when a Fault or Rejected message is
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  1/15/2009 |
|
Status: Verified
SYMPTOM(s):
The OpenEdge Native Service returns a NoSuchMethodError exception when a Fault or Rejected Message is returned
java.lang.NoSuchMethodError: java.lang.Class: method getCanonicalName()Ljava/lang/String; not found
The OpenEdge Native Service throws the following exception:
java.lang.NoSuchMethodError: java.lang.Class: method getCanonicalName()Ljava/lang/String; not found
at com.progress.esb.adapter.OEFaultException.getAsXML(OEFaultException.java:55)
at com.progress.esb.adapter.EsbAdapter2.service(EsbAdapter2.java:391)
at com.sonicsw.xqimpl.service.debug.DebugServiceInterceptor.intercept(DebugServiceInterceptor.java:118)
at com.sonicsw.xqimpl.service.XQServiceChain$XQInterceptorServiceWrapper.intercept(XQServiceChain.java:481)
at com.sonicsw.xqimpl.service.XQServiceChain$XQInterceptorServiceWrapper.service(XQServiceChain.java:470)
at com.sonicsw.xqimpl.service.XQServiceChain.service(XQServiceChain.java:151)
at com.sonicsw.xqimpl.service.ServiceMessageHandler.callService(ServiceMessageHandler.java:413)
at com.sonicsw.xqimpl.service.ServiceMessageHandler.handleMessage(ServiceMessageHandler.java:182)
at com.sonicsw.xqimpl.service.ProcessMessageHandler.doHandleMessage(ProcessMessageHandler.java:308)
at com.sonicsw.xqimpl.service.ProcessMessageHandler.handleMessage(ProcessMessageHandler.java:90)
at com.sonicsw.xqimpl.service.XQDispatcher.onMessage(XQDispatcher.java:422)
at com.sonicsw.xqimpl.endpoint.container.EndpointContextContainer.onMessage(EndpointContextContainer.java:84)
at com.sonicsw.xq.connector.jms.JMSEndpoint$JMSEndpointListener.onMessage(JMSEndpoint.java:570)
at progress.message.jimpl.Session.deliver(Session.java:2998)
at progress.message.jimpl.Session.run(Session.java:2390)
at progress.message.jimpl.Session$SessionThread.run(Session.java:2775)
FACT(s) (Environment):
The actual Fault or Rejected Message is replaced by the NoSuchMethodError exception
The MF Container is using the IBM 1.4 JVM
OpenEdge 10.1x
Sonic ESB 7.5
Sonic ESB 7.6
All Supported Operating Systems
CAUSE:
The IBM 1.4 JVM does not contain all the necessary Java methods which are used by the OpenEdge Native Service.
FIX:
Configure the MF Container to use the SUN 1.5 JVM instead. This can be changed either in the SonicMQ setenv script or in the Environment tab of the MF Container's properties.
The actual Fault or Rejected Message can be found in the Container log file preceding the NoSuchMethodError exception.