Hi,

I was using 'searchJira' operator in proxy service which queries jiras and
send result back to the client. The proxy configuration is as given below.

<proxy xmlns="http://ws.apache.org/ns/synapse"; name="SearchJIRA"
transports="http https" startOnLoad="true" trace="disable">
    <target>
        <inSequence>
            <property name="OUT_ONLY" value="true" scope="default"
type="STRING"/>
            <jira.searchJira configKey="Jira-Config">
                <query>project=TOOLS AND status=Reopened</query>
            </jira.searchJira>
            <log level="custom">
                <property name="json_payload" expression="json-eval($.)"/>
            </log>
            <respond/>
        </inSequence>
        <outSequence/>
        <faultSequence/>
    </target>
</proxy>

When the proxy is invoked it successfully connected with jira and send
result back to ESB (I have enabled wire logs and observed that jira api
returns the result in json format). Then I logged the result coming from
'searchJira' operator using both json payload logging and xml payload
logging options and it doesn't work as expected (nothing was logged in both
cases).

When it tries to send the result back to client from 'respond' mediator it
gives an exception as given below.

org.apache.axis2.AxisFault: Payload could not be written as JSON.
    at
org.apache.synapse.commons.json.JsonUtil.writeAsJson(JsonUtil.java:109)
    at
org.apache.synapse.commons.json.JsonStreamFormatter.writeTo(JsonStreamFormatter.java:60)
    at
org.apache.synapse.transport.passthru.PassThroughHttpSender.submitResponse(PassThroughHttpSender.java:496)
    at
org.apache.synapse.transport.passthru.PassThroughHttpSender.invoke(PassThroughHttpSender.java:254)
    at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442)
    at
org.apache.synapse.core.axis2.Axis2Sender.sendBack(Axis2Sender.java:163)
    at
org.apache.synapse.mediators.builtin.RespondMediator.mediate(RespondMediator.java:23)
    at
org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:77)
    at
org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:47)
    at
org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:131)
    at
org.apache.synapse.core.axis2.ProxyServiceMessageReceiver.receive(ProxyServiceMessageReceiver.java:166)
    at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
    at
org.apache.synapse.transport.passthru.ServerWorker.processEntityEnclosingRequest(ServerWorker.java:411)
    at
org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:183)
    at
org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
    at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:724)

What would be the reason for this? Have I missed anything in my proxy
configuration?

Thanks and Regards,
AsankaS.

-- 
*Asanka Sanjeewa*
Senior Software Engineer
Mobile: +94772532924
WSO2 Inc. http://wso2.com/
Blog: http://asanka-tech-blog.blogspot.com/
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to