Re: SOAPException: Error opening socket: Connection timed out:

"Scott Nichol" <[email protected]>
Newsgroups gmane.text.xml.soap.user
Message-ID <00ec01c47a26$45c74650$6401a8c0@northgate>
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();
>       }
>     }
> }
> 
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.