IBM BPM, V8.0.1, All platforms > Migrating and upgrading your IBM BPM environment > Migrating from other products > Migrating from WebSphere Studio Application Developer Integration Edition > Additional migration information > Create SCA exports to access the migrated service > Migrating the IBM Web Service binding (SOAP/HTTP)

Migration option 1 for the IBM Web Service (SOAP/HTTP) binding

The first migration option for the WebSphere Studio Application Developer Integration Edition SOAP/HTTP process binding is to make business processes accessible to a web services client.

The export with web service binding makes an SCA component accessible by an external web services client. To create an export with web service binding, follow these steps:


Procedure

  1. Open the Assembly Editor for the module created by the Migration wizard.

  2. Create an export with SCA binding for each BPEL process interface that had an IBM Web Service (SOAP/HTTP) binding generated for it in WebSphere Studio Application Developer Integration Edition by right-clicking the BPEL component in the Assembly Editor.

  3. Select Generate Export….

  4. Select Web Service Binding.

  5. If there are multiple interfaces for the component, select the interface(s) to export with this binding type.

  6. Select the appropriate SOAP/HTTP transport.

  7. Once the web services export is created, select the export in the Assembly Editor and in the Properties view, select the Description content pane. The export's name and description are listed and may be modified as necessary.
  8. Save the assembly diagram.
  9. Follow these steps to generate a new web service binding and service if preserving client code is required:

    1. Copy the 5.1 WSDL file from the 5.1 generated EJB project at ejbModule/META-INF/wsdl/ business process name/ business process interface port type name_HTTP.wsdl to the business integration module project.

    2. After copying over the file and rebuilding the module, you might see error messages, because the XML schema types, WSDL messages, and WSDL port types used by the web service are duplicated in the IBM Web Service WSDL file in 5.1. To fix this, delete those duplicate definitions from the IBM Web Service binding/service WSDL and in their place add a WSDL import for the real interface WSDL.

      It is important to note that when WebSphere Studio Application Developer Integration Edition generated the IBM Web Service deployment code, it modified the schema definitions in some cases. This could cause inconsistencies for existing clients that use the IBM Web Service WSDL.

      For example, the "elementFormDefault" schema attribute was set to "qualified" in the inline schema generated in the IBM Web Service WSDL even if the original schema definition was not qualified. This would cause the following error to be generated during runtime: WSWS3047E: Error: Cannot deserialize element.

    3. Right-click the WSDL file you just copied to the business integration module and select Open With then WSDL Editor.

    4. Go to the Source tab. Delete all WSDL PortTypes and Messages defined in this file.
    5. Now you will see the error: The '< portType>' port type specified for the '< binding>' binding is undefined. To fix this, in the WSDL editor in the Graph tab, right-click in the Imports section and select Add Import.

    6. In the Properties view on the General tab, click the … button to the right of the Location field. Browse to the interface WSDL where the WSDL message and port type definitions are located and click OK to import the interface WSDL into the service/binding WSDL.
    7. Save the WSDL file.
    8. Refresh/rebuild the project. Switch to the Business Integration perspective. Open the module's Assembly Diagram in the Assembly Editor.

    9. In the project explorer view, expand the module that you are migrating and expand the Web Service Ports logical category. You should see the port that exists in the binding/service WSDL listed. Drag it onto the Assembly Editor.

    10. Choose to create an Export with Web Service Binding and select the appropriate port name. This will create the export that uses the old binding/service such that existing web service clients do not have to change. If you select the export you just created in the Assembly Editor and go to the Properties view, on the Binding tab you should see that the 5.1 port and service names have been filled in for you.
    11. Save all changes.

    12. If you need to match the previous context root or URL in the old service address, open the module's Deployment Editor. Using a JAX-WS binding, for example, you can set the context root on the application project and URL mapping on the web service export.

: Migrating the IBM Web Service binding (SOAP/HTTP)