Proposed change to ESCI RegistryService
In the 1.0-beta-2 ESCI implementation, the RegistryService getInboxService() and getOrderService() return the WSDL urls of the InboxService and OrderService respectively.
It is proposed that:
- these methods change to return the service urls instead
E.g: https://vetsupplies.com/inbox instead of https://vetsupplies.com/inbox?wsdl
- the RegistryService service url is used by clients rather than its WSDL url
E.g: https://vetsupplies.com/registry instead of https://vetsupplies.com/registry?wsdl
This is necessary to get round a limitation in the JAX-WS implementation which requires a java.net.Authenticator to be used to access WSDL that is password protected. The Authenticator is a singleton, registered via Authenticator.setDefault(), replacing any existing Authenticator. This prevents:
- multiple deployments of OpenVPMS in a single Tomcat instance
- deployment of ESCI in containers that register their own Authenticator implementation
There is a performance and bandwidth benefit in this change in that WSDL will not need to be retrieved for each connection to a supplier service.
An alternative would be to mandate that WSDL urls are not password protected, but I think the approach outlined above is a better one.
Thoughts?
-Tim
Re: Proposed change to ESCI RegistryService
Hi Tony,
To me it makes no difference as my service at the moment does only return the url without the ?wsdl at the end. So even if you make the change, it should work.