Mule Studio:消息不是SAP对象,它的类型为“String”

时间:2013-11-21 14:14:38

标签: mule mule-studio jco

当我尝试将Mule Studio与SAP连接时。我收到了错误。

org.mule.api.transport.DispatchException:消息不是SAP对象,它的类型为“String”。检查变压器的连接器“connector.sap.mule.default”。无法通过端点路由事件:DefaultOutboundEndpoint {endpointUri = sap:// function,

请帮我解决这个问题。

enter image description here

我的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>

1 个答案:

答案 0 :(得分:0)

你错过了一些配置。来自documentation

输入骡子讯息

出站端点需要携带以下任何有效负载的Mule消息:

  • org.mule.transport.sap.SapObjectinstance。这是一个Java POJO,它的两个主要属性是:
    • 键入:SapType.FUNCTION(用于BAPI调用)或SapType.IDOC(用于IDoc)。
    • value:特定的JCo对象取决于有效负载类型:IDoc为com.sap.conn.idoc.IDocDocumentcom.sap.conn.idoc.IDocDocumentList,BAPI呼叫为com.sap.conn.jco.JCoFunction
  • 任何其他对象。您需要为XML定义提供属性definitionFile或将其嵌入XML中。

可以使用以下转换器将有效负载从XML字符串或流转换为SapObject:

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

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