Calling webservice through plsql procedure xxirisomcommonsoapuik Author Sonia
Calling webservice through pl/sql procedure (xxiris_om_common_soapui_k) Author: Sonia Kamra 11/24/2009
It has three main steps: 1. Create Request 2. Add Parameters 3. Invoke the webservice to get the response
Step 1: Creating a request FUNCTION new_request (method IN VARCHAR 2, submethod IN VARCHAR 2, namespace IN VARCHAR 2) RETURN request;
• Example g_namespace VARCHAR 2(500): = 'http: //uhg. iris. service/types/'; x_req xxiris_om_common_soapui_k. request; x_request: = xxiris_om_common_soapui_k. new_request ('Trust. Commerce. Request', 'customer. Data', 'xmlns="' || g_namespace || '"' );
Step 2: Add Parameters PROCEDURE add_parameter( req IN OUT NOCOPY request, name IN VARCHAR 2, type IN VARCHAR 2, value IN VARCHAR 2);
Example: xxxiris_om_common_soapui_k. ADD_PARAMETER (x_request, 'transaction. Id', 'xsd: string', ‘ 12345' ); At this point we add all the parameters in the order how its mentioned in WSDL.
Step 3: Invoke FUNCTION invoke ( req IN OUT NOCOPY request, url IN VARCHAR 2, action IN VARCHAR 2 ) RETURN response
Example: • x_resp xxxiris_om_common_soapui_k. response; x_resp : = xxxiris_om_common_soapui_k. invoke (x_req, http: //apsp 9040. uhc. com: 7784/Trust. Commerce. WSSoap. Http. Port? wsdl’, 'http: //uhg. iris. service//perform. Action' );
Sample Code DECLARE x_request xxiris_om_common_soapui_k. request; x_resp xxiris_om_common_soapui_k. response; g_namespace VARCHAR 2 (500) : = 'http: //uhg. iris. service/types/'; buf VARCHAR 2 (32767); BEGIN x_request : = xxiris_om_common_soapui_k. new_request ('Trust. Commerce. Request', 'customer. Data', 'xmlns="' || g_namespace || '"'); xxiris_om_common_soapui_k. ADD_PARAMETER (x_request, 'transaction. Id', 'xsd: string', ''); xxiris_om_common_soapui_k. ADD_PARAMETER (x_request, 'action', 'xsd: string', 'verify'); xxiris_om_common_soapui_k. ADD_PARAMETER (x_request, 'avs', 'xsd: string', ''); xxiris_om_common_soapui_k. ADD_PARAMETER (x_request, 'card. Name', 'xsd: string', ''); xxiris_om_common_soapui_k. ADD_PARAMETER (x_request, 'card. Number', 'xsd: string', '411111111'); xxiris_om_common_soapui_k. ADD_PARAMETER (x_request, 'card. Brand', 'xsd: string', 'VISA'); xxiris_om_common_soapui_k. ADD_PARAMETER (x_request, 'message', 'xsd: string', ''); xxiris_om_common_soapui_k. ADD_PARAMETER (x_request, 'status', 'xsd: string', ); xxiris_om_common_soapui_k. ADD_PARAMETER (x_request, 'address 1', 'xsd: string', '1); xxiris_om_common_soapui_k. ADD_PARAMETER (x_request, 'amount', 'xsd: string', ''); xxiris_om_common_soapui_k. ADD_PARAMETER (x_request, 'key. Id', 'xsd: string', '12345'); xxiris_om_common_soapui_k. ADD_PARAMETER (x_request, 'result', 'xsd: string', ''); xxiris_om_common_soapui_k. ADD_PARAMETER (x_request, 'state', 'xsd: string', ''); xxiris_om_common_soapui_k. ADD_PARAMETER (x_request, 'zip', 'xsd: string', '920001'); xxiris_om_common_soapui_k. ADD_PARAMETER (x_request, 'exp. Date', 'xsd: string', '1215'); xxiris_om_common_soapui_k. ADD_PARAMETER (x_request, 'city', 'xsd: string', 'Somewhere'); xxiris_om_common_soapui_k. ADD_PARAMETER (x_request, 'billing. Id', 'xsd: string', ''); x_resp : = xxiris_om_common_soapui_k. invoke (x_request, vg_ws_address, 'http: //uhg. iris. service//perform. Action' ); END;
Request sent - <SOAP-ENV: Envelope xmlns: SOAP-ENV="http: //schemas. xmlsoap. org/soap/envelope/" xmlns: xsi="http: //www. w 3. org/2001/XMLSchema-instance" xmlns: xsd="http: //www. w 3. org/2001/XMLSchema"> - <SOAP-ENV: Body> - <Trust. Commerce. Request xmlns="http: //uhg. iris. service/types/"> - <customer. Data> <transaction. Id xsi: type="xsd: string" /> <action xsi: type="xsd: string">verify</action> <avs xsi: type="xsd: string" /> <card. Name xsi: type="xsd: string">Raj</card. Name> <card. Number xsi: type="xsd: string">411111111</card. Number> <card. Brand xsi: type="xsd: string">VISA</card. Brand> <message xsi: type="xsd: string" /> <status xsi: type="xsd: string" /> <address 1 xsi: type="xsd: string">123 Test St. </address 1> <instr. ID xsi: type="xsd: string" /> <amount xsi: type="xsd: string" /> <keyid xsi: type="xsd: string">12345</keyid> <result xsi: type="xsd: string" /> <state xsi: type="xsd: string" /> <zip xsi: type="xsd: string" /> <exp. Date xsi: type="xsd: string">1215</exp. Date> <city xsi: type="xsd: string">Somewhere</city> <billing. Id xsi: type="xsd: string" /> </customer. Data> </Trust. Commerce. Request> </SOAP-ENV: Body> </SOAP-ENV: Envelope>
Response Received <Trust. Commerce. Response> <Result> <transaction. Id>024 -0073107562</transaction. Id> <action nil="1"/> <avs nil="1"/> <card. Name nil="1"/> <card. Number nil="1"/> <card. Brand nil="1"/> <message> - avs: A</message> <media>cc</media> <status>approved</status> <address 1 nil="1"/> <instr. ID nil="1"/> <amount nil="1"/> <key. Id>12345</key. Id> <result nil="1"/> <state nil="1"/> <zip nil="1"/> <exp. Date nil="1"/> <city nil="1"/> <billing. Id nil="1"/> </Result> </Trust. Commerce. Response>
- Slides: 11