Database

PL/SQL ilə SOAP requesti göndərmək

PL/SQL-də UTL_HTTP paketi vasitəsi ilə SOAP requestlərini aşağıdakı kimi göndərə bilərik.

SET serveroutput on
DECLARE
   -- SOAP REQUESTS/RESPONSE
   soap_req_msg    VARCHAR2 (32767);
   soap_resp_msg   VARCHAR2 (32767);

   -- HTTP REQUEST/RESPONSE
   http_req        UTL_HTTP.req;
   http_resp       UTL_HTTP.resp;

BEGIN
   --
   -- Create SOAP request via HTTP
   --
   soap_req_msg :=
      '
<soap:Envelope
xmlns:soap="http://www.w3.org/2003/05/soap-envelope/"
soap:encodingStyle="http://www.w3.org/2003/05/soap-encoding">

<soap:Body>
  <m:GetPrice xmlns:m="https://www.w3schools.com/prices">
    <m:Item>Apples</m:Item>
  </m:GetPrice>
</soap:Body>

</soap:Envelope>';

   http_req :=
      UTL_HTTP.begin_request
                         ('http://localhost:8080/TestService/Test',
                          'POST',
                          'HTTP/1.1'
                         );
   UTL_HTTP.set_header (http_req, 'Content-Type', 'text/xml');
   UTL_HTTP.set_header (http_req, 'Content-Length', LENGTH (soap_req_msg));
   UTL_HTTP.set_header (http_req, 'SOAPAction', '');
   UTL_HTTP.write_text (http_req, soap_req_msg);

  --
   -- Invoke Request and get Response.
   --
   http_resp := UTL_HTTP.get_response (http_req);
   UTL_HTTP.read_text (http_resp, soap_resp_msg);
   UTL_HTTP.end_response (http_resp);
   DBMS_OUTPUT.put_line ('Output: ' || soap_resp_msg);
END;
/
Həmçinin Oxu:  Oracle Enterprise Linux Hostname dəyişmək

Bir cavab yazın

Sizin e-poçt ünvanınız dərc edilməyəcəkdir. Gərəkli sahələr * ilə işarələnmişdir