Invoking Multiple SOAP Requests

You can invoke multiple SOAP requests in the same XQuery. These SOAP requests can be from the same Web service, or from different Web services if they use the same parameters.

Rules

When invoking multiple SOAP requests in the same XQuery, bear in mind the following rules:

  • The XQuery must contain only one instance of the header that declares the namespace and function bindings. In other words, copy only the Java extension function, ws:call(), to the XQuery.
  • Separate each ws:call() with a comma, to create a sequence.

How to Invoke Multiple SOAP Requests in the Same XQuery

To invoke multiple SOAP requests in the same XQuery:
1. Make sure you understand the rules for including multiple SOAP requests in the same XQuery code as described in the previous section, Rules.
2. Create the first Web service and generate XQuery code for the SOAP request as described in Generating XQuery from a Web Service Call.

The XQuery code generated by Stylus Studio is copied to your system's clipboard.

3. Create a new XQuery, and paste the contents of your system clipboard into it.
4. Type a comma at the end of the ws:call() function.
5. Repeat step 2 for the nextWeb service SOAP request you want to invoke from your XQuery.
6. Paste the new XQuery code into the XQuery you created in step 3. Before pasting, place the text cursor after the comma you typed in step 4.
7. From the XQuery code you just pasted, delete everything except the ws:call() function.
8. If you want to add another SOAP request to your XQuery, type a comma after the ws:call() function you just pasted, and return to step 2.
 
Free Stylus Studio XML Training:
W3C Member