Steve,
Am Mittwoch, 30. September 2015, 08:55:18 schrieb Steve Fisher:
>
> Wildfly progress is good however there is one problem left at the
> moment. Glassfish exposes the wsdl at
> https://host:port/ICATService/ICAT?wsdl whereas WildFly uses
> https://host:port/icat/ICAT?wsdl i.e. it uses the declared web
> service context rather than ICATService (which is actually the
> service name. This is a nuisance for SOAP clients as they don't know
> how to access the service.
With python-icat this is not an issue. python-icat takes the complete
URL to the WSDL as the configuration parameter and doesn't make any
assumptions on the on the individual components of this URL.
> The solution I am considering is to try one call and then the other and
> remember the answer for future calls. This should not have much impact on
> performance as the service will respond very quickly with a 404 if the url
> is wrong. I prefer the WildFly convention but it would be nice if I could
> override it.
Coding such assumptions on the local path of the URL into the client
can be a problem. If the ICAT server is behind a proxy, the path in
the URL may be mapped to a different one in the exposed URL. For
example, if you want to access HZB's ICAT, you'll have to get the WSDL
from:
https://icat.helmholtz-berlin.de/ICATService/wsdl/ICAT?wsdl
Note the "/wsdl" in the path.
Thus, I'd suggest that at least if the URL already contains a path
component, the client should take this URL as is and not try to append
anything to it.
Regards,
Rolf
--
Rolf Krahl <
rolf....@helmholtz-berlin.de>
Helmholtz-Zentrum Berlin für Materialien und Energie (HZB)
Albert-Einstein-Str. 15, 12489 Berlin
Tel.:
+49 30 8062 12122