To go through an HTTP proxy with Apache SOAP 2.3.1, your client code must create an instance of SOAPHTTPConnection, call setProxyHost, setProxyPort and (optionally) setProxyUserName and setProxyPassword, then call call#setTransport to use this instance.
For the nightly build of Apache SOAP and, I believe, any version of Axis, one uses System properties. For example, java -Dhttp.proxyHost=myproxy -Dhttp.proxyPort=myproxyport me.MyClient The http.proxyHost, etc., system properties follow Sun's standards. Scott Nichol Do not send e-mail directly to this e-mail address, because it is filtered to accept only mail from specific mail lists. ----- Original Message ----- From: "Shaoguang Cong" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Wednesday, August 04, 2004 8:02 AM Subject: Re: SOAPException: Error opening socket: Connection timed out: > Yes. I'm behind a firewall and use a proxy server to connect outside. I > originally thought the firewall may be the problem. But check around and > think port 80 should be open. I'll double check that again. > > I tried to find whether can set the proxy host/port in the code but see no > APIs from apache.soap or Axis packages. Do you know a way to pass the > firewall? > > Thanks. > Shao Guang Cong > > ----- Original Message ----- > From: "Scott Nichol" <[EMAIL PROTECTED]> > To: <[EMAIL PROTECTED]> > Sent: Tuesday, August 03, 2004 4:37 PM > Subject: Re: SOAPException: Error opening socket: Connection timed out: > > > The client is unable to connect to the server at the TCP/IP level. Are you > behind a firewall that requires you to use an HTTP proxy to connect to the > outside? > > Scott Nichol > > Do not send e-mail directly to this e-mail address, > because it is filtered to accept only mail from > specific mail lists. > ----- Original Message ----- > From: "Shaoguang Cong" <[EMAIL PROTECTED]> > To: <[EMAIL PROTECTED]> > Sent: Tuesday, August 03, 2004 5:15 PM > Subject: SOAPException: Error opening socket: Connection timed out: > > > I'm getting the following error when trying to run the sample client > attached and got the exceptions with no idea about what could be the real > problem. Thanks for any help. > > -Shao > > > [SOAPException: faultCode=SOAP-ENV:Client; msg=Error opening socket: > java.net.ConnectException: Connection timed out: connect; > targetException=java.lang.IllegalArgumentException: Error opening socket: > java.net.ConnectException: Connection timed out: connect] > > at > org.apache.soap.transport.http.SOAPHTTPConnection.send(SOAPHTTPConnection.ja > va:354) > at org.apache.soap.rpc.Call.invoke(Call.java:248) > at > com.uhc.ubh.facets.util.CurrencyExchange.getRate(CurrencyExchange.java:46) > at com.uhc.ubh.facets.util.CurrencyExchange.main(CurrencyExchange.java:21) > > import java.io.*; > import java.net.*; > import java.util.*; > import org.apache.soap.util.xml.*; > import org.apache.soap.*; > import org.apache.soap.rpc.*; > > > public class CurrencyExchange { > public static void main(String[] args) { > try { > String url = new String("http://services.xmethods.net:80/soap"); > String country1= "us"; > String country2= "taiwan"; > float rate = getRate(url, country1, country2); > System.out.println(rate); > } catch (Exception ex) > { > ex.printStackTrace(); > } > } > public static float getRate (String url, String country1, String > country2) throws Exception { > Call call = new Call(); > // Service uses standard SOAP encoding > String encodingStyleURI = Constants.NS_URI_SOAP_ENC; > call.setEncodingStyleURI(encodingStyleURI); > > // Set service locator parameters > call.setTargetObjectURI("urn:xmethods-CurrencyExchange"); > call.setMethodName("getRate"); > call.setTimeout(600); > > // Create input parameter vector > Vector params = new Vector(); > params.addElement(new Parameter("country1", String.class, country1, > null)); > params.addElement(new Parameter("country2", String.class, country2, > null)); > call.setParams(params); > > // Invoke the service .... > Response resp = call.invoke(new java.net.URL(url), ""); > > // ... and evaluate the response > if (resp.generatedFault()) { > throw new Exception(); > } > else { > // Call was successful. Extract response parameter and return result > Parameter result = resp.getReturnValue(); > Float rate = (Float) result.getValue(); > return rate.floatValue(); > } > } > } > >