我正在尝试使用XML转换为BAPI对象将XML转换为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 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"/>
我是SAP mule的新手。请帮助我可能的原因。
我使用的版本是最新版本。
由于
答案 0 :(得分:0)
启用JCO跟踪,以便找到问题所在
要在连接器级别启用跟踪,请执行以下步骤:
将属性jcoTrace设置为true,或者提供值为1的扩展JCo属性jco.client.trace或jco.server.trace。
在Mule ESB启动时为-Djco.trace_level = N提供值。 JCo提供从0到10的跟踪级别。跟踪数据量随选定的跟踪级别而增加。每个跟踪级别还包含来自较低跟踪级别的所有跟踪数据。有关跟踪数据的详细信息,请参阅下表。如果您使用具有大量JCo调用和传输内容的高JCo跟踪级别,请确保有足够的磁盘空间可用。默认值为0.
答案 1 :(得分:0)
为了获得一些上下文,您使用的是什么具体版本的SAP连接器,JCO库,Anypoint Studio和Mule Runtime?
另外,您是否可以提供Mule App的完整XML示例,包括您正在执行的转换(“XML_to_SAP_Function__BAPI _”)?