The IBM Service Oriented Architecture Transfer Tool can be used to transfer a single service version from WebSphere Service Registry and Repository (henceforth known as WSRR) to API Connect, and publish the Product to a catalog.

For this post we will transfer the Maths Service from WSRR to API Connect and set the tool to publish the Product to the Sandbox Catalog.

This is a follow on post from Installing the IBM Service Oriented Architecture Transfer Tool and performing a connection test and Transferring a service from WebSphere Service Registry and Repository to API Connect.

The service in WSRR

The MathService in WSRR has two Service Level Definitions (SLDs) and a single endpoint. The service is a SOAP service. The service is in the production state (“Operational”), the SLDs are subscribable and the endpoint is online. Therefore the service in WSRR reflects that the service is running in production.

To transfer the service, we need to find the service bsrURI using the WSRR Web UI.

Viewing the service version in the WSRR Web UI we can see the bsrURI is “9cb8619c-5eea-4ac5.b6a7.fe64e7fea733”.

It is also possible to configure the Dashboard to display the bsrURI property for the version, see Configuring Properties.

Configuring the tool to publish

To make the tool publish the Product (and API) that is transferred, the configurationproperties.properties file must be edited.

The names of the API Connect catalogs to publish to need to be identified. To do this, the API Connect API Manager UI is used. The Dashboard view shows all the Catalogs defined in API Connect.

For each catalog the details of the catalog can be used to find the name. The settings tab will show the name under the Name field.

Here the name of the Sandbox catalog is “sb”. For the Production catalog the name is “production”.

The connectionproperties.properties file is edited to set the catalogs to publish to, and enable publishing.

The publish property is set to true to make the tool publish Products. The publishCatalogs property is set to a comma separated list of the Catalog names, here “sb,production”. Note createConsumers is still set to the default of false.

Doing the transfer

To transfer a single service version, the configuration file must still specify the WSRR server and API Connect server details. However the WSRR organization is ignored.

To transfer the service version with the bsrURI “9cb8619c-5eea-4ac5.b6a7.fe64e7fea733” the following command is run:

c:\temp\tooltest>soatt --transferMode 1 9cb8619c-5eea-4ac5.b6a7.fe64e7fea733

The output will look like this:

