Re: [Dev] Invoking a Jaggery api via HttpURLConnection
Hi , The above get() method returned the response as null. After several attempts finally got it working with following approach with the help of Nipuna. Thanks a lot Nipuna for helping to sort this out. var xhr = new XMLHttpRequest(); xhr.open("GET", url); xhr.setRequestHeader("Accept" , "application/json"); xhr.setRequestHeader("Content-Type" , "application/json"); xhr.send(); print(xhr.responseText); Thanks, On Fri, Sep 23, 2016 at 6:32 PM, Denuwanthi De Silvawrote: > Hi Sameera, > > I could get it working with following approach[1]: > > var headers ={"Accept" : "application/json"}; > var response = get(url,null,headers,'text'); > > > > [1]http://stackoverflow.com/questions/34505509/jaggeryjs- > ajax-call-get-method > > Thanks > > On Fri, Sep 23, 2016 at 5:21 PM, Denuwanthi De Silva > wrote: > >> Hi Sameera, >> >> Please find the stacktrace >> >> Stacktrace: >> at org.apache.jasper.servlet.JspServletWrapper.handleJspExcepti >> on(JspServletWrapper.java:568) >> at org.apache.jasper.servlet.JspServletWrapper.service(JspServl >> etWrapper.java:470) >> at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServl >> et.java:395) >> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339) >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) >> at org.apache.catalina.core.ApplicationFilterChain.internalDoFi >> lter(ApplicationFilterChain.java:303) >> at org.apache.catalina.core.ApplicationFilterChain.doFilter(App >> licationFilterChain.java:208) >> at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilte >> r.java:52) >> at org.apache.catalina.core.ApplicationFilterChain.internalDoFi >> lter(ApplicationFilterChain.java:241) >> at org.apache.catalina.core.ApplicationFilterChain.doFilter(App >> licationFilterChain.java:208) >> at org.apache.catalina.core.ApplicationDispatcher.invoke(Applic >> ationDispatcher.java:748) >> at org.apache.catalina.core.ApplicationDispatcher.processReques >> t(ApplicationDispatcher.java:486) >> at org.apache.catalina.core.ApplicationDispatcher.doForward(App >> licationDispatcher.java:411) >> at org.apache.catalina.core.ApplicationDispatcher.forward(Appli >> cationDispatcher.java:338) >> >> >> Caused by: java.lang.RuntimeException: Failed : HTTP error code : 500 >> at org.apache.jsp.login_jsp._jspService(login_jsp.java:353) >> at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) >> at org.apache.jasper.servlet.JspServletWrapper.service(JspServl >> etWrapper.java:432) >> ... 55 more >> >> >> Thanks >> > > > > -- > Denuwanthi De Silva > Senior Software Engineer; > WSO2 Inc.; http://wso2.com, > Email: denuwan...@wso2.com > Blog: https://denuwanthi.wordpress.com/ > -- Denuwanthi De Silva Senior Software Engineer; WSO2 Inc.; http://wso2.com, Email: denuwan...@wso2.com Blog: https://denuwanthi.wordpress.com/ ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev
Re: [Dev] Invoking a Jaggery api via HttpURLConnection
Hi Sameera, I could get it working with following approach[1]: var headers ={"Accept" : "application/json"}; var response = get(url,null,headers,'text'); [1] http://stackoverflow.com/questions/34505509/jaggeryjs-ajax-call-get-method Thanks On Fri, Sep 23, 2016 at 5:21 PM, Denuwanthi De Silvawrote: > Hi Sameera, > > Please find the stacktrace > > Stacktrace: > at org.apache.jasper.servlet.JspServletWrapper.handleJspException( > JspServletWrapper.java:568) > at org.apache.jasper.servlet.JspServletWrapper.service( > JspServletWrapper.java:470) > at org.apache.jasper.servlet.JspServlet.serviceJspFile( > JspServlet.java:395) > at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) > at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( > ApplicationFilterChain.java:303) > at org.apache.catalina.core.ApplicationFilterChain.doFilter( > ApplicationFilterChain.java:208) > at org.apache.tomcat.websocket.server.WsFilter.doFilter( > WsFilter.java:52) > at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( > ApplicationFilterChain.java:241) > at org.apache.catalina.core.ApplicationFilterChain.doFilter( > ApplicationFilterChain.java:208) > at org.apache.catalina.core.ApplicationDispatcher.invoke( > ApplicationDispatcher.java:748) > at org.apache.catalina.core.ApplicationDispatcher.processRequest( > ApplicationDispatcher.java:486) > at org.apache.catalina.core.ApplicationDispatcher.doForward( > ApplicationDispatcher.java:411) > at org.apache.catalina.core.ApplicationDispatcher.forward( > ApplicationDispatcher.java:338) > > > Caused by: java.lang.RuntimeException: Failed : HTTP error code : 500 > at org.apache.jsp.login_jsp._jspService(login_jsp.java:353) > at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) > at org.apache.jasper.servlet.JspServletWrapper.service( > JspServletWrapper.java:432) > ... 55 more > > > Thanks > -- Denuwanthi De Silva Senior Software Engineer; WSO2 Inc.; http://wso2.com, Email: denuwan...@wso2.com Blog: https://denuwanthi.wordpress.com/ ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev
Re: [Dev] Invoking a Jaggery api via HttpURLConnection
Hi Sameera, Please find the stacktrace Stacktrace: at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:568) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:470) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339) at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:748) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:486) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:411) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:338) Caused by: java.lang.RuntimeException: Failed : HTTP error code : 500 at org.apache.jsp.login_jsp._jspService(login_jsp.java:353) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432) ... 55 more Thanks ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev
Re: [Dev] Invoking a Jaggery api via HttpURLConnection
Some additional suggestions for organizing the above code: <% (function(request,response){ var method = request.getMethod(); function doGet(req,res) { } switch(method) { case 'GET': doGet(request,response); break; default: break; } }(request,response)); %> On Fri, Sep 23, 2016 at 5:11 PM, Sameera Medagammaddegedara < samee...@wso2.com> wrote: > EDIT: > Please post the error you get afterwards. > > On Fri, Sep 23, 2016 at 5:11 PM, Sameera Medagammaddegedara < > samee...@wso2.com> wrote: > >> Hi Denuwanthi, >> >> Can you please change your jag to the following: >> >> <% >> try { >> >> } catch (e) { >> log.error(e); >> response.status=500; >> var msg = {}; >>msg.status = 500; >> msg.error = "Failed invoking remote endpoint"; >> print(msg); >> } >> >> %> >> >> On Fri, Sep 23, 2016 at 5:04 PM, Denuwanthi De Silva> > wrote: >> >>> Hi, >>> >>> I have .jsp file, in which I want to invoke a jaggery api. >>> >>> The content inside .jsp file is as below: >>> >>> URL url = new URL(baseURL + *"/user-login/user/authenticate/add*?scope=" >>> + URLEncoder.encode(scope, "UTF-8") + "=" + redirectUri + >>> "=" + clientId + "=" + arc + "=" + >>> responseType + "=" + operator + "=" + >>> msisdn+"="+nonce+"="+state+"="+baseURL); >>> HttpURLConnection conn = (HttpURLConnection) >>> url.openConnection(); >>> conn.setRequestMethod("GET"); >>> conn.setRequestProperty("Accept", >>> "application/json"); >>> if (conn.getResponseCode() != 200) { >>> throw new RuntimeException("Failed : >>> HTTP error code : " + conn.getResponseCode()); >>> } >>> >>> The jaggery.conf file contains the url mapping as follows: >>> { >>> "urlMappings": [ >>> { >>> "url": *"/user/authenticate/add*", >>> "path": "/sendAuthentication.jag" >>> } >>> ] >>> } >>> >>> The sendAuthentication.jag content is as follows: >>> Inside the jaggery api file I call a JAX-RS webapp in the path >>> *'user-registration/webresources/endpoint/user/authenticate/add'* >>> >>> >>> <% >>> var METHOD = request.getMethod(); >>> var log = new Log(); >>> switch (METHOD) { >>> case 'GET': >>> var baseUrl = request.getParameter('baseUrl'); >>> var scope = request.getParameter('scope'); >>> var redirectUri = request.getParameter('redirecturi'); >>> var clientId = request.getParameter('clientid'); >>> var arc = request.getParameter('acrvalue'); >>> var responseType = request.getParameter('responsetype'); >>> var operator = request.getParameter('operator'); >>> var msisdn = request.getParameter('msisdn'); >>> var nonce = request.getParameter('nonce'); >>> var state = request.getParameter('state'); >>> var url = baseUrl+"/user-registration/we >>> bresources/endpoint/user/authenticate/add?scope=" + scope + >>> "=" + redirectUri + "=" + clientId + "=" + >>> arc + "=" + responseType + "=" + operator + >>> "=" + msisdn+"="+nonce+"="+state; >>> var response = get(url,{},"json"); >>> log.info(response); >>> //log.info(response.data.); >>> >>> } >>> %> >>> >>> >>> The above approach did not work. When invoke the .jsp file it fails with >>> HTTP error code : 500 at conn.getResponseCode() != 200 condition check. >>> >>> Can anyone point me to a proper way to acheive calling to JAX-RS >>> endpoint through jaggery api, which in turn is called inside JSP file? >>> >>> Thanks, >>> >>> -- >>> Denuwanthi De Silva >>> Senior Software Engineer; >>> WSO2 Inc.; http://wso2.com, >>> Email: denuwan...@wso2.com >>> Blog: https://denuwanthi.wordpress.com/ >>> >> >> >> >> -- >> Sameera Medagammaddegedara >> Software Engineer >> >> Contact: >> Email: samee...@wso2.com >> Mobile: + 94 077 255 3005 >> > > > > -- > Sameera Medagammaddegedara > Software Engineer > > Contact: > Email: samee...@wso2.com > Mobile: + 94 077 255 3005 > -- Sameera Medagammaddegedara Software Engineer Contact: Email: samee...@wso2.com Mobile: + 94 077 255 3005 ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev
Re: [Dev] Invoking a Jaggery api via HttpURLConnection
EDIT: Please post the error you get afterwards. On Fri, Sep 23, 2016 at 5:11 PM, Sameera Medagammaddegedara < samee...@wso2.com> wrote: > Hi Denuwanthi, > > Can you please change your jag to the following: > > <% > try { > > } catch (e) { > log.error(e); > response.status=500; > var msg = {}; >msg.status = 500; > msg.error = "Failed invoking remote endpoint"; > print(msg); > } > > %> > > On Fri, Sep 23, 2016 at 5:04 PM, Denuwanthi De Silva> wrote: > >> Hi, >> >> I have .jsp file, in which I want to invoke a jaggery api. >> >> The content inside .jsp file is as below: >> >> URL url = new URL(baseURL + *"/user-login/user/authenticate/add*?scope=" >> + URLEncoder.encode(scope, "UTF-8") + "=" + redirectUri + >> "=" + clientId + "=" + arc + "=" + >> responseType + "=" + operator + "=" + >> msisdn+"="+nonce+"="+state+"="+baseURL); >> HttpURLConnection conn = (HttpURLConnection) >> url.openConnection(); >> conn.setRequestMethod("GET"); >> conn.setRequestProperty("Accept", >> "application/json"); >> if (conn.getResponseCode() != 200) { >> throw new RuntimeException("Failed : HTTP >> error code : " + conn.getResponseCode()); >> } >> >> The jaggery.conf file contains the url mapping as follows: >> { >> "urlMappings": [ >> { >> "url": *"/user/authenticate/add*", >> "path": "/sendAuthentication.jag" >> } >> ] >> } >> >> The sendAuthentication.jag content is as follows: >> Inside the jaggery api file I call a JAX-RS webapp in the path >> *'user-registration/webresources/endpoint/user/authenticate/add'* >> >> >> <% >> var METHOD = request.getMethod(); >> var log = new Log(); >> switch (METHOD) { >> case 'GET': >> var baseUrl = request.getParameter('baseUrl'); >> var scope = request.getParameter('scope'); >> var redirectUri = request.getParameter('redirecturi'); >> var clientId = request.getParameter('clientid'); >> var arc = request.getParameter('acrvalue'); >> var responseType = request.getParameter('responsetype'); >> var operator = request.getParameter('operator'); >> var msisdn = request.getParameter('msisdn'); >> var nonce = request.getParameter('nonce'); >> var state = request.getParameter('state'); >> var url = baseUrl+"/user-registration/we >> bresources/endpoint/user/authenticate/add?scope=" + scope + >> "=" + redirectUri + "=" + clientId + "=" + >> arc + "=" + responseType + "=" + operator + >> "=" + msisdn+"="+nonce+"="+state; >> var response = get(url,{},"json"); >> log.info(response); >> //log.info(response.data.); >> >> } >> %> >> >> >> The above approach did not work. When invoke the .jsp file it fails with >> HTTP error code : 500 at conn.getResponseCode() != 200 condition check. >> >> Can anyone point me to a proper way to acheive calling to JAX-RS endpoint >> through jaggery api, which in turn is called inside JSP file? >> >> Thanks, >> >> -- >> Denuwanthi De Silva >> Senior Software Engineer; >> WSO2 Inc.; http://wso2.com, >> Email: denuwan...@wso2.com >> Blog: https://denuwanthi.wordpress.com/ >> > > > > -- > Sameera Medagammaddegedara > Software Engineer > > Contact: > Email: samee...@wso2.com > Mobile: + 94 077 255 3005 > -- Sameera Medagammaddegedara Software Engineer Contact: Email: samee...@wso2.com Mobile: + 94 077 255 3005 ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev
Re: [Dev] Invoking a Jaggery api via HttpURLConnection
Hi Denuwanthi, Can you please change your jag to the following: <% try { } catch (e) { log.error(e); response.status=500; var msg = {}; msg.status = 500; msg.error = "Failed invoking remote endpoint"; print(msg); } %> On Fri, Sep 23, 2016 at 5:04 PM, Denuwanthi De Silvawrote: > Hi, > > I have .jsp file, in which I want to invoke a jaggery api. > > The content inside .jsp file is as below: > > URL url = new URL(baseURL + *"/user-login/user/authenticate/add*?scope=" > + URLEncoder.encode(scope, "UTF-8") + "=" + redirectUri + > "=" + clientId + "=" + arc + "=" + > responseType + "=" + operator + "=" + > msisdn+"="+nonce+"="+state+"="+baseURL); > HttpURLConnection conn = (HttpURLConnection) > url.openConnection(); > conn.setRequestMethod("GET"); > conn.setRequestProperty("Accept", > "application/json"); > if (conn.getResponseCode() != 200) { > throw new RuntimeException("Failed : HTTP > error code : " + conn.getResponseCode()); > } > > The jaggery.conf file contains the url mapping as follows: > { > "urlMappings": [ > { > "url": *"/user/authenticate/add*", > "path": "/sendAuthentication.jag" > } > ] > } > > The sendAuthentication.jag content is as follows: > Inside the jaggery api file I call a JAX-RS webapp in the path > *'user-registration/webresources/endpoint/user/authenticate/add'* > > > <% > var METHOD = request.getMethod(); > var log = new Log(); > switch (METHOD) { > case 'GET': > var baseUrl = request.getParameter('baseUrl'); > var scope = request.getParameter('scope'); > var redirectUri = request.getParameter('redirecturi'); > var clientId = request.getParameter('clientid'); > var arc = request.getParameter('acrvalue'); > var responseType = request.getParameter('responsetype'); > var operator = request.getParameter('operator'); > var msisdn = request.getParameter('msisdn'); > var nonce = request.getParameter('nonce'); > var state = request.getParameter('state'); > var url = > baseUrl+"/user-registration/webresources/endpoint/user/authenticate/add?scope=" > + scope + "=" + redirectUri + "=" + clientId + > "=" + arc + "=" + responseType + "=" + > operator + "=" + msisdn+"="+nonce+"="+state; > var response = get(url,{},"json"); > log.info(response); > //log.info(response.data.); > > } > %> > > > The above approach did not work. When invoke the .jsp file it fails with > HTTP error code : 500 at conn.getResponseCode() != 200 condition check. > > Can anyone point me to a proper way to acheive calling to JAX-RS endpoint > through jaggery api, which in turn is called inside JSP file? > > Thanks, > > -- > Denuwanthi De Silva > Senior Software Engineer; > WSO2 Inc.; http://wso2.com, > Email: denuwan...@wso2.com > Blog: https://denuwanthi.wordpress.com/ > -- Sameera Medagammaddegedara Software Engineer Contact: Email: samee...@wso2.com Mobile: + 94 077 255 3005 ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev
[Dev] Invoking a Jaggery api via HttpURLConnection
Hi, I have .jsp file, in which I want to invoke a jaggery api. The content inside .jsp file is as below: URL url = new URL(baseURL + *"/user-login/user/authenticate/add*?scope=" + URLEncoder.encode(scope, "UTF-8") + "=" + redirectUri + "=" + clientId + "=" + arc + "=" + responseType + "=" + operator + "=" + msisdn+"="+nonce+"="+state+"="+baseURL); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("GET"); conn.setRequestProperty("Accept", "application/json"); if (conn.getResponseCode() != 200) { throw new RuntimeException("Failed : HTTP error code : " + conn.getResponseCode()); } The jaggery.conf file contains the url mapping as follows: { "urlMappings": [ { "url": *"/user/authenticate/add*", "path": "/sendAuthentication.jag" } ] } The sendAuthentication.jag content is as follows: Inside the jaggery api file I call a JAX-RS webapp in the path *'user-registration/webresources/endpoint/user/authenticate/add'* <% var METHOD = request.getMethod(); var log = new Log(); switch (METHOD) { case 'GET': var baseUrl = request.getParameter('baseUrl'); var scope = request.getParameter('scope'); var redirectUri = request.getParameter('redirecturi'); var clientId = request.getParameter('clientid'); var arc = request.getParameter('acrvalue'); var responseType = request.getParameter('responsetype'); var operator = request.getParameter('operator'); var msisdn = request.getParameter('msisdn'); var nonce = request.getParameter('nonce'); var state = request.getParameter('state'); var url = baseUrl+"/user-registration/webresources/endpoint/user/authenticate/add?scope=" + scope + "=" + redirectUri + "=" + clientId + "=" + arc + "=" + responseType + "=" + operator + "=" + msisdn+"="+nonce+"="+state; var response = get(url,{},"json"); log.info(response); //log.info(response.data.); } %> The above approach did not work. When invoke the .jsp file it fails with HTTP error code : 500 at conn.getResponseCode() != 200 condition check. Can anyone point me to a proper way to acheive calling to JAX-RS endpoint through jaggery api, which in turn is called inside JSP file? Thanks, -- Denuwanthi De Silva Senior Software Engineer; WSO2 Inc.; http://wso2.com, Email: denuwan...@wso2.com Blog: https://denuwanthi.wordpress.com/ ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev