Hi Malaka, When I use "<messageBuilder contentType="application/file" class="org.wso2.carbon.relay.BinaryRelayBuilder"/>" instead of "<messageBuilder contentType="application/file" class="org.apache.axis2.format.BinaryBuilder"/>", it is working fine.
Vivekananthan Sivanayagam Associate Software Engineer | WSO2 E:[email protected] M:+94752786138 On Wed, Nov 23, 2016 at 3:26 PM, Vivekananthan Sivanayagam < [email protected]> wrote: > Hi Makala, > > I tried the given config and getting the following error. > > [2016-11-23 15:00:47,188] DEBUG - wire HTTP-Listener I/O dispatcher-6 >> > "POST /services/fileconnectorRead HTTP/1.1[\r][\n]" > [2016-11-23 15:00:47,189] DEBUG - wire HTTP-Listener I/O dispatcher-6 >> > "Host: vive.example.com:8280[\r][\n]" > [2016-11-23 15:00:47,189] DEBUG - wire HTTP-Listener I/O dispatcher-6 >> > "Connection: keep-alive[\r][\n]" > [2016-11-23 15:00:47,189] DEBUG - wire HTTP-Listener I/O dispatcher-6 >> > "Content-Length: 115[\r][\n]" > [2016-11-23 15:00:47,189] DEBUG - wire HTTP-Listener I/O dispatcher-6 >> > "Postman-Token: 1cdab400-d939-ad00-29ca-2d65a4db15fb[\r][\n]" > [2016-11-23 15:00:47,189] DEBUG - wire HTTP-Listener I/O dispatcher-6 >> > "Cache-Control: no-cache[\r][\n]" > [2016-11-23 15:00:47,189] DEBUG - wire HTTP-Listener I/O dispatcher-6 >> > "Origin: chrome-extension://fhbjgbiflinjbdggehcddcbncdddomop[\r][\n]" > [2016-11-23 15:00:47,190] DEBUG - wire HTTP-Listener I/O dispatcher-6 >> > "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, > like Gecko) Chrome/54.0.2840.100 Safari/537.36[\r][\n]" > [2016-11-23 15:00:47,190] DEBUG - wire HTTP-Listener I/O dispatcher-6 >> > "Content-Type: application/json[\r][\n]" > [2016-11-23 15:00:47,190] DEBUG - wire HTTP-Listener I/O dispatcher-6 >> > "Accept: */*[\r][\n]" > [2016-11-23 15:00:47,190] DEBUG - wire HTTP-Listener I/O dispatcher-6 >> > "Accept-Encoding: gzip, deflate[\r][\n]" > [2016-11-23 15:00:47,190] DEBUG - wire HTTP-Listener I/O dispatcher-6 >> > "Accept-Language: en-US,en;q=0.8[\r][\n]" > [2016-11-23 15:00:47,190] DEBUG - wire HTTP-Listener I/O dispatcher-6 >> > "Cookie: exchangecookie=3220c865f3bc4a0981edd476a839a747[\r][\n]" > [2016-11-23 15:00:47,190] DEBUG - wire HTTP-Listener I/O dispatcher-6 >> > "[\r][\n]" > [2016-11-23 15:00:47,190] DEBUG - wire HTTP-Listener I/O dispatcher-6 >> > "{[\n]" > [2016-11-23 15:00:47,190] DEBUG - wire HTTP-Listener I/O dispatcher-6 >> " > "source":"/home/vive/Desktop/FILE/abc.txt",[\n]" > [2016-11-23 15:00:47,190] DEBUG - wire HTTP-Listener I/O dispatcher-6 >> " > "contentType":"application/file",[\n]" > [2016-11-23 15:00:47,190] DEBUG - wire HTTP-Listener I/O dispatcher-6 >> " > "streaming":"true"[\n]" > [2016-11-23 15:00:47,190] DEBUG - wire HTTP-Listener I/O dispatcher-6 >> > "}" > [2016-11-23 15:00:47,195] ERROR - SynapseJsonPath #stringValueOf. Error > evaluating JSON Path <$.address>. Returning empty result. Error>>> invalid > path > [2016-11-23 15:00:47,199] ERROR - SynapseJsonPath #stringValueOf. Error > evaluating JSON Path <$.append>. Returning empty result. Error>>> invalid > path > [2016-11-23 15:00:47,206] ERROR - SynapseJsonPath #stringValueOf. Error > evaluating JSON Path <$.address>. Returning empty result. Error>>> invalid > path > [2016-11-23 15:00:47,207] ERROR - SynapseJsonPath #stringValueOf. Error > evaluating JSON Path <$.append>. Returning empty result. Error>>> invalid > path > [2016-11-23 15:00:47,208] ERROR - SynapseJsonPath #stringValueOf. Error > evaluating JSON Path <$.source>. Returning empty result. Error>>> invalid > path > [2016-11-23 15:00:47,208] ERROR - SynapseJsonPath #stringValueOf. Error > evaluating JSON Path <$.contentType>. Returning empty result. Error>>> > invalid path > [2016-11-23 15:00:47,209] ERROR - SynapseJsonPath #stringValueOf. Error > evaluating JSON Path <$.streaming>. Returning empty result. Error>>> > invalid path > [2016-11-23 15:00:47,214] ERROR - FileRead Could not find file with URI "" > because it is a relative path, and no base URI was provided. > [2016-11-23 15:00:47,228] INFO - LogMediator To: > /services/001fileconnectorRead, > MessageID: urn:uuid:f863b8d3-3a50-495c-bae1-2198715a0926, Direction: > request, MESSAGE = Executing default 'fault' sequence, ERROR_CODE = 0, > ERROR_MESSAGE = Error occured in the mediation of the class mediator, > Envelope: <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope > xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><axis2ns6:binary > xmlns:axis2ns6="http://ws.apache.org/commons/ns/payload"> > SSBjaGVja2VkIHRoZSBmb2xsb3dpbmcgc2NlbmFyaW9bMV0gd2l0aCBzdHJl > YW1pbmcgZW5hYmxlLCBJIGFtIGFibGUgc3VjY2VzcyB3aXRoIHRoZSByZXNw > b25zZSBmaWxlLiBJIHRyaWVkIDRHQiBmaWxlIHRvIHNlbmQgLCBpdCBpcyB3 > b3JraW5nLiBXaGVuIEkgY2hlY2tlZCBvbmx5IEZpbGVSZWFkIG9wZXJhdGlv > biB3aXRoIHN0cmVhbWluZywgSSB3YXMgYWJsZSB0byByZWFkIHRoZSBjb250 > ZW50IGluIHRoZSBtZXNzYWdlIGNvbnRleHQgYnV0IGNvdWxkIG5vdCBidWls > ZCBpdCB0aGUgdXNpbmcgRGF0YVNvdXJjZU1lc3NhZ2VCdWlsZGVyIHdpdGgg > Y29udGVudCB0eXBlICJhcHBsaWNhdGlvbi9maWxlIiBhbmQgc2hvd2luZyB0 > aGUgZm9sbG93aW5nIGVycm9yLiAK</axis2ns6:binary></soapenv: > Body></soapenv:Envelope> > [2016-11-23 15:00:47,228] ERROR - PassThroughHttpSender Failed to submit > the response > java.lang.ClassCastException: com.sun.proxy.$Proxy21 cannot be cast to > org.wso2.carbon.relay.StreamingOnRequestDataSource > at org.wso2.carbon.relay.ExpandingMessageFormatter. > findAndWrite2OutputStream(ExpandingMessageFormatter.java:185) > at org.wso2.carbon.relay.ExpandingMessageFormatter.writeTo( > ExpandingMessageFormatter.java:100) > at org.apache.synapse.transport.passthru.PassThroughHttpSender. > submitResponse(PassThroughHttpSender.java:555) > at org.apache.synapse.transport.passthru.PassThroughHttpSender.invoke( > PassThroughHttpSender.java:264) > at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442) > at org.apache.synapse.core.axis2.Axis2Sender.sendBack( > Axis2Sender.java:222) > at org.apache.synapse.mediators.builtin.RespondMediator. > mediate(RespondMediator.java:35) > at org.apache.synapse.mediators.AbstractListMediator.mediate( > AbstractListMediator.java:97) > at org.apache.synapse.mediators.AbstractListMediator.mediate( > AbstractListMediator.java:59) > at org.apache.synapse.mediators.base.SequenceMediator.mediate( > SequenceMediator.java:158) > at org.apache.synapse.core.axis2.ProxyServiceMessageReceiver.receive( > ProxyServiceMessageReceiver.java:210) > at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180) > at org.apache.synapse.transport.passthru.ServerWorker. > processNonEntityEnclosingRESTHandler(ServerWorker.java:325) > at org.apache.synapse.transport.passthru.ServerWorker. > processEntityEnclosingRequest(ServerWorker.java:371) > at org.apache.synapse.transport.passthru.ServerWorker.run( > ServerWorker.java:151) > 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:745) > [2016-11-23 15:00:47,230] ERROR - Axis2Sender Accept:*/*,Accept-Encoding:gzip, > deflate,Accept-Language:en-US,en;q=0.8,Cache-Control:no- > cache,Content-Type:application/json,Cookie:exchangecookie= > 3220c865f3bc4a0981edd476a839a747,Host:vive.example.com:8280, > Origin:chrome-extension://fhbjgbiflinjbdggehcddcbncdddom > op,Postman-Token:1cdab400-d939-ad00-29ca-2d65a4db15fb,<?xml version='1.0' > encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://schemas. > xmlsoap.org/soap/envelope/"><soapenv:Body><axis2ns6:binary > xmlns:axis2ns6="http://ws.apache.org/commons/ns/payload"> > SSBjaGVja2VkIHRoZSBmb2xsb3dpbmcgc2NlbmFyaW9bMV0gd2l0aCBzdHJl > YW1pbmcgZW5hYmxlLCBJIGFtIGFibGUgc3VjY2VzcyB3aXRoIHRoZSByZXNw > b25zZSBmaWxlLiBJIHRyaWVkIDRHQiBmaWxlIHRvIHNlbmQgLCBpdCBpcyB3 > b3JraW5nLiBXaGVuIEkgY2hlY2tlZCBvbmx5IEZpbGVSZWFkIG9wZXJhdGlv > biB3aXRoIHN0cmVhbWluZywgSSB3YXMgYWJsZSB0byByZWFkIHRoZSBjb250 > ZW50IGluIHRoZSBtZXNzYWdlIGNvbnRleHQgYnV0IGNvdWxkIG5vdCBidWls > ZCBpdCB0aGUgdXNpbmcgRGF0YVNvdXJjZU1lc3NhZ2VCdWlsZGVyIHdpdGgg > Y29udGVudCB0eXBlICJhcHBsaWNhdGlvbi9maWxlIiBhbmQgc2hvd2luZyB0 > aGUgZm9sbG93aW5nIGVycm9yLiAK</axis2ns6:binary></soapenv:Body></soapenv:Envelope> > Unexpected error sending message back > org.apache.axis2.AxisFault: Failed to submit the response > at org.apache.synapse.transport.passthru.PassThroughHttpSender. > handleException(PassThroughHttpSender.java:613) > at org.apache.synapse.transport.passthru.PassThroughHttpSender.invoke( > PassThroughHttpSender.java:266) > at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442) > at org.apache.synapse.core.axis2.Axis2Sender.sendBack( > Axis2Sender.java:222) > at org.apache.synapse.mediators.builtin.RespondMediator. > mediate(RespondMediator.java:35) > at org.apache.synapse.mediators.AbstractListMediator.mediate( > AbstractListMediator.java:97) > at org.apache.synapse.mediators.AbstractListMediator.mediate( > AbstractListMediator.java:59) > at org.apache.synapse.mediators.base.SequenceMediator.mediate( > SequenceMediator.java:158) > at org.apache.synapse.core.axis2.ProxyServiceMessageReceiver.receive( > ProxyServiceMessageReceiver.java:210) > at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180) > at org.apache.synapse.transport.passthru.ServerWorker. > processNonEntityEnclosingRESTHandler(ServerWorker.java:325) > at org.apache.synapse.transport.passthru.ServerWorker. > processEntityEnclosingRequest(ServerWorker.java:371) > at org.apache.synapse.transport.passthru.ServerWorker.run( > ServerWorker.java:151) > 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:745) > Caused by: java.lang.ClassCastException: com.sun.proxy.$Proxy21 cannot be > cast to org.wso2.carbon.relay.StreamingOnRequestDataSource > at org.wso2.carbon.relay.ExpandingMessageFormatter. > findAndWrite2OutputStream(ExpandingMessageFormatter.java:185) > at org.wso2.carbon.relay.ExpandingMessageFormatter.writeTo( > ExpandingMessageFormatter.java:100) > at org.apache.synapse.transport.passthru.PassThroughHttpSender. > submitResponse(PassThroughHttpSender.java:555) > at org.apache.synapse.transport.passthru.PassThroughHttpSender.invoke( > PassThroughHttpSender.java:264) > ... 15 more > > > Vivekananthan Sivanayagam > Associate Software Engineer | WSO2 > E:[email protected] > M:+94752786138 > > On Wed, Nov 23, 2016 at 7:49 AM, Malaka Silva <[email protected]> wrote: > >> Hi Vivekananthan, >> >> Seems your config is invalid. try the following. >> >> Basically we should support both streaming and no streaming scenarios >> with file connector. >> >> Also make a jira and give a fix. >> >> >> <?xml version="1.0" encoding="UTF-8"?> >> <proxy xmlns="http://ws.apache.org/ns/synapse" >> name="fileconnectorRead" >> startOnLoad="true" >> statistics="disable" >> trace="disable" >> transports="https,http"> >> <target> >> <inSequence> >> <property expression="json-eval($.address)" name="address"/> >> <property expression="json-eval($.append)" name="append"/> >> <property expression="json-eval($.source)" name="source"/> >> <property expression="json-eval($.contentType)" >> name="contentType"/> >> <property expression="json-eval($.streaming)" name="streaming"/> >> <fileconnector.read> >> <source>{$ctx:source}</source> >> <contentType>{$ctx:contentType}</contentType> >> <streaming>{$ctx:streaming}</streaming> >> </fileconnector.read> >> <respond/> >> </inSequence> >> </target> >> <description/> >> </proxy> >> ---------- Forwarded message ---------- >> From: Vivekananthan Sivanayagam <[email protected]> >> Date: Tue, Nov 22, 2016 at 6:57 PM >> Subject: File read with enabling streaming >> To: Malaka Silva <[email protected]> >> >> >> Hi , >> >> I checked the following scenario[1] with streaming enable, I am able >> success with the response file. I tried 4GB file to send , it is working. >> When I checked only FileRead operation with streaming, I was able to read >> the content in the message context but could not build it the using >> DataSourceMessageBuilder >> with content type "application/file" and showing the following error. >> >> Error >> >> PassThroughHttpSender Failed to submit the response >> java.lang.ClassCastException: com.sun.proxy.$Proxy21 cannot be cast to >> org.wso2.carbon.relay.StreamingOnRequestDataSource >> >> >> [1] Proxy: >> >> >> <?xml version="1.0" encoding="UTF-8"?> >> <proxy xmlns="http://ws.apache.org/ns/synapse" >> name="fileconnectorRead" >> startOnLoad="true" >> statistics="disable" >> trace="disable" >> transports="https,http"> >> <target> >> <inSequence> >> <property name="OUT_ONLY" value="true"/> >> <property action="remove" >> name="ClientApiNonBlocking" >> scope="axis2" >> value="true"/> >> <property expression="json-eval($.address)" name="address"/> >> <property expression="json-eval($.append)" name="append"/> >> <property expression="json-eval($.source)" name="source"/> >> <property expression="json-eval($.contentType)" >> name="contentType"/> >> <property expression="json-eval($.streaming)" name="streaming"/> >> <fileconnector.read> >> <source>{$ctx:source}</source> >> <contentType>{$ctx:contentType}</contentType> >> <streaming>{$ctx:streaming}</streaming> >> </fileconnector.read> >> <fileconnector.send> >> <address>{$ctx:address}</address> >> <append>{$ctx:append}</append> >> </fileconnector.send> >> <respond/> >> </inSequence> >> </target> >> <description/> >> </proxy> >> >> Request: >> >> { >> "source":"/media/vive/vives/response.txt", >> "contentType":"application/file", >> "streaming":"true", >> "address":"/home/vive/Desktop/FILE/File002", >> "append":"true" >> } >> >> >> Vivekananthan Sivanayagam >> Associate Software Engineer | WSO2 >> E:[email protected] >> M:+94752786138 >> >> >> >> -- >> >> Best Regards, >> >> Malaka Silva >> Senior Technical Lead >> M: +94 777 219 791 >> Tel : 94 11 214 5345 >> Fax :94 11 2145300 >> Skype : malaka.sampath.silva >> LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77 >> Blog : http://mrmalakasilva.blogspot.com/ >> >> WSO2, Inc. >> lean . enterprise . middleware >> https://wso2.com/signature >> http://www.wso2.com/about/team/malaka-silva/ >> <http://wso2.com/about/team/malaka-silva/> >> https://store.wso2.com/store/ >> >> Don't make Trees rare, we should keep them with care >> > >
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
