Hi Shakila, Can you compare the request sending from ESB(using wirelog) and sending directly.
Regards Senduran On Wed, Jun 15, 2016 at 6:56 PM, Shakila Sivagnanarajah <shak...@wso2.com> wrote: > Hi all, > > I am experiencing socket connection closed exception while trying 'upload > part operation' [1] of Amazon s3 connector. In direct call, the response > comes within 5 seconds. I increased the the timeout values as below. > > synapse.global_timeout_interval - 180 seconds in synapse.properties > http.socket.timeout - 180 seconds in passthru-http.properties > http.socket.timeout.receiver - 180 seconds in nhttp.properties > > After this tuning also, no improvement. It waits for nearly 21 seconds. > But not receiving the response from API. [2] is the message I get. > > Finally I set the endpoint timeout [3] also. But the result is same. > > [1] > http://docs.aws.amazon.com/AmazonS3/latest/API/mpUploadUploadPartCopy.html > > > <http://docs.aws.amazon.com/AmazonS3/latest/API/mpUploadUploadPartCopy.html> > [2] > <Error> > <Code>RequestTimeout</Code> > <Message>Your socket connection to the server was not read from or > written to within the timeout period. Idle connections will be > closed.</Message> > <RequestId>7223E45B22E88E80</RequestId> > > <HostId>cH2RE4IG7QhmiN1Bpqw6/bweEKowmtXS+jFwJkzay/3u3MovuutgtzAXM37tpXuzCl23HxAYuZIF1rLGLuJxvh4GRAu6891c</HostId> > </Error> > > [3] > <call blocking="true"> > <endpoint> > <http method="put" > uri-template="{uri.var.bucketUrl}/{+uri.var.objectName}?partNumber={+uri.var.partNumber}&uploadId={+uri.var.uploadId}"> > <timeout> > <duration>180000</duration> > <responseAction>fault</responseAction> > </timeout> > </http> > </endpoint> > </call> > > [4] Template: > > <template name="uploadPart" xmlns="http://ws.apache.org/ns/synapse"> > <parameter name="bucketUrl" description="The URL of the bucket without > the http prefix."/> > <parameter name="objectName" description="The name to give for the > newly created object."/> > <parameter name="uploadId" description="This specifiy the ID of the > initiated multipart upload."/> > <parameter name="partNumber" description="This specifiy the number or > the index of the uploaded part."/> > <sequence> > <property name="uri.var.bucketUrl" expression="$func:bucketUrl"/> > <property name="uri.var.objectName" expression="$func:objectName"/> > <property name="uri.var.uploadId" expression="$func:uploadId"/> > <property name="uri.var.partNumber" expression="$func:partNumber"/> > <!-- Force ESB to send the content length to the AmazonS3 API --> > <property name="FORCE_HTTP_CONTENT_LENGTH" value="true" > scope="axis2"/> > <property name="COPY_CONTENT_LENGTH_FROM_INCOMING" value="true" > scope="axis2"/> > <call> > <endpoint> > <http method="put" > > uri-template="{uri.var.bucketUrl}/{+uri.var.objectName}?partNumber={+uri.var.partNumber}&uploadId={+uri.var.uploadId}"/> > </endpoint> > </call> > <!-- Remove response custom header information --> > <header name="x-amz-id-2" scope="transport" action="remove"/> > <header name="x-amz-request-id" scope="transport" action="remove"/> > <header name="Via" scope="transport" action="remove"/> > <header name="x-amz-server-side-encryption" scope="transport" > action="remove"/> > </sequence> > </template> > > > Thank you > -- > Shakila Sivagnanarajah > Software Engineer > Mobile :+94 (0) 768 856837 > shak...@wso2.com > WSO2, Inc. > lean . enterprise . middleware > http://www.wso2.com/ > -- *Senduran * Software Engineer, WSO2, Inc.; http://wso2.com/ <http://wso2.com/> Mobile: +94 77 952 6548
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev