Skip to Main Content

APEX

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Soap API in apex for Account Combination Validation Service

shekhar chandelOct 24 2024

I am trying to follow this method for my soap API but not able to design

my wsdl document: https://docs.oracle.com/en/cloud/saas/financials/24a/oeswf/accountcombinationvalidationservice-d16476e4978.html

Service WSDL URL: https://servername/fscmService/AccountCombinationService?WSDL

method which I am trying to follow:

ORACLE-BASE - APEX_WEB_SERVICE : Consuming SOAP and REST Web Services :→ for SOAP


l_xml := APEX_WEB_SERVICE.make_request(
p_url => 'xxx/fscmService/AccountCombinationService',
p_action => '???',
p_envelope => l_envelope
);


l_result := APEX_WEB_SERVICE.parse_xml(
p_xml => l_xml,
p_xpath => '???',
p_ns => '???"'
);


What values need to provide ??? area also how to desgin return section for this code


this is what i created---→

CREATE OR REPLACE FUNCTION AccountCombinationService (
DynamicInsertion IN OUT VARCHAR2,
EnabledFlag IN OUT BOOLEAN,
FromDate IN OUT DATE,
LedgerName IN OUT VARCHAR2,
Segment1 IN OUT VARCHAR2,
Segment2 IN OUT VARCHAR2,
Segment3 IN OUT VARCHAR2,
Segment4 IN OUT VARCHAR2,
Segment5 IN OUT VARCHAR2,
Segment6 IN OUT VARCHAR2,
Segment7 IN OUT VARCHAR2,
Segment8 IN OUT VARCHAR2,
Segment9 IN OUT VARCHAR2,
Segment10 IN OUT VARCHAR2,
Segment11 IN OUT VARCHAR2,
Segment12 IN OUT VARCHAR2,
Segment13 IN OUT VARCHAR2,
Segment14 IN OUT VARCHAR2,
Segment15 IN OUT VARCHAR2,
Segment16 IN OUT VARCHAR2,
Segment17 IN OUT VARCHAR2,
Segment18 IN OUT VARCHAR2,
Segment19 IN OUT VARCHAR2,
Segment20 IN OUT VARCHAR2,
Segment21 IN OUT VARCHAR2,
Segment22 IN OUT VARCHAR2,
Segment23 IN OUT VARCHAR2,
Segment24 IN OUT VARCHAR2,
Segment25 IN OUT VARCHAR2,
Segment26 IN OUT VARCHAR2,
Segment27 IN OUT VARCHAR2,
Segment28 IN OUT VARCHAR2,
Segment29 IN OUT VARCHAR2,
Segment30 IN OUT VARCHAR2,
ToDate IN DATE
CcId OUT NUMBER,
Error OUT VARCHAR2,
ErrorCode OUT VARCHAR2,
Status OUT VARCHAR2)

RETURN NUMBER ---- not sure
AS
l_envelope CLOB;
l_xml XMLTYPE;
l_result VARCHAR2(32767);
BEGIN

-- Build a SOAP document appropriate for the web service.
l_envelope := '<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<ws_manageAccountCombination xmlns="http://oracle-base.com/webservices/" soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<DynamicInsertion xsi:type="xsd:string">' || DynamicInsertion || '</DynamicInsertion>
<EnabledFlag xsi:type="xsd:boolean">' || EnabledFlag || '</EnabledFlag>
<FromDate xsi:type="xsd:date">' || FromDate || '</FromDate>
<LedgerName xsi:type="xsd:string">' || LedgerName || '</LedgerName>
<Segment1 xsi:type="xsd:string">' || Segment1 || '</Segment1>
<Segment2 xsi:type="xsd:string">' || Segment2 || '</Segment2>
<Segment3 xsi:type="xsd:string">' || Segment3 || '</Segment3>
<Segment4 xsi:type="xsd:string">' || Segment4 || '</Segment4>
<Segment5 xsi:type="xsd:string">' || Segment5 || '</Segment5>
<Segment6 xsi:type="xsd:string">' || Segment6 || '</Segment6>
<Segment7 xsi:type="xsd:string">' || Segment7 || '</Segment7>
<Segment8 xsi:type="xsd:string">' || Segment8 || '</Segment8>
<Segment9 xsi:type="xsd:string">' || Segment9 || '</Segment9>
<Segment10 xsi:type="xsd:string">' || Segment10 || '</Segment10>
<Segment11 xsi:type="xsd:string">' || Segment11 || '</Segment11>
<Segment12 xsi:type="xsd:string">' || Segment12 || '</Segment12>
<Segment13 xsi:type="xsd:string">' || Segment13 || '</Segment13>
<Segment14 xsi:type="xsd:string">' || Segment14 || '</Segment14>
<Segment15 xsi:type="xsd:string">' || Segment15 || '</Segment15>
<Segment16 xsi:type="xsd:string">' || Segment16 || '</Segment16>
<Segment17 xsi:type="xsd:string">' || Segment17 || '</Segment17>
<Segment18 xsi:type="xsd:string">' || Segment18 || '</Segment18>
<Segment19 xsi:type="xsd:string">' || Segment19 || '</Segment19>
<Segment20 xsi:type="xsd:string">' || Segment20 || '</Segment20>
<Segment21 xsi:type="xsd:string">' || Segment21 || '</Segment21>
<Segment22 xsi:type="xsd:string">' || Segment22 || '</Segment22>
<Segment23 xsi:type="xsd:string">' || Segment23 || '</Segment23>
<Segment24 xsi:type="xsd:string">' || Segment24 || '</Segment24>
<Segment25 xsi:type="xsd:string">' || Segment25 || '</Segment25>
<Segment26 xsi:type="xsd:string">' || Segment26 || '</Segment26>
<Segment27 xsi:type="xsd:string">' || Segment27 || '</Segment27>
<Segment28 xsi:type="xsd:string">' || Segment28 || '</Segment28>
<Segment29 xsi:type="xsd:string">' || Segment29 || '</Segment29>
<Segment30 xsi:type="xsd:string">' || Segment30 || '</Segment30>
<ToDate xsi:type="xsd:date">' || ToDate || '</ToDate>
</ws_manageAccountCombination>
</soap:Body>
</soap:Envelope>';

-- Get the XML response from the web service.
l_xml := APEX_WEB_SERVICE.make_request(
p_url => 888888/fscmService/AccountCombinationService',
p_action => '888888/fscmService/AccountCombinationService/validateAndCreateAccounts',
p_envelope => l_envelope
p_username => 'xxxx',
p_password => 'xxxxx'
);

-- Display the whole SOAP document returned.
DBMS_OUTPUT.put_line('l_xml=' || l_xml.getClobVal());

-- Pull out the specific value of interest.
l_result := APEX_WEB_SERVICE.parse_xml(
p_xml => l_xml,
p_xpath => '//return/text()',
p_ns => 'xmlns:ns1="http://oracle-base.com/webservices/"'
);

DBMS_OUTPUT.put_line('l_result=' || l_result);

RETURN TO_NUMBER(l_result);
END;
/

Comments
Post Details
Added on Oct 24 2024
0 comments
287 views