Hi Lakmali,

+1 for the explanation. In your solution, I think HTTP HEAD[1] is better to
testing accessibility of the server endpoint.

var httpClient = new
Packages.org.apache.http.impl.client.DefaultHttpClient();
var *httpHead* = new Packages.org.apache.http.client.methods.*HttpHead*
(endpoint);
var response = httpClient.execute(*httpHead*);
BPSRunning = true;

[1]
http://hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/org/apache/http/client/methods/HttpHead.html

Thank you

On Fri, Mar 20, 2015 at 11:53 AM, Lakmali Baminiwatta <lakm...@wso2.com>
wrote:

> Thanks Ruchira for the information.
>
> On 19 March 2015 at 18:00, Ruchira Wageesha <ruch...@wso2.com> wrote:
>
>> Following are the possible options that I can think.
>>
>> 1. Patching XHR to get rid of the log message
>> 2. Hiding the error from log4j, but AFAIK, then it will not log any error
>> from XHR
>> 3. Using any Java's http-client directly from Jaggery[a] to do the HTTP
>> calls instead of XHR
>> 4. Using any Java's http-client to check the endpoint status, and
>> continue original HTTP call with XHR
>>
>> [a]
>> https://developer.mozilla.org/en-US/docs/Mozilla/Projects/Rhino/Scripting_Java
>>
>> /Ruchira
>>
>> On Thu, Mar 19, 2015 at 5:18 PM, Lakmali Baminiwatta <lakm...@wso2.com>
>> wrote:
>>
>>> Hi Ruchira,
>>>
>>> In APIM and APPM we talk to the BPS server and fetch Human Tasks
>>> available. For that when the user is login to the admin-dashboard jaggery
>>> app, we do a login call to BPS server using XMLHttpRequest. At this point,
>>> if the BPS is not running we are getting this connection refused error in
>>> the logs. We need to handle this.
>>>
>>> As Tharindu mentioned, XMLHttpRequestHostObject.java uses 
>>> log.error(e.getMessage(),
>>> e); [1]. Therefore we can't get rid of this stack trace in the log by
>>> just catching the exception.
>>>
>>> Is there any method in jaggery that we can use to check whether server
>>> is up and running before doing the send call and handle this? Appreciate
>>> any help on this.
>>>
>>> [1]
>>> https://github.com/wso2/jaggery/blob/0.9.0.ALPHA4.wso2v4/components/hostobjects/org.jaggeryjs.hostobjects.xhr/src/main/java/org/jaggeryjs/hostobjects/xhr/XMLHttpRequestHostObject.java
>>> [2]https://wso2.org/jira/browse/APPM-587
>>> [3]https://wso2.org/jira/browse/APIMANAGER-3139
>>>
>>> Thanks,
>>> Lakmali
>>>
>>> On 18 March 2015 at 08:57, Tharindu Dharmarathna <tharin...@wso2.com>
>>> wrote:
>>>
>>>> Hi Ruchira,
>>>>
>>>> We want to carch the exception according to connection refused
>>>> exception from the jaggery side . Due to logging of this  exception from
>>>> Hostobject We couldn't remove this exception come from the console.
>>>>
>>>> Is there any way of check a server is up and running from jaggery side
>>>> . If there's a way we can avoid exception come from the console.
>>>>
>>>> Thanks
>>>> Tharindu
>>>>
>>>> On Wed, Mar 18, 2015 at 2:06 AM, Ruchira Wageesha <ruch...@wso2.com>
>>>> wrote:
>>>>
>>>>> What is the issue with going try/catch blocks?
>>>>>
>>>>> /Ruchira
>>>>>
>>>>> On Tue, Mar 17, 2015 at 5:56 PM, Tharindu Dharmarathna <
>>>>> tharin...@wso2.com> wrote:
>>>>>
>>>>>> Hi all,
>>>>>>
>>>>>> According to public jira [1]  how can we handle connection refused
>>>>>> exception come from this issue . This come from the send method.
>>>>>>
>>>>>> code snippest for this issue
>>>>>>
>>>>>>>
>>>>>>> try{
>>>>>>> var xhr = new XMLHttpRequest();
>>>>>>> var site = require("/site/conf/site.json");
>>>>>>> var endpoint =
>>>>>>> site.workflows.applicationWorkFlowServerURL+"AuthenticationAdmin";
>>>>>>> xhr.open("POST", endpoint);
>>>>>>> var payload = '<soap:Envelope xmlns:soap="
>>>>>>> http://www.w3.org/2003/05/soap-envelope"; xmlns:aut="
>>>>>>> http://authentication.services.core.carbon.wso2.org";><soap:Header/><soap:Body><aut:login><aut:username>'
>>>>>>> + username + '</aut:username><aut:password>' + password +
>>>>>>> '</aut:password><aut:remoteAddress>localhost</aut:remoteAddress></aut:login></soap:Body></soap:Envelope>';
>>>>>>> xhr.send(payload);
>>>>>>> var cookie = (xhr.getAllResponseHeaders());
>>>>>>> log.info(xhr.readyState);
>>>>>>> //session.put("workflowCookie",cookie.split(";")[0].split(":")[1]);
>>>>>>> var sessionCookie = xhr.getResponseHeader("Set-Cookie");
>>>>>>> session.put("workflowCookie",sessionCookie);
>>>>>>> }catch (e) {
>>>>>>> // log.error(e.message);
>>>>>>> }
>>>>>>
>>>>>>
>>>>>> Exception come from the following jaggery hostobject code
>>>>>>
>>>>>> private static void executeRequest(Context cx,
>>>>>>> XMLHttpRequestHostObject xhr) throws ScriptException {
>>>>>>> try {
>>>>>>> xhr.httpClient.executeMethod(xhr.method);
>>>>>>> xhr.statusLine = xhr.method.getStatusLine();
>>>>>>> xhr.responseHeaders = xhr.method.getResponseHeaders();
>>>>>>> updateReadyState(cx, xhr, HEADERS_RECEIVED);
>>>>>>> byte[] response = xhr.method.getResponseBody();
>>>>>>> if (response.length > 0) {
>>>>>>> xhr.responseText = new String(response);
>>>>>>> }
>>>>>>> Header contentType = xhr.method.getResponseHeader("Content-Type");
>>>>>>> if (contentType != null) {
>>>>>>> xhr.responseType = contentType.getValue();
>>>>>>> }
>>>>>>> updateReadyState(cx, xhr, DONE);
>>>>>>> } catch (IOException e) {
>>>>>>> log.error(e.getMessage(), e);
>>>>>>> throw new ScriptException(e);
>>>>>>> } finally {
>>>>>>> xhr.method.releaseConnection();
>>>>>>> }
>>>>>>> }
>>>>>>
>>>>>> XMLHttpRequestHostObject.java
>>>>>>
>>>>>> [1] - https://wso2.org/jira/browse/APIMANAGER-3139
>>>>>>
>>>>>> Thanks and regards
>>>>>>
>>>>>>
>>>>>> *Tharindu Dharmarathna*Associate Software Engineer
>>>>>> WSO2 Inc.; http://wso2.com
>>>>>> lean.enterprise.middleware
>>>>>>
>>>>>> mobile: *+94779109091 <%2B94779109091>*
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>>
>>>>> *Ruchira Wageesha**Associate Technical Lead*
>>>>> *WSO2 Inc. - lean . enterprise . middleware |  wso2.com
>>>>> <http://wso2.com>*
>>>>>
>>>>> *email: ruch...@wso2.com <ruch...@wso2.com>,   blog:
>>>>> ruchirawageesha.blogspot.com <http://ruchirawageesha.blogspot.com>,
>>>>> mobile: +94 77 5493444 <%2B94%2077%205493444>*
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>>
>>>> *Tharindu Dharmarathna*Associate Software Engineer
>>>> WSO2 Inc.; http://wso2.com
>>>> lean.enterprise.middleware
>>>>
>>>> mobile: *+94779109091 <%2B94779109091>*
>>>>
>>>> _______________________________________________
>>>> Dev mailing list
>>>> Dev@wso2.org
>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>
>>>>
>>>
>>>
>>> --
>>> Lakmali Baminiwatta
>>>  Senior Software Engineer
>>> WSO2, Inc.: http://wso2.com
>>> lean.enterprise.middleware
>>> mobile:  +94 71 2335936
>>> blog : lakmali.com
>>>
>>>
>>
>>
>> --
>>
>> *Ruchira Wageesha**Associate Technical Lead*
>> *WSO2 Inc. - lean . enterprise . middleware |  wso2.com <http://wso2.com>*
>>
>> *email: ruch...@wso2.com <ruch...@wso2.com>,   blog:
>> ruchirawageesha.blogspot.com <http://ruchirawageesha.blogspot.com>,
>> mobile: +94 77 5493444 <%2B94%2077%205493444>*
>>
>
>
>
> --
> Lakmali Baminiwatta
>  Senior Software Engineer
> WSO2, Inc.: http://wso2.com
> lean.enterprise.middleware
> mobile:  +94 71 2335936
> blog : lakmali.com
>
>
> _______________________________________________
> Dev mailing list
> Dev@wso2.org
> http://wso2.org/cgi-bin/mailman/listinfo/dev
>
>


-- 
With Regards,

*Rasika Perera*
Software Engineer
M: +94 71 680 9060 E: rasi...@wso2.com
LinkedIn: http://lk.linkedin.com/in/rasika90

WSO2 Inc. www.wso2.com
lean.enterprise.middleware
_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to