我已经使用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)
********************************************************************************
答案 0 :(得分:3)
根据堆栈跟踪,您需要传递连接器上的连接属性。在这种情况下"用户名"。因此,在连接器配置中,您应该添加用户名属性:
<duoasset:connector name="DuoAsset" username="myusername" password="my password" />
等等@Connect方法中的每个全局参数或参数。
如果它们是连接参数,您也可以在操作本身上传递它们:
<duoasset:myprocessor content="#[payload]" username="myusername" password="my password" />
此外,如果您不需要任何连接管理,您可以删除@Connect和@Disconnect方法等。
在此处查看有关连接管理的更多信息:http://www.mulesoft.org/documentation/display/current/Implementing+Connection+Management