Hi!

I'm using Axis beta 1 (or is it beta 2?), and my "MyServiceLocator" has TWO 
constructors, one that uses the "private final" field, but also one that takes a 
parameter "java.net.URL portAddress", which solves the problem of changing URL to the 
SOAP web service.

Are you sure that there is no constructor that takes a parameter of type java.net.URL? 

If so, does anyone know if this extra constructor has been removed (by error I guess) 
in the latest Axis release(s)?

Eirik Wahl


> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:adrian.dimulescu@;free.fr]
> Sent: 6. november 2002 11:14
> To: [EMAIL PROTECTED]
> Subject: "private final" attribute in generated stub java client
> 
> 
> Hello,
> 
> One little question concerning the Axis-generated Java stub client:
> 
> The MyServiceLocator class (which actually contains an attribute like:
> 
>   private final java.lang.String kercash_address = 
>   "http://172.20.140.221/axis/services/myservice";;
> 
> declares it as "private final".
> 
> Why is that a problem? Because one normally generates a set of client 
> stubs and packages them somehow, puts them in production etc. 
> What if the
> address of the wsdl changes - which, by the way, kind of 
> happens all the time as
> you deploy it on different test machines with different 
> locations of the WSDL 
> only to get it in production.
> 
> So, what does one do? He does not regenerate everytime the 
> classes (on prod
> machines often there aren't even compilers). So he seeks to 
> parameterize the
> location of the wsdl, like, say:
> 
> locator = new 
> MyServiceLocator("http://172.20.140.221/axis/services/myservice";)
> 
> But, wait! There is no such constructor, as the address of the WSDL is
> hardwired. No problem, says the Java programmer, I will get it my way:
> 
> class ParameterizableMyServiceLocator extends MyServiceLocator {
>   ParameterizableMyServiceLocator (String wsdlLocation) {
>     myservice_address = wsdlLocation;
>   }
> }
> 
> No go: myservice_address is "final private", not simply 
> "protected"; this 
> makes sense as long as the idea is hardwiring it. But the 
> question is: would
> it be possible to only "protect" it so that runtime 
> parameterization can be done?
> 
> Thank you,
> Adrian Petru Dimulescu
> 

Reply via email to