Manipulating data for external partner links
To demonstrate how the <assign>
activity can be used to manipulate larger sets of data, we will create an additional BPEL process, called AnotherBookstoreBPEL
. This bookstore will return the book stock quantity, similar to the other two bookstores. The only difference will be that it will use a different XML Schema; hence, we will need to map the data elements from one schema to another for the invocation and back (for the response). Using a different schema will demonstrate a scenario that is very common in real-world cases, where services use different schemas; therefore, we need to do mappings and transformations.
For the AnotherBookstoreBPEL
process, we will use the following schema:
We can see that the BookData
element differs considerably from the BookData
element of the BookstoreABPEL
and BookstoreBBPEL
processes. Also, the response from AnotherBookstoreBPEL
is StockQuantity
of the type int
.