Consultor Eletrônico



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.