WISD Output stage with multiple objects single response XML
Posted: Mon Jun 13, 2011 4:28 pm
We have a Web Service job where source is a WISD input stage and the target is WISD output. Previously we used to standardize the address and then expose the job as a service and service is called from UI(Lombardi). Now we have new requirement . we have to standardize as well as validate the address . So for every request XML that is sent by the UI team we need to create one response xml with multiple objects in it . Now we are getting only one object in the response xml . I tried to use XML output stage before WISD output stage to get two objects in one response xml of WISD output stage but it is not working.
Currently the request and response are as below
RERUEST
===========
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<ws_ADDRESS_STAND_AR_OPERATION_TEST xmlns="http://ADDRESS_STAND_AR_SERVICE_TEST.ADDRESS_STANDARD_AR_Test.isd.ibm.com/soapoverhttp/">
<key xmlns="">00100</key>
<addressline1 xmlns="">400 SW WALTON</addressline1>
<addressline2 xmlns="">PHY ADDR LINE2</addressline2>
<addressline3 xmlns="" />
<addressline4 xmlns="" />
<city xmlns="">BENTONVILLE</city>
<state xmlns="">AR</state>
<county xmlns="">BENTON</county>
<country xmlns="">US</country>
<postalcode xmlns="">72712-0000</postalcode>
<srccountry xmlns="">US</srccountry>
<source xmlns="" />
</ws_ADDRESS_STAND_AR_OPERATION_TEST>
</soapenv:Body>
</soapenv:Envelope>
RESPONSE
=============
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<p423:ws_ADDRESS_STAND_AR_OPERATION_TESTResponse xmlns:p423="http://ADDRESS_STAND_AR_SERVICE_TEST.ADDRESS_STANDARD_AR_Test.isd.ibm.com/soapoverhttp/">
<ws_ADDRESS_STAND_AR_OPERATION_TESTReturn>
<key>100</key>
<addressline1>400 SW WALTON</addressline1>
<addressline2>PHY ADDR LINE2</addressline2>
<addressline3 />
<addressline4 />
<city>BENTONVILLE</city>
<state>AR</state>
<county>BENTON</county>
<country>US</country>
<postalcode>72712-0000</postalcode>
<srccountry>US</srccountry>
<source />
<is_validated>Y</is_validated>
</ws_ADDRESS_STAND_AR_OPERATION_TESTReturn>
</p423:ws_ADDRESS_STAND_AR_OPERATION_TESTResponse>
</soapenv:Body>
</soapenv:Envelope>
But the UI want the response xml as below.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<p423:ws_ADDRESS_STAND_AR_OPERATION_TESTResponse xmlns:p423="http://ADDRESS_STAND_AR_SERVICE_TEST.ADDRESS_STANDARD_AR_Test.isd.ibm.com/soapoverhttp/">
<ws_ADDRESS_STAND_AR_OPERATION_TESTReturn>
<key>100</key>
<addressline1>400 SW WALTON</addressline1>
<addressline2>PHY ADDR LINE2</addressline2>
<addressline3 />
<addressline4 />
<city>BENTONVILLE</city>
<state>AR</state>
<county>BENTON</county>
<country>US</country>
<postalcode>72712-0000</postalcode>
<srccountry>US</srccountry>
<source />
<is_validated>Y</is_validated>
<key>100</key>
<addressline1>400 SW WALTON</addressline1>
<addressline2>PHY ADDR LINE2</addressline2>
<addressline3 />
<addressline4 />
<city>BENTONVILLE</city>
<state>AR</state>
<county>BENTON</county>
<country>US</country>
<postalcode>72712-0000</postalcode>
<srccountry>US</srccountry>
<source />
<is_validated>Y</is_validated>
</ws_ADDRESS_STAND_AR_OPERATION_TESTReturn>
</p423:ws_ADDRESS_STAND_AR_OPERATION_TESTResponse>
</soapenv:Body>
</soapenv:Envelope>
. Please give suggestion how to handle this.
Currently the request and response are as below
RERUEST
===========
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<ws_ADDRESS_STAND_AR_OPERATION_TEST xmlns="http://ADDRESS_STAND_AR_SERVICE_TEST.ADDRESS_STANDARD_AR_Test.isd.ibm.com/soapoverhttp/">
<key xmlns="">00100</key>
<addressline1 xmlns="">400 SW WALTON</addressline1>
<addressline2 xmlns="">PHY ADDR LINE2</addressline2>
<addressline3 xmlns="" />
<addressline4 xmlns="" />
<city xmlns="">BENTONVILLE</city>
<state xmlns="">AR</state>
<county xmlns="">BENTON</county>
<country xmlns="">US</country>
<postalcode xmlns="">72712-0000</postalcode>
<srccountry xmlns="">US</srccountry>
<source xmlns="" />
</ws_ADDRESS_STAND_AR_OPERATION_TEST>
</soapenv:Body>
</soapenv:Envelope>
RESPONSE
=============
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<p423:ws_ADDRESS_STAND_AR_OPERATION_TESTResponse xmlns:p423="http://ADDRESS_STAND_AR_SERVICE_TEST.ADDRESS_STANDARD_AR_Test.isd.ibm.com/soapoverhttp/">
<ws_ADDRESS_STAND_AR_OPERATION_TESTReturn>
<key>100</key>
<addressline1>400 SW WALTON</addressline1>
<addressline2>PHY ADDR LINE2</addressline2>
<addressline3 />
<addressline4 />
<city>BENTONVILLE</city>
<state>AR</state>
<county>BENTON</county>
<country>US</country>
<postalcode>72712-0000</postalcode>
<srccountry>US</srccountry>
<source />
<is_validated>Y</is_validated>
</ws_ADDRESS_STAND_AR_OPERATION_TESTReturn>
</p423:ws_ADDRESS_STAND_AR_OPERATION_TESTResponse>
</soapenv:Body>
</soapenv:Envelope>
But the UI want the response xml as below.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<p423:ws_ADDRESS_STAND_AR_OPERATION_TESTResponse xmlns:p423="http://ADDRESS_STAND_AR_SERVICE_TEST.ADDRESS_STANDARD_AR_Test.isd.ibm.com/soapoverhttp/">
<ws_ADDRESS_STAND_AR_OPERATION_TESTReturn>
<key>100</key>
<addressline1>400 SW WALTON</addressline1>
<addressline2>PHY ADDR LINE2</addressline2>
<addressline3 />
<addressline4 />
<city>BENTONVILLE</city>
<state>AR</state>
<county>BENTON</county>
<country>US</country>
<postalcode>72712-0000</postalcode>
<srccountry>US</srccountry>
<source />
<is_validated>Y</is_validated>
<key>100</key>
<addressline1>400 SW WALTON</addressline1>
<addressline2>PHY ADDR LINE2</addressline2>
<addressline3 />
<addressline4 />
<city>BENTONVILLE</city>
<state>AR</state>
<county>BENTON</county>
<country>US</country>
<postalcode>72712-0000</postalcode>
<srccountry>US</srccountry>
<source />
<is_validated>Y</is_validated>
</ws_ADDRESS_STAND_AR_OPERATION_TESTReturn>
</p423:ws_ADDRESS_STAND_AR_OPERATION_TESTResponse>
</soapenv:Body>
</soapenv:Envelope>
. Please give suggestion how to handle this.