Reputation: 1178
I am trying to send XML converting it to BAPI object using XML to BAPI in transformer available in mule. I test the connection and it was successful. While hitting to SAP I'm getting the following error :
com.sap.conn.rfc.exceptions.RfcGetException: Transaction " " is unknown.
at com.sap.conn.rfc.engine.RfcImp.ab_rfcerror(RfcImp.java:1176)
at com.sap.conn.rfc.engine.RfcGet.ab_rfcget(RfcGet.java:120)
at com.sap.conn.rfc.engine.RfcRcv.ab_rfcreceive(RfcRcv.java:36)
at com.sap.conn.rfc.engine.RfcIoOpenCntl.RfcReceive(RfcIoOpenCntl.java:1983)
at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcClient.execute(MiddlewareJavaRfc.java:2032)
at com.sap.conn.jco.rt.ClientConnection.execute(ClientConnection.java:1179)
at com.sap.conn.jco.rt.ClientConnection.execute(ClientConnection.java:1008)
at com.sap.conn.jco.rt.RfcDestination.execute(RfcDestination.java:1458)
at com.sap.conn.jco.rt.RfcDestination.execute(RfcDestination.java:1428)
at com.sap.conn.jco.rt.AbapFunction.execute(AbapFunction.java:300)
at com.mulesoft.mule.transport.sap.jco3.SapJcoDefaultConnectionClient.executeSRFC(SapJcoDefaultConnectionClient.java:169)
at com.mulesoft.mule.transport.sap.jco3.SapJcoDefaultConnectionClient.execute(SapJcoDefaultConnectionClient.java:192)
at com.mulesoft.mule.transport.sap.jco3.SapJcoDefaultConnectionClient.dispatch(SapJcoDefaultConnectionClient.java:432)
at com.mulesoft.mule.transport.sap.SapMessageDispatcher.doSend(SapMessageDispatcher.java:175)
at org.mule.transport.AbstractMessageDispatcher.process(AbstractMessageDispatcher.java:84)
at org.mule.transport.AbstractConnector$DispatcherMessageProcessor.process(AbstractConnector.java:2662)
at org.mule.execution.ExceptionToMessagingExceptionExecutionInterceptor.execute(ExceptionToMessagingExceptionExecutionInterceptor.java:24)
at org.mule.execution.MessageProcessorNotificationExecutionInterceptor.execute(MessageProcessorNotificationExecutionInterceptor.java:107)
at org.mule.execution.MessageProcessorExecutionTemplate.execute(MessageProcessorExecutionTemplate.java:44)
at org.mule.execution.ExceptionToMessagingExceptionExecutionInterceptor.execute(ExceptionToMessagingExceptionExecutionInterceptor.java:24)
at org.mule.execution.MessageProcessorExecutionTemplate.execute(MessageProcessorExecutionTemplate.java:44)
at org.mule.processor.BlockingProcessorExecutor.executeNext(BlockingProcessorExecutor.java:94)
at org.mule.processor.BlockingProcessorExecutor.execute(BlockingProcessorExecutor.java:56)
at org.mule.endpoint.outbound.OutboundResponsePropertiesMessageProcessor.process(OutboundResponsePropertiesMessageProcessor.java:35)
at org.mule.execution.ExceptionToMessagingExceptionExecutionInterceptor.execute(ExceptionToMessagingExceptionExecutionInterceptor.java:24)
at org.mule.execution.MessageProcessorNotificationExecutionInterceptor.execute(MessageProcessorNotificationExecutionInterceptor.java:107)
at org.mule.execution.MessageProcessorExecutionTemplate.execute(MessageProcessorExecutionTemplate.java:44)
at org.mule.execution.ExceptionToMessagingExceptionExecutionInterceptor.execute(ExceptionToMessagingExceptionExecutionInterceptor.java:24)
at org.mule.execution.MessageProcessorExecutionTemplate.execute(MessageProcessorExecutionTemplate.java:44)
at org.mule.processor.BlockingProcessorExecutor.executeNext(BlockingProcessorExecutor.java:94)
at org.mule.processor.BlockingProcessorExecutor.execute(BlockingProcessorExecutor.java:56)
at org.mule.processor.EndpointTransactionalInterceptingMessageProcessor$1.process(EndpointTransactionalInterceptingMessageProcessor.java:46)
at org.mule.processor.EndpointTransactionalInterceptingMessageProcessor$1.process(EndpointTransactionalInterceptingMessageProcessor.java:43)
at org.mule.execution.ExecuteCallbackInterceptor.execute(ExecuteCallbackInterceptor.java:16)
at org.mule.execution.BeginAndResolveTransactionInterceptor.execute(BeginAndResolveTransactionInterceptor.java:67)
at org.mule.execution.ResolvePreviousTransactionInterceptor.execute(ResolvePreviousTransactionInterceptor.java:44)
at org.mule.execution.SuspendXaTransactionInterceptor.execute(SuspendXaTransactionInterceptor.java:50)
at org.mule.execution.ValidateTransactionalStateInterceptor.execute(ValidateTransactionalStateInterceptor.java:40)
at org.mule.execution.IsolateCurrentTransactionInterceptor.execute(IsolateCurrentTransactionInterceptor.java:41)
at org.mule.execution.ExternalTransactionInterceptor.execute(ExternalTransactionInterceptor.java:48)
at org.mule.execution.TransactionalExecutionTemplate.execute(TransactionalExecutionTemplate.java:65)
at org.mule.processor.EndpointTransactionalInterceptingMessageProcessor.process(EndpointTransactionalInterceptingMessageProcessor.java:52)
at org.mule.execution.ExceptionToMessagingExceptionExecutionInterceptor.execute(ExceptionToMessagingExceptionExecutionInterceptor.java:24)
at org.mule.execution.MessageProcessorNotificationExecutionInterceptor.execute(MessageProcessorNotificationExecutionInterceptor.java:107)
at org.mule.execution.MessageProcessorExecutionTemplate.execute(MessageProcessorExecutionTemplate.java:44)
at org.mule.proces...
My configuration looks like this :
Connector reference
<sap:connector name="SAP" jcoAsHost="${SAPHost}" jcoUser="${user}" jcoPasswd="${password}" jcoSysnr="${SAPSystemNumber}" jcoClient="${SAPClient}" jcoLang="${loginLanguage}" validateConnections="true" doc:name="SAP"/>
<sap:xml-to-function xmlVersion="2" name="XML_to_SAP_Function__BAPI_" doc:name="XML to SAP Function (BAPI)"/>
SAP Outbound :
<sap:outbound-endpoint exchange-pattern="request-response" connector-ref="SAP" type="function" functionName="*******" xmlVersion="2" outputXml="true" responseTimeout="10000" transformer-refs="XML_to_SAP_Function__BAPI_" doc:name="SAP"/>
I'm new to SAP mule. Please help me what may the possible reason for this.
The version I'm using is latest one.
Thanks
Upvotes: 1
Views: 1084
Reputation: 669
In order to have some context, what concrete versions of SAP connector, JCO libraries, Anypoint Studio and Mule Runtime are you using?
Also, can you provide the complete XML sample of the Mule App including the transformation you are performing ("XML_to_SAP_Function__BAPI_")?
Upvotes: 0
Reputation: 797
Enable JCO trace so you can find where the problem lies
To enable traces at the connector level, perform the following steps:
Set the attribute jcoTrace to true or provide the extended JCo property jco.client.trace or jco.server.trace with value 1.
Provide a value for -Djco.trace_level=N at Mule ESB startup. JCo offers trace levels from 0 to 10. The amount of traced data increases with the chosen trace level. Each trace level also contains all the trace data from the lower trace levels. For details about the traced data please see the table below. If you are using a high JCo trace level with lots of JCo calls and transferred content, please make sure that enough disk space is available. Default value is 0.
Upvotes: 0