How to configure a proxy for WSO2

kruettli's picture
Dear community I got following question: Is it possible to configure a proxy server for my Mashups on WSO2 Mashup Server and if it is, how to do this? Is there a doccumentation? Thanks for your reply Kruettli
keith's picture

Please refer this

Hi, Please refer [1]. This post has details on how this could be done. This change should be done to the axis2-client.xml found in the conf directory. Thanks, Keith. Blog : http://www.keith-chapman.org [1] http://www.keith-chapman.org/2008/10/how-to-run-axis2-behind-proxy-and.html
kruettli's picture

Thanks that kind of helped.

Thanks that kind of helped. But i still got a problem... Fault: Transport error: 407 Error: Proxy Authentication Required [detail] org.wso2.mashup.MashupFault: Transport error: 407 Error: Proxy Authentication Required at org.wso2.mashup.hostobjects.scraper.ScraperHostObject.scrape(ScraperHostObject.java:155) at org.wso2.mashup.hostobjects.scraper.ScraperHostObject.jsConstructor(ScraperHostObject.java:108) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:155) at org.mozilla.javascript.FunctionObject.call(FunctionObject.java:417) at org.mozilla.javascript.BaseFunction.construct(BaseFunction.java:313) at org.mozilla.javascript.ScriptRuntime.newObject(ScriptRuntime.java:2132) at org.mozilla.javascript.gen.c65._c1(Admin-podcast:11) at org.mozilla.javascript.gen.c65.call(Admin-podcast) at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:393) at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:2834) at org.mozilla.javascript.gen.c65.call(Admin-podcast) at org.wso2.javascript.rhino.JavaScriptEngine.call(JavaScriptEngine.java:180) at org.wso2.javascript.rhino.JavaScriptEngine.call(JavaScriptEngine.java:210) at org.wso2.javascript.rhino.JavaScriptReceiver.invokeBusinessLogic(JavaScriptReceiver.java:195) at org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40) at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:100) at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:176) at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275) at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:131) at org.wso2.mashup.transport.MashupServlet.doPost(MashupServlet.java:69) at javax.servlet.http.HttpServlet.service(HttpServlet.java:709) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at org.wso2.mashup.transport.ServiceUIFilter.doFilter(ServiceUIFilter.java:207) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at org.wso2.adminui.AdminUIServletFilter.doFilter(AdminUIServletFilter.java:135) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685) at java.lang.Thread.run(Thread.java:619) Caused by: org.apache.axis2.AxisFault: Transport error: 407 Error: Proxy Authentication Required at org.apache.axis2.transport.http.HTTPSender.handleResponse(HTTPSender.java:296) at org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:190) at org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:75) at org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:364) at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:208) at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:448) at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:401) at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:228) at org.apache.axis2.client.OperationClient.execute(OperationClient.java:163) at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:548) at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:528) at org.wso2.mashup.hostobjects.scraper.ScraperHostObject.scrape(ScraperHostObject.java:144) ... 45 more Seams like my proxy was found. Anyway I still dont get a authentification. My username and password are correct. Is there an other way to set my proxy? regards Kruettli
keith's picture

The reason could well be

The reason could well be https://issues.apache.org/jira/browse/AXIS2-4050. You might have to use the nightly build to get this fix. This has been fixed in the trunk. Thanks, Keith. Blog : http://www.keith-chapman.org/
kruettli's picture

Nightly built

Hi Nightly built does not work at all. I tested 259 and 257, neither did even start:-( In addition I tryed JDK 1.5 and 1.6. Same result. Any idea what could cause this issue? I allways get a Windows error during installation (the part where the commandline is active) and everytime I try to start my PC... Thanks for helping me regards Kruettli
kruettli's picture

A small advancement

Hi My proxy now almost works. I took two different Javascripts to test my proxy functionality. The first one worked fine, the other one did not. The first script was developed within WSO2 Mashup Server (WSO2 Yahoo GeoCode) The second is a scraping script, have a look please: ____________________________________________________ function getString(){ var config = ; var scraper = new Scraper(config); var result = scraper.response; return result; } ____________________________________________________ Now the result I get if I execute this script on my WSO2 Server is as follows: ____________________________________________________ Fault: Transport error: 503 Error: Service Unavailable [detail] org.wso2.mashup.MashupFault: Transport error: 503 Error: Service Unavailable at org.wso2.mashup.hostobjects.scraper.ScraperHostObject.scrape(ScraperHostObject.java:155) at org.wso2.mashup.hostobjects.scraper.ScraperHostObject.jsConstructor(ScraperHostObject.java:108) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:155) at org.mozilla.javascript.FunctionObject.call(FunctionObject.java:417) at org.mozilla.javascript.BaseFunction.construct(BaseFunction.java:313) at org.mozilla.javascript.ScriptRuntime.newObject(ScriptRuntime.java:2132) at org.mozilla.javascript.gen.c126._c1(Admin-javascript:10) at org.mozilla.javascript.gen.c126.call(Admin-javascript) at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:393) at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:2834) at org.mozilla.javascript.gen.c126.call(Admin-javascript) at org.wso2.javascript.rhino.JavaScriptEngine.call(JavaScriptEngine.java:180) at org.wso2.javascript.rhino.JavaScriptEngine.call(JavaScriptEngine.java:210) at org.wso2.javascript.rhino.JavaScriptReceiver.invokeBusinessLogic(JavaScriptReceiver.java:195) at org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40) at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:100) at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:176) at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275) at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:131) at org.wso2.mashup.transport.MashupServlet.doPost(MashupServlet.java:69) at javax.servlet.http.HttpServlet.service(HttpServlet.java:709) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at org.wso2.mashup.transport.ServiceUIFilter.doFilter(ServiceUIFilter.java:207) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at org.wso2.adminui.AdminUIServletFilter.doFilter(AdminUIServletFilter.java:135) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685) at java.lang.Thread.run(Unknown Source) Caused by: org.apache.axis2.AxisFault: Transport error: 503 Error: Service Unavailable at org.apache.axis2.transport.http.HTTPSender.handleResponse(HTTPSender.java:296) at org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:190) at org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:75) at org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:364) at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:208) at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:448) at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:401) at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:228) at org.apache.axis2.client.OperationClient.execute(OperationClient.java:163) at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:548) at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:528) at org.wso2.mashup.hostobjects.scraper.ScraperHostObject.scrape(ScraperHostObject.java:144) ... 45 more ____________________________________________________ What can I do now? Does WSO2 use different Proxy settings for scraping and API usage? Regards Kruettli
keith's picture

The scraper uses the same

The scraper uses the same proxy configuration which is picked from axis2-client.xml. When proxy information is present, all request sent out of the Mashup Server will use it. Thanks, Keith. Blog : http://www.keith-chapman.org/
library project main code
Learn Cloud
Learn
Cloud

The WSO2 Application Server is a reliable application server that can host your enterprise web applications. The WSO2 Application Server as a Service is offered in StratosLive, the WSO2 Platform as a Service. This article explains how a simple web application can be developed and deployed from Carbon Studio to the WSO2 Application Server...

Latest Webinar
Different groups within an organization need to monitor different Key Performance Indicators (KPIs) - An operations team will be interested in the response times of business services and loads of each service,..
Thursday, February 9th 2012, 09.00 AM (PST)

Thursday, February 9th 2012, 10.00 AM (GMT)