Introducting the SCA HTTP Binding

From DeveloperWorks, Configuring SCA HTTP binding to enable real-life scenarios

You can use HTTP bindings supported by IBM® WebSphere® Integration Developer Version 6.1 in many common real-life integration scenarios involving Service Component Architecture (SCA) applications. For example, by properly configuring the HTTP bindings you can expose SCA applications as a simple HTTP URL using HTTP export binding; enable SCA applications to consume third party XML Web services using HTTP import binding; and use HTTP bindings to integrate multiple SCA applications.

Using a downloadable, hands-on, sophisticated example SCA application, you see how to configure the key HTTP binding attributes to enable these scenarios. It is intended for WebSphere business integration consultants and developers who want to integrate SCA applications using HTTP infrastructure.

The HTTP binding is new in WebSphere Process Server v6.1. It appears to support REST and includes an example of mashing-up Atom feeds. Enjoy.

Author: dan

Comments

  1. Hey, Mr. technical architect. Fancy title 🙂 So I see you read our HTTP article. Was it helpful?
    By the way, have you tried to set up an HTTP binding with SSL and basic auth? I am trying to build a prototype to figure out how to integrate Monitor and WID app. And I am puzzled as it does not seem to work.

    Hope you remember me.

    Eugene.

  2. Hi Eugene,

    “Do I remember you?” I pay professionals money to try to forget! 🙂

    Alas, my current client is only on v6.0.2 of the software so I haven’t had a chance to play with the HTTP binding on my own. As with any good WebSphere error when things don’t work, what the exception?

  3. I have an HTTP Import and its endpoint URL is configured within WID to point to the local machine. This is done from the Bindings tab under Properties for the Import on the Assembly Editor. It also has a DataBinding configuration that points to a class (extends that is tasked with overriding the endpoint URL with the request parameters to the HTTP/REST service. So for e.g.

    Endpoint URL: http://localhost:9081/TestREST/MyInformation?
    Binding Configuration: test.services.rest.MyInformationBinding

    public class MyInformationBinding extends HTTPStreamDataBindingXML {

    @Override
    public void convertToNativeData() throws DataBindingException {
    //Need to reference directly field variable as the old code seems to fail to get the correct value
    DataObject dataObject = fieldDataObject;

    try {
    // Extract values from the “fieldDataObject”, build the query paramaters and add them to HTTP request.

    String address = “appid=” + URLEncoder.encode(dataObject.getString(“linkAppId”), “UTF-8”);
    HTTPControl controlParameters = getControlParameters();

    controlParameters.setDynamicOverrideURL(controlParameters.getDynamicOverrideURL() + address);

    } catch (UnsupportedEncodingException e) {
    e.printStackTrace();
    }
    }
    }

    So essentially binding class dynamically overrides the base URL with the request params that now look like – http://localhost:9081/TestREST/MyInformation?appid=7432623

    Now when I deploy this module onto WPS, the first thing I do is to change the endpoint URL on the configuration page of the HTTP Import
    SCA Modules->ModuleName->Module_HttpImpName

    Under Binding Scope there is the field for Endpoint URL. However what I am noticing is after I update the endpoint URL I dont see the new URL being picked up the Binding class mentioned above. It is still using the old endpoint URL. I have tried a lot of things, such as restart the server, did a full resynchronize of the node itself but none seem to help.

    Is this a limitation on IBM’s part which forces me to go back to WID and change the endpoint URL and redeploy, because from what I have experienced so far, the new endpoint URL configured at deployment time is not refreshing the old one that got deployed.

  4. Hi,

    I have a requirement to use HTTPBindings with SSL on export and import. I will get SOAP request with SAML headers in it and I have to pass the same to other service.I want to print the request data for audit purpose.

    currently I am getting the request inside but I am not able to print it.

    Can you send me some examples how do it?

  5. Hi,

    I am using WID 6.2 and I would like to know how to export a mediation module through simple HTTP Export which receives a simple request from exteranl simple web request and responds back.

    Regards
    Siva

Leave a Reply

Your email address will not be published. Required fields are marked *