Mule Studio:Message不是SAP对象,它的类型为;“字符串”;

Mule Studio:Message不是SAP对象,它的类型为;“字符串”;,mule,mule-studio,jco,Mule,Mule Studio,Jco,当我尝试将Mule Studio与SAP连接时。我犯了一个错误 org.mule.api.transport.DispatchException:消息不是SAP对象,它的类型为“字符串”。检查此连接器的转换器“Connector.sap.mule.default”。未能通过端点路由事件:DefaultOutboundEndpoint{endpointUri=sap://function, 请帮我做这个 我的xml文件 <?xml version="1.0" encoding="UTF-8

当我尝试将Mule Studio与SAP连接时。我犯了一个错误

org.mule.api.transport.DispatchException:消息不是SAP对象,它的类型为“字符串”。检查此连接器的转换器“Connector.sap.mule.default”。未能通过端点路由事件:DefaultOutboundEndpoint{endpointUri=sap://function,

请帮我做这个

我的xml文件

<?xml version="1.0" encoding="UTF-8"?>

<mule xmlns:sap="http://www.mulesoft.org/schema/mule/sap" xmlns:http="http://www.mulesoft.org/schema/mule/http" xmlns:tracking="http://www.mulesoft.org/schema/mule/ee/tracking" xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation" xmlns:spring="http://www.springframework.org/schema/beans" version="EE-3.4.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/ee/tracking http://www.mulesoft.org/schema/mule/ee/tracking/current/mule-tracking-ee.xsd
http://www.mulesoft.org/schema/mule/sap http://www.mulesoft.org/schema/mule/sap/current/mule-sap.xsd">
    <flow name="SapFlow1" doc:name="SapFlow1">
        <http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="8081" path="getSapDetails" doc:name="HTTP"/>
        <sap:outbound-endpoint type="function" rfcType="srfc" responseTimeout="10000" jcoAsHost="hostname" jcoUser="username" jcoPasswd="password" jcoSysnr="00" jcoClient="100" jcoLang="EN" doc:name="SAP"/>
    </flow>
</mule>

您缺少一些配置。从:

输入Mule消息

出站端点期望Mule消息承载以下任何有效负载:

  • org.mule.transport.sap.SapObjectinstance
    。这是一个Java POJO,其两个主要属性是:
    • 类型:
      SapType.FUNCTION
      (对于BAPI调用)或
      SapType.IDOC
      (对于IDOC)
    • 值:特定JCo对象取决于负载类型:
      com.sap.conn.idoc.IDocDocument
      com.sap.conn.idoc.IDocDocumentList
      用于IDocs,而
      com.sap.conn.JCo.JCoFunction
      用于BAPI调用
  • 任何其他对象。您需要为XML定义提供属性定义文件或将其嵌入XML中
可以使用以下转换器将有效负载从XML字符串或流转换为SAPGObject:

<!-- IDocs -->
<sap:xml-to-idoc/>

<!-- BAPI calls -->
<sap:xml-to-function/>


@DavidDossot:你好,david,我已经在上面添加了我的xml代码。请检查并让我知道…很快会有回复…首先,是否可以使用HTTP请求调用sap函数。我调用函数的方式是对的还是错的???即使在您的流中,使用什么传输来启动也不重要:重要的是如果您正确地通过了t在入站端点之后,他将正确的参数添加到您在流中使用的消息处理器。David,我已在XML文件中添加了上述代码。我仍然收到相同的错误。请帮助我解决此问题。什么代码?根据您的使用情况,有几种可能性。然后更新您的问题。我的方案是,我希望从通过RFC访问SAP,我想在MYSQL数据库中本地保存数据。可以通过mulesoft工具吗???