Java 未能调用方法。消息负载的类型为:String

Java 未能调用方法。消息负载的类型为:String,java,mule,connector,Java,Mule,Connector,我已经使用Devkit创建了一个mule连接器,它只接受一个字符串,当我尝试使用连接器运行mule应用程序时,它会发出“调用myProcessor失败。消息负载的类型为:string”。我该怎么办 Exception stack is: 1. Parameter username in method connect can't be null because is not @Optional (org.mule.modules.duoasset.connection.UnableToAcquir

我已经使用Devkit创建了一个mule连接器,它只接受一个字符串,当我尝试使用连接器运行mule应用程序时,它会发出“调用myProcessor失败。消息负载的类型为:string”。我该怎么办

Exception stack is:
1. Parameter username in method connect can't be null because is not @Optional (org.mule.modules.duoasset.connection.UnableToAcquireConnectionException)
  org.mule.modules.duoasset.connectivity.DuoAssetConnectorConnectionManager:260 (http://www.mulesoft.org/docs/site/current3/apidocs/org/mule/modules/duoasset/connection/UnableToAcquireConnectionException.html)
2. Failed to invoke myProcessor. Message payload is of type: String (org.mule.api.MessagingException)
  org.mule.devkit.processor.DevkitBasedMessageProcessor:128 (http://www.mulesoft.org/docs/site/current3/apidocs/org/mule/api/MessagingException.html)
--------------------------------------------------------------------------------
Root Exception stack trace:
org.mule.modules.duoasset.connection.UnableToAcquireConnectionException: Parameter username in method connect can't be null because is not @Optional
    at org.mule.modules.duoasset.connectivity.DuoAssetConnectorConnectionManager.getEvaluatedConnectionKey(DuoAssetConnectorConnectionManager.java:260)
    at org.mule.modules.duoasset.connectivity.DuoAssetConnectorConnectionManager.getEvaluatedConnectionKey(DuoAssetConnectorConnectionManager.java:39)
    at org.mule.modules.duoasset.process.ManagedConnectionProcessInterceptor.execute(ManagedConnectionProcessInterceptor.java:58)
    + 3 more (set debug level logging or '-Dmule.verbose.exceptions=true' for everything)
********************************************************************************


根据stacktrace,您需要在连接器上传入连接属性。在本例中为“用户名”。因此,在连接器配置中,您应该添加username属性:

<duoasset:connector name="DuoAsset" username="myusername" password="my password" />

依此类推@Connect方法中的每个全局参数或参数

如果它们是连接参数,还可以在操作本身上传递它们:

<duoasset:myprocessor content="#[payload]" username="myusername" password="my password" />

此外,如果您不需要任何连接管理,您可以删除@Connect和@Disconnect方法等


请参阅此处有关连接管理的更多信息:

您可以发布更多堆栈跟踪吗?+1以获得专家画笔技能专区的青睐!如何通过连接器返回参数,流如何访问第一个连接器的out参数?您只需使用标准java返回一些东西;与方法签名的返回类型匹配的。Mule将为流中的下一个处理器返回负载。