我正在尝试发送XML,将其转换为BAPI对象,在mule中的转换器中使用XMLto BAPI。我测试了连接,结果成功了。在访问SAP时,我得到了以下错误:
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...我的配置如下所示:
连接器参考
<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出站:
<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"/>我刚接触过SAP骡子。请帮助我,可能的原因是什么。
我正在使用的版本是最新版本。
谢谢
发布于 2016-01-21 14:05:49
启用JCO跟踪,以便找到问题所在
若要在连接器级别启用跟踪,请执行以下步骤:
将属性jcoTrace设置为true,或提供值为1的扩展JCo属性jco.client.trace或jco.server.trace。
在Mule ESB启动时为-Djco.trace_level=N提供一个值。JCo提供从0到10的跟踪级别。跟踪数据量随所选跟踪级别的增加而增加。每个跟踪级别还包含来自较低跟踪级别的所有跟踪数据。有关跟踪数据的详细信息,请参阅下表。如果您使用的是高JCo跟踪级别,其中包含大量JCo调用和传输的内容,请确保有足够的磁盘空间可用。默认值为0。
发布于 2016-04-26 03:38:24
为了有一些上下文,您正在使用哪种具体的版本的SAP连接器、JCO、Anypoint和Mule运行时?
此外,您能否提供Mule应用程序的完整XML示例,包括正在执行的转换("XML_to_SAP_Function__BAPI_")?
https://stackoverflow.com/questions/34878399
复制相似问题