Support integration with a Registry

Issue #9 resolved
Asankha Perera
created an issue

At present, the UltraESB can fetch WSDLs, XSDs etc from a Registry such as WSO2 Registry, IBM Web Service Registry and Repository, Mule Galaxy or JBoss Registry. However, http/s URLs does not support basic, digest, spnego, ntlm authentication schemes. Support for these authentication schemes will enable the smooth integration with external registries as per

Comments (2)

  1. Asankha Perera reporter

    A new bean URLAuthenticator is introduced into the codebase to manage authentication of URLs to external registries etc. (Note: This is NOT endpoint authentication - which is a separate topic)

    The implementation internally uses the Authenticator [1] class. This class however sets the system wide authentication settings, and thus to allow multiple credentials, we allow the URLAuthenticator to be configured with multiple URL prefixes, and corresponding username/password values as follows:

    <bean id="urlAuthenticator" class="org.adroitlogic.ultraesb.transport.http.URLAuthenticator">
                <entry key="http://localhost:9001" value="asankha,adroitlogic"/>

    Note that only one instance of the URLAuthenticator should be defined.

    A temporary patch until the next release incorporating this change can be found at [2]. Copying this file into lib/patches and restarting the UltraESB will update the system as required.



  2. Asankha Perera reporter

    Here is a sample that will show the new URLAuthenticator in use. We create a mock service protected with basic/digest authentication on port 9001 using the UltraESB itself :) .. It uses a WSDL off the file system, and the WSDL of it is protected with basic/digest authentication.

    The 'soap-proxy' service now uses this protected WSDL and the URLValidator is defined in the configuration. You can check this by starting the sample 201, and requesting for http://localhost:8280/service/soap-proxy?wsdl

  3. Log in to comment