1. AdroitLogic
  2. ultraesb
Issue #9 resolved

Support integration with a Registry

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 http://getsatisfaction.com/adroitlogic/topics/ultraesb_and_external_registry

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">
        <constructor-arg>
            <map>
                <entry key="http://localhost:9001" value="asankha,adroitlogic"/>
            </map>
        </constructor-arg>
    </bean>
    

    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.

    [1] http://download.oracle.com/javase/6/docs/technotes/guides/net/http-auth.html

    [2] http://downloads.adroitlogic.com/temp/ultraesb-core-patch-1.3.1.jar

  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