4
votes

I think this is some type of generic MuleSoft error message, basically saying that it's either unhappy about the input or output, but I've made the simplest flow that I can, and as far as I know there are no parameters to pass.

The test flow I'm trying to do:

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

Things I've looked at:

  • I'm using a global config and the connection verifies
  • I'm using my password (vs. the security token)
  • If I make the password incorrect I get a 401 as expected, same if I use my key instead
  • I have admin/API privs in ZenDesk
  • I'm able to use the REST API from a browser
  • There aren't any input parameters listed for "List Tickets", see doc
  • If I do a Set Payload to a simple string afterwards then the return type shouldn't matter
  • When doing debugging, with breakpoints on the ZenDesk and SetPayload, it never gets to the Set Payload step

In the browser I get:

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

In the console I see:

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 file: (though really simple)

<?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="[email protected]" 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
I've started over with a brand new project, which I am able to retrieve individual tickets from zendesk, but using an entire list still gives this error. I'm also trying to find the source code for the connector, I posted about that here stackoverflow.com/questions/23330362Mark Bennett
Since the REST API does work, I'm guessing that somebody who knows more about Mule coding could implement a wrapper for this with some generic Mule-REST-wrapper technique, instead of troubleshooting this code directly. Thinking of starting a bounty, so just mentioning this as an idea.Mark Bennett
Oddly I had trouble setting a bounty on this with comments, I posted about that on meta meta.stackoverflow.com/questions/252544Mark Bennett
You might want to submit a Mule bug as well, as it is possible that org.mule.modules.utils.pagination.PaginatedCollection.toArray() is not implemented (just throwing UnsupportedOperationException).cybersam

1 Answers

1
votes

It is type casting error ... your msg is coming from zendesk is particular class object so please us transformer to transform message and it will work fine...