Hi Rodrigo,
these ideas are very interesting.

First of all, thanks a lot for that.

But for the first way of making the host address configurable, I still
have to ask you, how to do that in detail?

I don't mean how to read the address from a properties file, but how can
I set the value?

Carsten


Am Montag, den 15.05.2006, 17:28 +0200 schrieb Rodrigo Ruiz:
> Carsten,
> 
> In fact, there are several ways to handle your situation, but I
> guess  
> almost none of them is as simple as adding some lines to your client  
> code. The ones I know are:
> 
> - Make the host address configurable. That is, read the host address  
> from a configuration file. I know this is not what you are asking
> for,  
> but it is probably the only easy workaround to your problem. In fact,
> I  
> think it will be the only one that will work if you want to test
> your  
> client application from the same host, and manually select the
> adapter  
> to use.
> 
> - You may use DNS to provide a common name to your server, and access
> it  
> through host name, instead of host address. This probably means some  
> work to get your client domain name, in order to build the complete
> host  
> name in each subnetwork, or be sure that using the host name without
> a  
> domain name will return you the correct host address in all cases.
> 
> - In a more complicated fashion, you could decide to convert your  
> service in a "standard" service, and register it into your DNS
> servers.  
> DNS protocol allows to register the addresses for "standard"
> services,  
> providing a simplistic discovery service, and allowing you to ask for
> a  
> service name, instead of a host name. AFAIK, this option is not
> usual,  
> but it should work. I am not sure, but you may probably need to use  
> Jakarta commons-net library to perform such kind of queries to your
> DNS  
> server.
> 
> - You can delegate the problem to a well-known UDDI server. Anyway,
> if  
> you use TCP/IP, this will just move your problem from one host to  
> another, as this UDDI server/s will probably also have different  
> addresses  in each sub-network.
> 
> - You might use some UDP based discovery service. The idea in this
> case  
> would be to send a broadcast message, and receive the appropriate  
> address from some arbitrary point on your network. If you implement
> such  
> a service in your own server, you will probably be able to get the
> host  
> address from the response message meta-data itself. There are some  
> standard libraries for achieving this out there, or you could try to  
> implement your own, as it is plenty of examples on Google ;-)
> 
> Hope this helps, 
> Rodrigo
> 
> 
> Carsten Schmidt wrote: 
> > Hi Alain, 
> > thanks for your answer, but it seems as if the
> NetworkInterface-class 
> > would just be able to give you information about the interfaces. 
> >  
> > For me, it is important to tell the program which Interface to use, 
> > because the webserver I'm working on got different IP's in
> different 
> > sub-networks. 
> >  
> > So, I am looking for a method like setHostAdress(foo). Maybe this
> is 
> > more a part of java than axis, but the Axis-Call-class seems to
> handle 
> > the whole hardware/network-stuff on it's own. 
> >  
> > I can't believe that there is no smart way to handle this. 
> >  
> > Carsten 
> >  
> >  
> > Am Montag, den 15.05.2006, 16:28 +0200 schrieb Pannetier Alain: 
> >> Hi Carsten, 
> >> 
> >> Here is an example I use to know whether I'm in the office or at 
> >> home :   
> >> 
> >> try {  
> >>         Enumeration myInterfaces = 
> >> NetworkInterface.getNetworkInterfaces();  
> >>   interfaceEnum:  
> >>       while ( myInterfaces.hasMoreElements()) {  
> >>           NetworkInterface netInterf = (NetworkInterface)  
> >>           myInterfaces.nextElement();  
> >>           Enumeration addresses = netInterf.getInetAddresses() ;  
> >>           while (addresses.hasMoreElements()) {  
> >>               InetAddress address = (InetAddress) 
> >> addresses.nextElement();  
> >>               if 
> >> ( address.getHostAddress().startsWith( OFFICE_PREFIX ) ) {  
> >>                   isAtTheOffice = true ;  
> >>                   break interfaceEnum ;  
> >>                   }  
> >>               }  
> >>           }  
> >>      } catch (SocketException e) {  
> >>           e.printStackTrace();  
> >>      }  
> >> ... 
> >> 
> >> It shows how to loop on all your interfaces and select one
> (according 
> >> to its address prefix...). 
> >> 
> >> That's probably close to what your're after. 
> >> 
> >> Alain 
> >> 
> >> 
> >> -----Original Message-----  
> >> From: Schmidt, Carsten -81.01-
> [mailto:[EMAIL PROTECTED]   
> >> Sent: 15 May 2006 16:17  
> >> To: [email protected]  
> >> Subject: RE: Select the output-network-interface to call an 
> >> axis-webservice 
> >> 
> >> Hi,  
> >> did really no one every had a problem like that?  
> >> This problem can not be so special, can it? 
> >> 
> >> But maybe you know another mailinglist or a book, which might be
> able 
> >> to help me? 
> >> 
> >> It is really important for me to find a solution for that, and 
> >> meanwhile I ain't got no more idea where to look at. 
> >> 
> >> Regards, 
> >> 
> >> Carsten 
> >> 
> >>>   
> >>> Hi everybody,  
> >>> maybe this question has already been answered a thousend times,
> but 
> >> I  
> >>> haven't found anything about it.  
> >>> I got a server with a few different network adapters. Each of
> them 
> >> with  
> >>> a different IP. Now I'm searching for a way to call a webservice
> by  
> >>> choosing exacly one of those adapters (which is not the default 
> >> one).  
> >>>   
> >>> How can I do than?  
> >>>   
> >>> java.net.NetworkInterface shows me what is available, but where
> can 
> >> it  
> >>> set what to use? org.apache.axis.client.Call?  
> >>> org.apache.axis.client.Service?  
> >>>   
> >>> Can anybody help me?  
> >>>   
> >>> Carsten 
> >> 
> >> 
> >> 
> >  
> >  
> > 
> 
> --  
> ------------------------------------------------------------------- 
> GRIDSYSTEMS                    Rodrigo Ruiz Aguayo 
> Parc Bit - Son Espanyol 
> 07120 Palma de Mallorca        mailto:[EMAIL PROTECTED] 
> Baleares - EspaƱa              Tel:+34-971435085 Fax:+34-971435082 
> http://www.gridsystems.com 
> -------------------------------------------------------------------
> 
> 
> --  
> No virus found in this outgoing message. 
> Checked by AVG Free Edition. 
> Version: 7.1.392 / Virus Database: 268.5.6/339 - Release Date:
> 14/05/2006
> 
> 

Reply via email to