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]

Reply via email to