SOA Transfer Tool - Transfer Services from WebSphere Service Registry and Repository (WSRR) to IBM API Connect v5 - Version 1.0.0
2017-04-12 13:57:55:662: Tests connections for APIC and WSRR have been passed
2017-04-12 13:57:55:663: Starting to download data from WSRR Server
2017-04-12 13:57:55:685: Fetching service version with bsrURI '9cb8619c-5eea-4ac5.b6a7.fe64e7fea733'
2017-04-12 13:57:55:782: Fetched versions, count: 1
2017-04-12 13:57:55:786: Fetching business service for service version with name 'MathService' version '1.0' bsrURI '9cb8619c-5eea-4ac5.b6a7.fe64e7fea733' using query 'BusinessServiceForServiceVersion'
2017-04-12 13:57:55:896: Fetched business service with with name 'MathService' version '' bsrURI '0f94240f-cfff-4f86.8ed3.a12b21a1d37e' for service version
2017-04-12 13:57:55:902: Fetching SLDs and endpoints for version with name 'MathService' version '1.0' bsrURI '9cb8619c-5eea-4ac5.b6a7.fe64e7fea733'
2017-04-12 13:57:55:904: Fetching SLDs for version with name 'MathService' version '1.0' bsrURI '9cb8619c-5eea-4ac5.b6a7.fe64e7fea733' using query 'SLDsForServiceVersion'
2017-04-12 13:57:55:960: Fetched SLDs for version
2017-04-12 13:57:55:961: Fetching endpoints for SLDs
2017-04-12 13:57:55:963: Fetching SOAP endpoints for SLD with name 'SLD - MathServerPortType' bsrURI '1543a515-14e2-4292.8405.1fc5551f059d' using query 'SOAPEndpointsForSLD'
2017-04-12 13:57:55:966: Fetching REST endpoints for SLD with name 'SLD - MathServerPortType' bsrURI '1543a515-14e2-4292.8405.1fc5551f059d' using query 'RESTEndpointsForSLD'
2017-04-12 13:57:55:968: Fetching SOAP endpoints for SLD with name 'SLD - Gold - MathServerPortType' bsrURI '6858d768-19b4-447d.a196.b3a741b396f6' using query 'SOAPEndpointsForSLD'
2017-04-12 13:57:55:970: Fetching REST endpoints for SLD with name 'SLD - Gold - MathServerPortType' bsrURI '6858d768-19b4-447d.a196.b3a741b396f6' using query 'RESTEndpointsForSLD'
2017-04-12 13:57:56:031: Fetched endpoints for all SLDs
2017-04-12 13:57:56:034: Fetching consumers for SLDs
2017-04-12 13:57:56:036: Fetching consumer SLAs for SLD with name 'SLD - MathServerPortType' bsrURI '1543a515-14e2-4292.8405.1fc5551f059d' using query 'ConsumingSLAsForSLD'
2017-04-12 13:57:56:039: Fetching consumer SLAs for SLD with name 'SLD - Gold - MathServerPortType' bsrURI '6858d768-19b4-447d.a196.b3a741b396f6' using query 'ConsumingSLAsForSLD'
2017-04-12 13:57:56:092: Processing SLA 1 of 1 for SLD with name 'SLD - Gold - MathServerPortType' bsrURI '6858d768-19b4-447d.a196.b3a741b396f6'
2017-04-12 13:57:56:093: Fetching consumer versions for SLA with name 'SLA - Math Service Gold (1.0)' bsrURI '73be5273-f231-416f.ba2f.9d39449d2f82' using query 'ConsumingVersionsForSLASingleSV'
2017-04-12 13:57:56:100: Processing SLA 1 of 3 for SLD with name 'SLD - MathServerPortType' bsrURI '1543a515-14e2-4292.8405.1fc5551f059d'
2017-04-12 13:57:56:102: Fetching consumer versions for SLA with name 'SLA - Math Mobile App (1.0)' bsrURI '3d40253d-3dec-4cee.af74.4f59304f745d' using query 'ConsumingVersionsForSLASingleSV'
2017-04-12 13:57:56:206: Fetching owning capability for version with name 'Math Mobile App' version '1.0' bsrURI '24a42024-0eb6-4658.93f5.de9af6def5de' using query 'OwningCapabilityForVersion'
2017-04-12 13:57:56:328: Processing SLA 2 of 3 for SLD with name 'SLD - MathServerPortType' bsrURI '1543a515-14e2-4292.8405.1fc5551f059d'
2017-04-12 13:57:56:329: Fetching consumer versions for SLA with name 'SLA - Math service consumer (1.0)' bsrURI '20907d20-5b0b-4bfd.a98f.0d54970d8fb0' using query 'ConsumingVersionsForSLASingleSV'
2017-04-12 13:57:56:386: Fetching owning capability for version with name 'Math service consumer' version '1.0' bsrURI '5d03bc5d-f2ee-4e80.9d22.7c31627c2220' using query 'OwningCapabilityForVersion'
2017-04-12 13:57:56:493: Processing SLA 3 of 3 for SLD with name 'SLD - MathServerPortType' bsrURI '1543a515-14e2-4292.8405.1fc5551f059d'
2017-04-12 13:57:56:496: Fetching consumer versions for SLA with name 'SLA - Math Application (1.0)' bsrURI 'c6c7cdc6-7ba7-4702.b0de.3ff5633fde39' using query 'ConsumingVersionsForSLASingleSV'
2017-04-12 13:57:56:606: Fetching owning capability for version with name 'Math Application' version '1.0' bsrURI '8ea74a8e-f207-47ce.b3d0.af7232afd0d5' using query 'OwningCapabilityForVersion'
2017-04-12 13:57:56:746: Fetched SLDs and endpoints
2017-04-12 13:57:56:753: Fetching WSDLs and XSDs for version with name 'MathService' version '1.0' bsrURI '9cb8619c-5eea-4ac5.b6a7.fe64e7fea733' using initial query 'WSDLForServiceVersion'
2017-04-12 13:57:56:976: Fetched WSDLs and XSDs
2017-04-12 13:57:57:007: Generating YAML using WSRR data
2017-04-12 13:57:57:106: Storing YAML
2017-04-12 13:57:57:115: Creating WSDL YAML from WSDL
2017-04-12 13:58:07:304: Creating final SOAP API YAML
2017-04-12 13:58:07:322: Saving final SOAP API YAML
2017-04-12 13:58:07:547: Creating consumers YAML
2017-04-12 13:58:07:578: Validating consumers YAML
2017-04-12 13:58:07:579: Storing consumers YAML
2017-04-12 13:58:07:587: Validating Product
2017-04-12 13:58:17:613: Pushing Product with name 'mathservice' version '1.0' to API Connect drafts
2017-04-12 13:58:29:902: Publishing Product with name 'mathservice' version '1.0' to API Connect Catalog 'sb'
2017-04-12 13:58:41:995: Publishing Product with name 'mathservice' version '1.0' to API Connect Catalog 'production'
2017-04-12 13:58:53:589: Processed service version

The tool will find the version of MathService and generate a SOAP API and Product, then push the SOAP API and Product to API Connect. Afterward the tool will publish the Product to the catalogs specified, which makes the Product and API visible in the developer portals.

Viewing the results in API Connect

In the API Manager UI the MathService has been published to the Production catalog.

In the developer portal for the Production catalog the MathService is visible.

The Product was also published to the Sandbox catalog.

Conclusion

The tool has transferred the MathService service into API Connect, and because the tool was configured to publish, the tool published the product to the Sandbox and Production Catalogs.

Join The Discussion

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