Wildfly issues

14 views
Skip to first unread message

Steve Fisher

unread,
Sep 30, 2015, 11:55:18 AM9/30/15
to icatgroup
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.

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.

Comments please.

Steve

Rolf Krahl

unread,
Oct 2, 2015, 4:20:55 AM10/2/15
to icat...@googlegroups.com
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
signature.asc

Steve Fisher

unread,
Oct 7, 2015, 10:18:49 AM10/7/15
to icatgroup
I am happy with your suggestion and added an ICATGetter to icat.utils which works as you suggest. It also tries to produce a decent error message for security errors from bad configuration.
Reply all
Reply to author
Forward
0 new messages