Proxy Breaks Weblogic Web Service Testing

Reading time:
About 2 min

A peculiar error came up while trying to test my weblogic web service. BEA provides a test page for web services that you can use in development. So I went to the page to test my ProofOfConceptService (brilliant name, huh?). I received this error: Failed to retrieve WSDL from http://localhost:80/jetspeed/ProofOfConceptService?WSDL. Please check the URL and make sure that it is a valid XML file [ Response: ‘403: Forbidden’ for url: ‘http://localhost:80/jetspeed/ProofOfConceptService?WSDL’] at at at weblogic.webservice.WebServiceFactory.createFromWSDL( at weblogic.webservice.WebServiceFactory.createFromWSDL( at weblogic.webservice.server.servlet.ServletBase.invokeOperation( at weblogic.webservice.server.servlet.WebServiceServlet.invokeOperation( at weblogic.webservice.server.servlet.ServletBase.handleGet( at weblogic.webservice.server.servlet.ServletBase.doGet( at weblogic.webservice.server.servlet.WebServiceServlet.doGet( at javax.servlet.http.HttpServlet.service( at javax.servlet.http.HttpServlet.service( at weblogic.servlet.internal.ServletStubImpl$ at weblogic.servlet.internal.ServletStubImpl.invokeServlet( at weblogic.servlet.internal.ServletStubImpl.invokeServlet( at weblogic.servlet.internal.WebAppServletContext$ at at at weblogic.servlet.internal.WebAppServletContext.invokeServlet( at weblogic.servlet.internal.ServletRequestImpl.execute( at weblogic.kernel.ExecuteThread.execute( at

Immediately I keyed in on the “403: Forbidden”. So how can I be forbidden to access my localhost? After cruising google and bea newsgroups I only found 1 mention of this and 0 fixes. Then I thought of the line I added to my startup script that adds our proxy configuration to the JVM:
-DproxySet=true -DproxyPort=80

This allows our Jetspeed portal to pull in web feeds through our firewall. Turns out that when I removed this the test went fine. It appears the JVM attempts to use the proxy even when I’m accessing the localhost. I guess there’s no way around this than to remove the proxy setup line everytime I want to test a local web service. Unless someone knows of a way to tell a JVM to ignore a proxy for certain hosts?