Mule + ZenDesk:无用的错误消息:“null(java.lang.UnsupportedOperationException)。消息有效内容的类型为:ZendeskConnector $ 1”

时间:2014-04-24 00:25:46

标签: mule mule-studio zendesk

我认为这是某种类型的通用MuleSoft错误消息,基本上说它对输入或输出不满意,但我已经做出了最简单的流程,就我而言知道没有参数可以通过。

我试图做的测试流程:

HTTP -> ZenDesk/ListTickets -> Set Payload ("hello world")

我看过的事情:

  • 我使用全局配置并且连接验证
  • 我使用的是密码(与安全令牌相比)
  • 如果我输入的密码不正确,我会按预期获得401,如果我使用我的密钥则相同
  • 我在ZenDesk中有admin / API privs
  • 我可以使用浏览器中的REST API
  • 没有列出"列出故障单"的任何输入参数,请参阅doc
  • 如果我之后将Set Payload设置为一个简单的字符串,则返回类型不应该
  • 在调试时,使用ZenDesk和SetPayload上的断点,它永远不会进入设置有效载荷步骤

在浏览器中我得到:

null (java.lang.UnsupportedOperationException). Message payload is of type: ZendeskConnector$1

在控制台中我看到:

Message               : null (java.lang.UnsupportedOperationException). Message payload is of type: ZendeskConnector$1
Code                  : MULE_ERROR--2
--------------------------------------------------------------------------------
Exception stack is:
1. null (java.lang.UnsupportedOperationException)
  org.mule.modules.utils.pagination.PaginatedCollection:84 (null)
2. null (java.lang.UnsupportedOperationException). Message payload is of type: ZendeskConnector$1 (org.mule.api.MessagingException)
  org.mule.execution.ExceptionToMessagingExceptionExecutionInterceptor:35 (http://www.mulesoft.org/docs/site/current3/apidocs/org/mule/api/MessagingException.html)
--------------------------------------------------------------------------------
Root Exception stack trace:
java.lang.UnsupportedOperationException
    at org.mule.modules.utils.pagination.PaginatedCollection.toArray(PaginatedCollection.java:84)
    at com.mulesoft.mule.debugger.response.ObjectFieldDefinitionFactory.create(ObjectFieldDefinitionFactory.java:51)
    at com.mulesoft.mule.debugger.response.ObjectFieldDefinitionFactory.createFromObject(ObjectFieldDefinitionFactory.java:133)
    + 3 more (set debug level logging or '-Dmule.verbose.exceptions=true' for everything)

Mule Flow xml文件:(虽然非常简单)

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

<mule xmlns:zendesk="http://www.mulesoft.org/schema/mule/zendesk"
    xmlns:data-mapper="http://www.mulesoft.org/schema/mule/ee/data-mapper"
    xmlns="http://www.mulesoft.org/schema/mule/core"
    xmlns:json="http://www.mulesoft.org/schema/mule/json"
    xmlns:http="http://www.mulesoft.org/schema/mule/http"
    xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
    xmlns:spring="http://www.springframework.org/schema/beans"
    xmlns:core="http://www.mulesoft.org/schema/mule/core"
    version="EE-3.4.1"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.mulesoft.org/schema/mule/http  http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
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/solr/1.0.0/mule-solr.xsd
http://www.mulesoft.org/schema/mule/json http://www.mulesoft.org/schema/mule/json/current/mule-json.xsd
http://www.mulesoft.org/schema/mule/ee/data-mapper http://www.mulesoft.org/schema/mule/ee/data-mapper/current/mule-data-mapper.xsd
http://www.mulesoft.org/schema/mule/zendesk http://www.mulesoft.org/schema/mule/zendesk/1.0/mule-zendesk.xsd">

    <zendesk:config name="Zendesk" username="my.name@my-company.com" password="password-not-security-token" apiUrl="https://my-company.zendesk.com/api/v2/" doc:name="Zendesk">
        <zendesk:connection-pooling-profile initialisationPolicy="INITIALISE_ONE" exhaustedAction="WHEN_EXHAUSTED_GROW"/>
    </zendesk:config>

    <flow name="my_flow" doc:name="my_flow">
        <http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="8081" path="zendesk" doc:name="HTTP"/>
        <zendesk:list-tickets config-ref="Zendesk" doc:name="Zendesk" />
        <set-payload value="Hello World" doc:name="Set Payload"/>
    </flow>
</mule>

1 个答案:

答案 0 :(得分:1)

这是类型转换错误...你的msg来自zendesk是特定的类对象所以请我们变换器转换消息,它将正常工作...