Hi Dushan,

Thanks for your reply. There's so client termination as such, I'm simply
creating a new ServiceClient object for each individual test.

Thanks.
On Mar 11, 2014 9:59 PM, "Dushan Abeyruwan" <[email protected]> wrote:

> Hi Ramidu,
>    [found few typo error in previous reply] please do apologize.
>
> Anyway what i need to know,
>   How you terminate your client operations ?
>
> Anyway, found similar sort of issues reported [1] and possible workaround
> in [2]
> [1]https://wso2.org/jira/browse/CARBON-10439
> [2]https://wso2.org/jira/browse/ESBJAVA-2419
>
> Cheers,
> Dushan
>
>
>
>
> On Tue, Mar 11, 2014 at 9:37 PM, Dushan Abeyruwan <[email protected]> wrote:
>
>> Hi Ramidu
>> Can I know I you terminate your client operations? when searching issue
>> related to the stack you posted, it seems like the client handler shutdown
>> immediately but still there are some requests being processing.
>>
>> based on the searching [1] reported similar issue and to avoid what we
>> have suggested [2]
>> [1]https://wso2.org/jira/browse/CARBON-10439
>> [2]https://wso2.org/jira/browse/ESBJAVA-2419
>>
>>
>> Cheers,
>> Dushan
>>
>>
>>
>>
>> https://wso2.org/jira/browse/CARBON-10439
>>
>>
>>
>>
>> On Tue, Mar 11, 2014 at 3:15 PM, Ramindu Deshapriya 
>> <[email protected]>wrote:
>>
>>> Hi,
>>>
>>> I have written 50+ Integration Tests for the Google Drive Cloud Connector
>>> using a ServiceClient to send messages to the ESB. I use the following
>>> method to build the client:
>>>
>>> public static OperationClient buildMEPClient(EndpointReference endpoint,
>>> OMElement request) throws AxisFault {
>>>
>>>         ServiceClient serviceClient = new ServiceClient();
>>>
>>>         Options serviceOptions = new Options();
>>>         serviceOptions.setTo(endpoint);
>>>         serviceOptions.setAction("mediate");
>>>         serviceClient.setOptions(serviceOptions);
>>>         MessageContext messageContext = new MessageContext();
>>>
>>>         SOAPEnvelope soapEnvelope =
>>> TransportUtils.createSOAPEnvelope(request);
>>>         messageContext.setEnvelope(soapEnvelope);
>>>         OperationClient mepClient =
>>> serviceClient.createClient(ServiceClient.ANON_OUT_IN_OP);
>>>         mepClient.addMessageContext(messageContext);
>>>         return mepClient;
>>>     }
>>>
>>> after which I call mepClient.execute(true) to receive a response in the
>>> following manner within each test:
>>>
>>> mepClient = ConnectorIntegrationUtil.buildMEPClient(new
>>> EndpointReference(
>>>                     getProxyServiceURL(CONNECTOR_NAME + "_" +
>>> methodName)),
>>> requestEnvelope);
>>>  mepClient.execute(true);
>>>             MessageContext responseMsgCtx =
>>> mepClient.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
>>>
>>> However, when running this test suite, sometimes I receive random
>>> NullPointerExceptions on different methods. Note that I do not get this
>>> exception on the same test methods, rather I might get it on one or two
>>> random methods during a single test run or I might not get it at all. The
>>> stack trace for a typical occurrence is;
>>>
>>> java.lang.NullPointerException
>>>         at
>>>
>>> org.apache.axis2.context.AbstractContext.needPropertyDifferences(AbstractContext.java:239)
>>>         at
>>>
>>> org.apache.axis2.context.AbstractContext.setProperty(AbstractContext.java:202)
>>>         at
>>>
>>> org.apache.axis2.transport.http.HTTPSender.handleResponse(HTTPSender.java:270)
>>>         at
>>>
>>> org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:194)
>>>         at
>>> org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:75)
>>>         at
>>>
>>> org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:451)
>>>         at
>>>
>>> org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:278)
>>>         at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442)
>>>         at
>>>
>>> org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:398)
>>>         at
>>>
>>> org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:224)
>>>         at
>>> org.apache.axis2.client.OperationClient.execute(OperationClient.java:149)
>>>         at
>>>
>>> org.wso2.carbon.connector.integration.test.googledrive.GoogledriveConnectorIntegrationTest.testgetCommentByIDOptionalParams(GoogledriveConnectorIntegrationTest.java:1316)
>>>
>>> In these instances, I have noticed that the correct response is returned
>>> by
>>> the backend API via monitoring the wire log, however, the test will
>>> simply
>>> fail giving the above stack trace.
>>>
>>> Is there any way to overcome this issue?
>>>
>>> Thanks.
>>>
>>>
>>>
>>> --
>>> View this message in context:
>>> http://wso2-oxygen-tank.10903.n7.nabble.com/ESB-Getting-random-NullPointerException-on-Operation-Client-during-Connector-Integration-Tests-tp93294.html
>>> Sent from the WSO2 Development mailing list archive at Nabble.com.
>>> _______________________________________________
>>> Dev mailing list
>>> [email protected]
>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>
>>
>>
>>
>> --
>> Dushan Abeyruwan | Associate Tech Lead
>>  Integration Technologies Team
>> PMC Member Apache Synpase
>> WSO2 Inc. http://wso2.com/
>> Blog:http://dushansview.blogspot.com/
>> Mobile:(0094)713942042
>>
>>
>
>
> --
> Dushan Abeyruwan | Associate Tech Lead
> Integration Technologies Team
> PMC Member Apache Synpase
> WSO2 Inc. http://wso2.com/
> Blog:http://dushansview.blogspot.com/
> Mobile:(0094)713942042
>
>
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to