You are viewing the documentation for Blueriq 17. Documentation for other versions is available in our documentation directory.

In the other Web service visuals for simple SOAP or REST calls, the Service model of the called web service was part of the applications Business model. That is very convenient for modeling, but not very realistic. It is considered good practice to keep your business application independent from the services it is calling, so you typically have two separate interaction modules, one for the business domain and another one for the service domain.

The consequence is that you will need a data mapping between the two modules. The forward mapping translates your business data into an understandable request for the service, and the backward mapping reads the incoming response and translates it back into understandable data for your business application.

If you have a WSDL, you can import it into a new Web service module and generate the Service model, the Schema set and SOAP service. Create a data mapping in a (new) Configuration module, select the source and target models, and map the data both ways. See also How to do a mapping.


Tip: Although not represented in the visual, a best practice is to create a new, (empty) interaction module on top of the (generated) Web service module, and to use this empty module in your mapping. The 'empty module' knows all components of the underlying web service module, so the data mapping itself can be the same. However, when the web service provider publishes a new WSDL, you can import it into another new module (and use the WSDL version and/or the date in the module name), and let your empty module now include this new module instead of the old one. The big advantage: your data mapping stays intact, and you only need to modify it to accommodate the changes. If you wouldn’t have the empty module, you would need to create your entire data mapping again.

Another advantage is that you can create an ERD once in the empty module, and that stays intact as well (aside from small modifications). You can even add logic to transform some incoming data before it goes into your data mapping.



  • No labels