Ah, I've just found out what the problem is. When we deploy the application, the first time we call the WSDL file its namespace is generated. Appearantly the request-url is used for the namespace generation. For example, if I call the WSDL with:
http://some-url.com/somename//////////services/Service?WSDL The WSDL gets the following namespace: <import namespace="http://some-url.com/somename//////////services/Service"/> This seriously messes up our system..! Does anybody know a good solution to this? Is there a setting in Axis that strips the extra slashes while generating the namespace? Do newer versions filter the access slashes? (1.3?, 1.4?) Help please :) On Mon, Jul 14, 2008 at 9:49 AM, Roy van Rijn <[EMAIL PROTECTED]> wrote: > Hi Axis users/devs, > > Since a couple of weeks I'm working on a old project which uses Axis > 1.2.1. The big problem is we can't affort to upgrade to a more recent > version, then we would have to do a awful lot of regression tests > (just so you know). > > We are experiencing a namespace problem with this service. We haven't > specified a specific namespace in the WSDD file so apperantly Axis > dynamicly chooses a relevant namespace for us in the generated WSDL > file. But on different machines and on different times the namespace > changes! Its very strange behaviour and I've seen it happen after a > reboot. Let me show some snippets: > > Before reboot: > <import > namespace="http://some-url.com/profielen2/services/KennisnetProfielen"/> > > After reboot: > <import > namespace="http://some-url.com/profielen2//services/KennisnetProfielen"/> > > Same WAR-file after some reboots on a different machine: > <import > namespace="http://some-other-url.com/profielen2///services/KennisnetProfielen"/> > > (notice the two and three forward-slashes after the 'profielen2' part!!) > > The client uses the URL of the webservice and asumes its the same as > the namespace. And as you all probably know, the namespace must match > 100%, so if the client browses to "..profielen2/services.." it can't > find the webservice with the namespace "..profielen2//services..". So > a quick (and dirty) workaround was changing the client to > "..profielen2//services" because the URL is the same as a single > slash, and the namespace was still correct. But we don't want to keep > changing the configuration of the client if we reboot the server and > the amount of slashes changes! > > Can anybody explain this behaviour? I sure can't... :-) I've been > going through the code, but couldn't locate where this problem might > originate from. > > And, second, does anybody know if setting the wsdlTargetNamespace > parameter (forcing a namespace) might be a good idea? The problem with > this idea is that we need to change the WSDD on all the enviroments > (development/test/production) to make sure the URL is the same as the > namespace. Or is there another way around this problem? > > Please send any ideas, we're getting desperate :-( > > Roy > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
