The rest of us just test through the API where we specify the port and ignore what is sitting in the annotations.
On Mon, Nov 24, 2008 at 8:33 PM, Steve Cohen <[EMAIL PROTECTED]> wrote: > CXF generates java code with annotations like this: > > @WebServiceClient(name = "XyzService", > wsdlLocation = "file:///path/to/XyzService.wsdl", > targetNamespace = "http://xyz.com/") > public class XyzService extends Service { > > public final static URL WSDL_LOCATION; > public final static QName SERVICE = new QName("http://xyz.com/", > "XyzService"); > public final static QName EmergencyProvisioningPort = new > QName("http://xyz.com/", "XyzPort"); > static { > URL url = null; > try { > url = new URL("file:///path/to/XyzService.wsdl"); > } catch (MalformedURLException e) { > System.err.println("Can not initialize the default wsdl from > file:///path/to/XyzService.wsdl"); > // e.printStackTrace(); > } > WSDL_LOCATION = url; > } > ... > } > > Note that the file URL file:///path/to/XyzService.wsdl is repeated three > times by the generator in different contexts and its reference comes from > the machine where the generator was run. > > But suppose I want to write a JUnit test, say, that tests the client I am > building, and let's further suppose that I want to run that test on > different machines, perhaps even on Linux and Windows machines. I will have > to modify the generated code, but I am not aware of any file:// URL that > could be correctly interpreted on both linux and windows unless I do > something ugly like create a /C: directory in linux. If I wanted to make a > requirement that no machine could run this code that did not have working > web server on it, then I could use an http://localhost URL instead, but that > is also not optimal. > > > Is there some way to have the generator create more portable code than this? > And if not, and I am forced to modify generated code, is there any possible > file:// URL that will work cross-platform? > > >
