{"id":223405,"date":"2014-05-19T18:38:06","date_gmt":"2014-05-19T14:38:06","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=223405"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=223405","title":{"rendered":"<span class=\"post_title\">Open Source PL\/SQL \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0412\u0435\u0431-\u0421\u043b\u0443\u0436\u0431\u0430\u043c\u0438<\/span>"},"content":{"rendered":"<div class=\"content html_format\"> \t\t\t\u0421\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0441\u044f \u0441 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c SOAP \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0438\u0437 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 Oracle. <br \/>  \u0422\u0430\u043a\u0436\u0435 \u044d\u0442\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u043c \u0438 \u043b\u0435\u0433\u043a\u043e \u0438\u043d\u0442\u0435\u0433\u0440\u0438\u0440\u0443\u0435\u043c\u044b\u043c \u0441 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u043c\u043e\u0434\u0443\u043b\u044f\u043c\u0438. <br \/>  \u0412 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0435 \u043d\u0438 \u0447\u0435\u0433\u043e \u043f\u043e\u0434\u043e\u0431\u043d\u043e\u0433\u043e \u043d\u0435 \u043d\u0430\u0448\u0435\u043b. \u0415\u0441\u0442\u044c \u0441\u0442\u0430\u0442\u044c\u0438 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0449\u0438\u0435 \u043e \u0442\u043e\u043c \u043a\u0430\u043a \u043f\u043e\u0441\u044b\u043b\u0430\u0442\u044c SOAP \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0438\u0441\u043f\u043e\u043b\u0437\u0443\u044f UTL_HTTP \u043f\u0430\u043a\u0435\u0442, \u043d\u043e \u043d\u0438 \u0447\u0435\u0433\u043e \u0431\u043e\u043b\u0435\u0435.<\/p>\n<p>  \u0420\u0435\u0448\u0438\u043b \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0439 \u043f\u0440\u043e\u0434\u0443\u043a\u0442 \u043d\u0430 PL\/SQL \u0434\u043b\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 SOAP \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u0438\u0437 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 Oracle \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043b\u0435\u0433\u043a\u043e \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0438 \u0438\u043d\u0442\u0435\u0433\u0440\u0438\u0440\u0443\u0435\u0442\u0441\u044f.<\/p>\n<p>  <a name=\"habracut\"><\/a><\/p>\n<p>  \u0418\u0442\u0430\u043a, \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u043c. <\/p>\n<p>  \u0414\u0430\u043d\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0438\u0441\u043f\u043e\u043b\u0437\u0443\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043e\u0431\u044c\u0435\u043a\u0442\u044b \u0411\u0430\u0437\u044b \u0414\u0430\u043d\u043d\u044b\u0445:  <\/p>\n<ul>\n<li>User-Defined Datatypes <\/li>\n<li> Table<\/li>\n<li> Package<\/li>\n<\/ul>\n<p>  \u041f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f \u0447\u0442\u043e \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u044e \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u043e\u0431\u044a\u044f\u0441\u043d\u044f\u0442\u044c \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 SOAP, XML \u0438\u043b\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u0411\u0430\u0437\u044b \u0414\u0430\u043d\u043d\u044b\u0445 Oracle. <\/p>\n<h4>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430<\/h4>\n<p>  \u0414\u043b\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u044b <\/p>\n<ul>\n<li>\u0422\u0438\u043f PARAMS_RECORD <\/li>\n<li>\u0422\u0438\u043f PARAMS_ARRAY <\/li>\n<li>\u0422\u0430\u0431\u043b\u0438\u0446\u0430 WS_SERVER <\/li>\n<li>\u0422\u0430\u0431\u043b\u0438\u0446\u0430 WS_TEMPLATE <\/li>\n<li>\u0422\u0430\u0431\u043b\u0438\u0446\u0430 WS_LOG <\/li>\n<li>\u041f\u0430\u043a\u0435\u0442 WS <\/li>\n<\/ul>\n<p>  \u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 \u0442\u0443\u0442: <br \/>  <a href=\"https:\/\/www.dropbox.com\/sh\/tx9mknh9cm8pvfw\/AADWCcP8v5uFU7Nd8l3f2t-fa\">www.dropbox.com\/sh\/tx9mknh9cm8pvfw\/AADWCcP8v5uFU7Nd8l3f2t-fa<\/a><\/p>\n<p>  <\/p>\n<h4>\u0418\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438<\/h4>\n<p>  \u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u0442\u0430\u0431\u043b\u0438\u0446<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/getpro\/habr\/post_images\/822\/94f\/63c\/82294f63cd765210c0d20de6fd5e6e8b.png\" alt=\"image\"\/><\/p>\n<p>  \u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043a\u0430\u0436\u0434\u0443\u044e \u0438\u0437 \u043d\u0438\u0445 \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e<\/p>\n<h6>\u0422\u0430\u0431\u043b\u0438\u0446\u0430 WS_SERVER<\/h6>\n<p>  \u0425\u0440\u0430\u043d\u0438\u0442 \u0441\u043f\u0438\u0441\u043e\u043a \u0421\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u043a\u0443\u0434\u0430 \u0431\u0443\u0434\u0443\u0442 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u0441\u044f SOAP\/XML \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f.<\/p>\n<p>  \u0421\u0442\u043e\u043b\u0431\u0435\u0446 SERVER_ID \u2013 \u041b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0441\u0435\u0440\u0432\u0435\u0440\u0430. \u042f\u0432\u043b\u044f\u0435\u0442\u0441\u044f Primary Key<br \/>  \u0421\u0442\u043e\u043b\u0431\u0435\u0446 URL \u2013 \u041f\u0443\u0442\u044c \u043a \u0441\u0435\u0440\u0432\u0438\u0441\u0443 <br \/>  STATUS \u2013 \u0421\u0442\u0430\u0442\u0443\u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u0430. 1 \u2013 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. 0 \u2013 \u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d. \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e 1<\/p>\n<h6>\u0422\u0430\u0431\u043b\u0438\u0446\u0430 WS_TEMPLATE <\/h6>\n<p>  \u0425\u0440\u0430\u043d\u0438\u0442 \u0448\u0430\u0431\u043b\u043e\u043d\u044b \u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e SOAP\/XML \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439.<\/p>\n<p>  TEMPLATE_ID \u2013 \u041b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0428\u0430\u0431\u043b\u043e\u043d\u0430. \u042f\u0432\u043b\u044f\u0435\u0442\u0441\u044f Primary Key<br \/>   TEMPLATE_XML \u2013 \u0428\u0430\u0431\u043b\u043e\u043d\u0430 (\u0424\u043e\u0440\u043c\u0430\u0442 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d \u0434\u0430\u043b\u0435\u0435)<br \/>   SERVER_ID \u2013 \u041b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0441\u0435\u0440\u0432\u0435\u0440\u0430. \u042f\u0432\u043b\u044f\u0435\u0442\u0441\u044f Foreign Key \u0441\u0441\u044b\u043b\u0430\u044e\u0449\u0438\u0439\u0441\u044f \u043d\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 WS_SERVER<br \/>   REQUEST_PARAMS \u2013 \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0437\u0430\u043f\u0440\u043e\u0441\u0430 (\u0424\u043e\u0440\u043c\u0430\u0442 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d \u0434\u0430\u043b\u0435\u0435)<br \/>   RESPONSE_PARAMS \u2013 \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043e\u0442\u0432\u0435\u0442\u0430 (\u0424\u043e\u0440\u043c\u0430\u0442 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d \u0434\u0430\u043b\u0435\u0435)<br \/>   XMLNS \u2013 \u041f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u0438\u043c\u0451\u043d<br \/>   PATH \u2013 XML \u041f\u0443\u0442\u044c (\u0411\u0443\u0434\u0435\u0442 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0434\u0430\u043b\u0435\u0435)<br \/>   STATUS \u2013 \u0421\u0442\u0430\u0442\u0443\u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u0430. 1 \u2013 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. 0 \u2013 \u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d. \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e 1<\/p>\n<h6>\u0422\u0430\u0431\u043b\u0438\u0446\u0430 WS_LOG <\/h6>\n<p>  \u0425\u0440\u0430\u043d\u0438\u0442 \u043b\u043e\u0433\u0438 \u043e\u0431 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f\u0445.<\/p>\n<p>  EVENT_TIME \u2013 \u0412\u0440\u0435\u043c\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438<br \/>   XML_REQUEST \u2013 XML\/SOAP \u0437\u0430\u043f\u0440\u043e\u0441<br \/>   XML_RESPONSE \u2013 XML\/SOAP \u043e\u0442\u0432\u0435\u0442<br \/>   REQUEST_PARAMS \u2013 \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0437\u0430\u043f\u0440\u043e\u0441\u0430<br \/>   RESPONSE_PARAMS \u2013 \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043e\u0442\u0432\u0435\u0442\u0430<br \/>   RETVAL \u2013 \u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u0441\u0442\u0430\u0442\u0443\u0441\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u043d\u043e\u0433\u043e \u0417\u0430\u043f\u0440\u043e\u0441\u0430. \u0423\u0434\u0430\u0447\u043d\u043e \u0435\u0441\u043b\u0438 &gt;0<br \/>   RETMSG \u2013 \u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u043d\u043e\u043c \u0417\u0430\u043f\u0440\u043e\u0441\u0435. \u041a\u043e\u0434 \u043e\u0448\u0438\u0431\u043a\u0438 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0435\u0443\u0434\u0430\u0447\u043d\u043e\u0433\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0417\u0430\u043f\u0440\u043e\u0441\u0430<br \/>   EXECUTE_TIME \u2013 \u0412\u0440\u0435\u043c\u044f \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0430\u0445 \u0438 \u043c\u0438\u043b\u0438\u0441\u0435\u043a\u0443\u043d\u0434\u0430\u0445 \u043f\u043e\u0442\u0440\u0430\u0447\u0435\u043d\u043d\u043e\u0435 \u043d\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0417\u0430\u043f\u0440\u043e\u0441\u0430<\/p>\n<h6>\u041a\u0430\u043a \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0428\u0430\u0431\u043b\u043e\u043d TEMPLATE_XML<\/h6>\n<p>  \u0421\u044e\u0434\u0430 \u0432\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0441\u0430\u043c XML \u0444\u0430\u0439\u043b \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0437\u0430\u043c\u0435\u043d\u0438\u0432 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0434\u043b\u044f \u0432\u0432\u043e\u0434\u0430 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u0444\u043e\u0440\u043c\u0430\u0442\u0435 <code>%PARAMETER_NAME%<\/code><\/p>\n<p>  \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440:  <\/p>\n<pre><code class=\"xml\">&lt;?xml version=&quot;1.0&quot;?&gt; &lt;soap:Envelope xmlns:soap=&quot;http:\/\/www.w3.org\/2001\/12\/soap-envelope&quot; soap:encodingStyle=&quot;http:\/\/www.w3.org\/2001\/12\/soap-encoding&quot;&gt; &lt;soap:Body xmlns:m=&quot;http:\/\/www.example.org\/stock&quot;&gt;   &lt;m:GetStockPrice&gt;     &lt;m:StockName&gt;%NAME%&lt;\/m:StockName&gt;   &lt;\/m:GetStockPrice&gt; &lt;\/soap:Body&gt; &lt;\/soap:Envelope&gt; <\/code><\/pre>\n<p>  \u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0447\u0442\u043e\u0431\u044b \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0432 \u044d\u0442\u0443 \u043a\u043e\u043b\u043e\u043d\u043a\u0443 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0432 \u0442\u0430\u043a\u043e\u043c \u0444\u043e\u0440\u043c\u0430\u0442\u0435. \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0441\u0430\u043c\u0430 \u0434\u0430\u043b\u0435\u0435 \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u044d\u0442\u043e \u043d\u0430 \u0441\u0430\u043e\u043e\u0442\u0432\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u0438\u0437 \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430(\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u0445 \u0433\u043e\u0432\u043e\u0440\u0438\u0442\u0441\u044f \u0434\u0430\u043b\u0435\u0435).<\/p>\n<pre><code class=\"xml\">&lt;m:StockName&gt;%NAME%&lt;\/m:StockName&gt; <\/code><\/pre>\n<p>  \u0415\u0441\u043b\u0438 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043d\u0438 \u0447\u0435\u0433\u043e \u043d\u0435 \u043c\u0435\u0448\u0430\u0435\u0442 \u0438\u0445 \u0442\u0443\u0442 \u0436\u0435 \u0443\u043a\u0430\u0437\u0430\u0442\u044c:<\/p>\n<pre><code class=\"xml\">&lt;?xml version=&quot;1.0&quot;?&gt; &lt;soap:Envelope xmlns:soap=&quot;http:\/\/www.w3.org\/2001\/12\/soap-envelope&quot; soap:encodingStyle=&quot;http:\/\/www.w3.org\/2001\/12\/soap-encoding&quot;&gt; &lt;soap:Body xmlns:m=&quot;http:\/\/www.example.org\/stock&quot;&gt;   &lt;m:GetStockPrice&gt;     &lt;m:StockName&gt;%NAME%&lt;\/m:StockName&gt;     &lt;m:StockCount&gt;%COUNT%&lt;\/m:StockCount&gt;   &lt;\/m:GetStockPrice&gt; &lt;\/soap:Body&gt; &lt;\/soap:Envelope&gt; <\/code><\/pre>\n<p>  \u041a\u0430\u043a \u0432\u0438\u0434\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u043d\u044b 2 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 <code>NAME<\/code>\u0438 <code>COUNT<\/code><\/p>\n<pre><code class=\"xml\">&lt;m:StockName&gt;%NAME%&lt;\/m:StockName&gt; &lt;m:StockCount&gt;%COUNT%&lt;\/m:StockCount&gt; <\/code><\/pre>\n<h6>\u041f\u0440\u0430\u0432\u0438\u043b\u043e \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 (\u0421\u0442\u043e\u043b\u0431\u0446\u044b REQUEST_PARAMS \u0438 RESPONSE_PARAMS )<\/h6>\n<p>  \u0414\u0430\u043d\u043d\u044b\u0439 \u0441\u0442\u043e\u043b\u0431\u0435\u0446 \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u0444\u043e\u0440\u043c\u0430\u0442\u0435.<br \/>  <code>PARAMETER_NAME_1={ VALUE_1}|PARAMETER_NAME_2={ VALUE_2}|\u2026PARAMETER_NAME_N={ VALUE_N}<\/code><\/p>\n<h6>\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u0417\u0430\u043f\u0440\u043e\u0441\u0430 (\u0421\u0442\u043e\u043b\u0431\u0435\u0446 REQUEST_PARAMS)<\/h6>\n<p>  \u0414\u0430\u043d\u043d\u044b\u0439 \u0441\u0442\u043e\u043b\u0431\u0435\u0446 \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0432 \u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0435\u0441\u043b\u0438 \u0432 \u043d\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0435\u0441\u0442\u044c \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435. \u0412 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043f\u0443\u0441\u0442\u044b\u043c. \u0414\u0430\u043d\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0437\u0430\u0434\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b. \u041e\u0431 \u044d\u0442\u043e\u043c \u0447\u0443\u0442\u044c \u0434\u0430\u043b\u0435\u0435.<\/p>\n<h6>\u0421\u0442\u043e\u043b\u0431\u0435\u0446 PATH<\/h6>\n<p>  \u0427\u0442\u043e\u0431\u044b \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 \u041e\u0442\u0432\u0435\u0442\u043e\u043c \u043e\u0442 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d \u0441\u0442\u043e\u043b\u0431\u0435\u0446 PATH \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u043f\u0443\u0442\u044c \u0433\u0434\u0435 \u0432 XML (\u043c\u0435\u0436\u0434\u0443 \u043a\u0430\u043a\u0438\u043c\u0438 \u0442\u0430\u0433\u0430\u043c\u0438) \u0445\u0440\u043e\u043d\u0438\u0442\u0441\u044f \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0439 \u043e\u0442\u0432\u0435\u0442.<\/p>\n<p>  \u041f\u0440\u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0435 SOAP\/XML \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0439 \u043e\u0442\u0432\u0435\u0442 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0438\u0434\u0435\u0442 \u043e\u0442 \u0441\u0435\u0440\u0432\u0435\u0440\u0430.<br \/>  \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u043e\u0442\u0432\u0435\u0442\u043e\u043c \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 SOAP\/XML<\/p>\n<pre><code class=\"xml\">&lt;?xml version=&quot;1.0&quot;?&gt; &lt;soap:Envelope xmlns:soap=&quot;http:\/\/www.w3.org\/2001\/12\/soap-envelope&quot; soap:encodingStyle=&quot;http:\/\/www.w3.org\/2001\/12\/soap-encoding&quot;&gt; &lt;soap:Body xmlns:m=&quot;http:\/\/www.example.org\/stock&quot;&gt;   &lt;m:GetStockPriceResponse&gt;     &lt;m:Price&gt;34.5&lt;\/m:Price&gt;   &lt;\/m:GetStockPriceResponse&gt; &lt;\/soap:Body&gt; &lt;\/soap:Envelope&gt; <\/code><\/pre>\n<p>  \u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0441\u0442\u043e\u043b\u0431\u0435\u0446 PATH \u043d\u0443\u0436\u043d\u043e \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043a\u0430\u043a:<br \/>  <code>\/soap:Envelope\/soap:Body\/m:GetStockPriceResponse<\/code><\/p>\n<p>  \u041a\u0430\u043a \u0432\u0438\u0434\u043d\u043e \u0438\u0437 \u041e\u0442\u0432\u0435\u0442\u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u0432 \u044d\u0442\u043e\u043c \u043f\u0443\u0442\u0438 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435   <\/p>\n<pre><code class=\"xml\">&lt;m:Price&gt;34.5&lt;\/m:Price&gt; <\/code><\/pre>\n<h6>\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u041e\u0442\u0432\u0435\u0442\u0430 (\u0421\u0442\u043e\u043b\u0431\u0435\u0446 RESPONSE_PARAMS)<\/h6>\n<p>  \u0414\u0430\u043d\u044b\u0439 \u0421\u0442\u043e\u043b\u0431\u0435\u0446 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u0435\u043d \u0434\u043b\u044f \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f. \u0424\u043e\u0440\u043c\u0430\u0442 \u043e\u0441\u0442\u0430\u0435\u0442\u0441\u044f \u0442\u043e\u0442 \u0436\u0435 (\u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0439 \u0432\u044b\u0448\u0435).<\/p>\n<p>  \u0417\u043d\u0430\u044f \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u0444\u043e\u0440\u043c\u0430\u0442 \u043e\u0442\u0432\u0435\u0442\u0430, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0432 \u044d\u0442\u043e\u0442 \u0441\u0442\u043e\u043b\u0431\u0435\u0446 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b.<\/p>\n<pre><code class=\"xml\">&lt;?xml version=&quot;1.0&quot;?&gt; &lt;soap:Envelope xmlns:soap=&quot;http:\/\/www.w3.org\/2001\/12\/soap-envelope&quot; soap:encodingStyle=&quot;http:\/\/www.w3.org\/2001\/12\/soap-encoding&quot;&gt; &lt;soap:Body xmlns:m=&quot;http:\/\/www.example.org\/stock&quot;&gt;   &lt;m:GetStockPriceResponse&gt;     &lt;m:Price&gt;34.5&lt;\/m:Price&gt;   &lt;\/m:GetStockPriceResponse&gt; &lt;\/soap:Body&gt; &lt;\/soap:Envelope&gt; <\/code><\/pre>\n<p>  \u0423\u0436\u0435 \u0443\u043a\u0430\u0437\u0430\u0432 \u0432 \u0441\u0442\u043e\u043b\u0431\u0446\u0435 PATH \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0439 \u043d\u0430\u043c \u043f\u0443\u0442\u044c \u0432\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u0441\u044e\u0434\u0430 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432 \u0441\u043b\u0435\u0434 \u0444\u043e\u0440\u043c\u0430\u0442\u0435:<br \/>  <code>RESULT_PRICE={m:Price}<\/code><\/p>\n<p>  \u042d\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 RESULT_PRICE \u043f\u0440\u0438\u0441\u0432\u043e\u0438\u0442\u044c \u0437\u0430\u043d\u0447\u0435\u043d\u0438\u0435 <code>m:Price<\/code> \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u043e\u0433\u043e \u0438\u0437 SOAP\/XML \u041e\u0442\u0432\u0435\u0442\u0430. \u0414\u0430\u043b\u0435\u0435 \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u043e.<\/p>\n<h6>\u0421\u0442\u043e\u043b\u0431\u0435\u0446 XMLNS<\/h6>\n<p>  \u042d\u0442\u043e\u0442 \u0441\u0442\u043e\u043b\u0431\u0435\u0446 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432 \u0438\u043c\u0435\u043d. \u0417\u0430\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0430\u043d\u043e\u043b\u043e\u0433\u0438\u0447\u043d\u043e \u0438\u0437 \u0417\u0430\u043f\u0440\u043e\u0441\u0430 SOAP\/XML.<\/p>\n<pre><code class=\"xml\">&lt;?xml version=&quot;1.0&quot;?&gt; &lt;soap:Envelope xmlns:soap=&quot;http:\/\/www.w3.org\/2001\/12\/soap-envelope&quot; soap:encodingStyle=&quot;http:\/\/www.w3.org\/2001\/12\/soap-encoding&quot;&gt; &lt;soap:Body xmlns:m=&quot;http:\/\/www.example.org\/stock&quot;&gt;   &lt;m:GetStockPrice&gt;     &lt;m:StockName&gt;%NAME%&lt;\/m:StockName&gt; &lt;m:StockCount&gt;%COUNT%&lt;\/m:StockCount&gt;   &lt;\/m:GetStockPrice&gt; &lt;\/soap:Body&gt; &lt;\/soap:Envelope&gt; <\/code><\/pre>\n<p>  \u042d\u0442\u043e\u0442 \u0441\u0442\u043e\u043b\u0431\u0435\u0446 \u043d\u0443\u0436\u043d\u043e \u0437\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0432\u043f\u0438\u0441\u0430\u0432 \u0442\u0443\u0434\u0430 \u0432\u0441\u0435 <code>xmlns<\/code> \u0438\u0437 \u044d\u0442\u043e\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430. \u0418\u0437 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u0435\u0433\u043e \u043d\u0443\u0436\u043d\u043e \u0437\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c:<br \/>  <code>xmlns:soap=&quot;http:\/\/www.w3.org\/2001\/12\/soap-envelope&quot; xmlns:m=&quot;http:\/\/www.example.org\/stock&quot; <\/code><\/p>\n<h6>\u0417\u0430\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b<\/h6>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u043f\u0430\u043a\u0435\u0442\u0430 \u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430.<br \/>  \u0421\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u043f\u0430\u043a\u0435\u0442\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f:<\/p>\n<pre><code class=\"sql\">create or replace package WS is  PROCEDURE add_param(pi_params          in out varchar2,                       pi_parameter_name  varchar2,                       pi_parameter_value varchar2);    FUNCTION get_param(pi_params varchar2, pi_parameter_name varchar2)     return varchar2;    PROCEDURE call(pi_template_id   VARCHAR2,                  pi_params        VARCHAR2,                  po_params        OUT VARCHAR2,                  po_data_response OUT VARCHAR2);  end WS; <\/code><\/pre>\n<p>  \u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043a\u0430\u0436\u0434\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435. <br \/>  \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043a\u0430\u0436\u0434\u043e\u0439 \u0438\u0437 \u043d\u0438\u0445 \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u043e \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 \u0418\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f.<\/p>\n<h6>\u041f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0430 add_param <\/h6>\n<p>  \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f\/\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430.<\/p>\n<p>  \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b<br \/>  pi_params \u2013 \u041f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432<br \/>  pi_parameter_name \u2013 \u0418\u043c\u044f \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c\u043e\u0433\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 <br \/>  pi_parameter_value \u2013 \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c\u043e\u0433\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430<\/p>\n<h6>\u0424\u0443\u043d\u043a\u0446\u0438\u044f get_param <\/h6>\n<p>  \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 \u0438\u0437 \u0441\u0442\u0440\u043e\u043a\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432.<\/p>\n<p>  \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b<br \/>  pi_params \u2013 \u041f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432<br \/>  pi_parameter_name \u2014 \u0418\u043c\u044f \u0438\u0437\u0432\u043b\u0435\u043a\u0430\u0435\u043c\u043e\u0433\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430<\/p>\n<h6>\u041f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0430 call <\/h6>\n<p>  \u042f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0433\u043b\u0430\u0432\u043d\u043e\u0439 \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u0441\u0430\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441.<\/p>\n<p>  \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b<br \/>  pi_template_id \u2013 \u0418\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0448\u0430\u0431\u043b\u043e\u043d\u0430 \u0438\u0437 \u0442\u0430\u0431\u043b\u0438\u0446\u044b WS_TEMPLATE<br \/>  pi_params \u2014 \u041f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0430\u044f \u0434\u043b\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438<br \/>  po_params \u2014 \u041f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u0430\u044f \u0432 \u043e\u0442\u0432\u0435\u0442 \u043e\u0442 \u0441\u0435\u0440\u0432\u0435\u0440\u0430<br \/>  po_data_response \u2013 XML \u043e\u0442\u0432\u0435\u0442 \u043e\u0442 \u0441\u0435\u0440\u0432\u0435\u0440\u0430(\u042d\u0442\u0443 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u043c\u043e\u0436\u043d\u043e \u0438 \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c)<\/p>\n<p>  \u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u0440\u0430\u0437\u0434\u0435\u043b\u0435 \u0431\u0443\u0434\u0435\u0442 \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440 \u043f\u0430\u043a\u0435\u0442\u0430.<\/p>\n<h4>\u0418\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f<\/h4>\n<p>  \u0412 \u044d\u0442\u043e \u0440\u0430\u0437\u0434\u0435\u043b\u0435 \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044e \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0432\u044b\u0434\u0443\u043c\u0430\u043d\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430.<\/p>\n<p>  \u041f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u043c \u0435\u0441\u0442\u044c \u0417\u0430\u0434\u0430\u0447\u0430: <\/p>\n<p>  \u041f\u043e\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0434\u043b\u044f \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0441 \u0421\u0435\u0440\u0432\u0435\u0440\u043e\u043c \u0434\u043b\u044f \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0434\u043e\u043b\u0436\u0435\u043d \u0438\u043c\u0435\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438  <\/p>\n<ul>\n<li> \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0438 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043e \u0422\u043e\u0432\u0430\u0440\u0435<\/li>\n<li> \u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0422\u043e\u0432\u0430\u0440<\/li>\n<\/ul>\n<p>  \u0421\u0445\u0435\u043c\u0430 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f:<br \/>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/getpro\/habr\/post_images\/38c\/874\/1c9\/38c8741c9b94680916a26ef9802ab84c.jpg\"\/><\/p>\n<p>  \u041e\u0442\u043c\u0435\u0447\u0443 \u0447\u0442\u043e \u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u043c\u0435\u0436\u0434\u0443 \u041a\u043e\u043d\u0435\u0447\u043d\u044b\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u043c \u0438 \u0411\u0430\u0437\u043e\u0439 \u0414\u0430\u043d\u043d\u044b\u0445 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043b\u044e\u0431\u044b\u043c. \u041a\u043e\u043d\u0435\u0447\u043d\u044b\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043c\u043e\u0436\u0435\u0442 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0443 \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0447\u0435\u0440\u0435\u0437 SQL \u0438\u043b\u0438 \u0436\u0435 \u043e\u043d\u0430 \u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u0437\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u0421\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u043c (\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 Java IE \u0438\u043b\u0438 Java EE).<\/p>\n<p>  \u041f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f:<\/p>\n<p>  \u0421\u0430\u043c Web Service <br \/>  <code>http:\/\/10.10.1.100:8080\/GoodsManagementWS\/Goods<\/code><\/p>\n<p>  \u0421\u043b\u0435\u0434\u0443\u0435\u0442 \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c \u0447\u0442\u043e \u043f\u0435\u0440\u0435\u0434 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u043e\u0439 SOAP\/XML \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440, \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432 ACL. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u044c\u0441\u044f \u043a \u0410\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0443 \u0411\u0430\u0437\u044b \u0414\u0430\u043d\u043d\u044b\u0445. \u0422\u0430\u043a \u0436\u0435 \u0432 \u0438\u043d\u0442\u0435\u0440\u043d\u0435 \u0435\u0441\u0442\u044c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e\u0431 \u044d\u0442\u043e\u043c. \u0414\u0443\u043c\u0430\u044e \u043d\u0435 \u0441\u0442\u043e\u0438\u0442 \u044d\u0442\u043e \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044c \u0432 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435.<\/p>\n<h5>\u041f\u0440\u0438\u043c\u0435\u0440\u044b \u0417\u0430\u043f\u0440\u043e\u0441\u043e\u0432<\/h5>\n<p>  <\/p>\n<h6>\u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u0442\u043e\u0432\u0430\u0440\u0435<\/h6>\n<p>  \u0417\u0430\u043f\u0440\u043e\u0441:  <\/p>\n<pre><code class=\"xml\">&lt;?xml version=&quot;1.0&quot;?&gt; &lt;soap:Envelope xmlns:soap=&quot;http:\/\/www.w3.org\/2001\/12\/soap-envelope&quot; soap:encodingStyle=&quot;http:\/\/www.w3.org\/2001\/12\/soap-encoding&quot;&gt; &lt;soap:Body xmlns:m=&quot;http:\/\/www.example.org\/goods&quot;&gt;   &lt;m:GetInfo&gt;     &lt;m:ID&gt;1&lt;\/m:ID&gt;   &lt;\/m: GetInfo &gt; &lt;\/soap:Body&gt; &lt;\/soap:Envelope&gt; <\/code><\/pre>\n<p>  \u041e\u0442\u0432\u0435\u0442:  <\/p>\n<pre><code class=\"xml\">&lt;?xml version=&quot;1.0&quot;?&gt; &lt;soap:Envelope xmlns:soap=&quot;http:\/\/www.w3.org\/2001\/12\/soap-envelope&quot; soap:encodingStyle=&quot;http:\/\/www.w3.org\/2001\/12\/soap-encoding&quot;&gt; &lt;soap:Body xmlns:m=&quot;http:\/\/www.example.org\/goods&quot;&gt;   &lt;m:Response&gt;     &lt;m:Name&gt;Printer&lt;\/m:Name&gt;     &lt;m:Vendor&gt;HP&lt;\/m:Vendor&gt;     &lt;m:Price&gt;Printer&lt;\/m:Price&gt;     &lt;m:Count&gt;Printer&lt;\/m:Count&gt;   &lt;\/m:Response&gt; &lt;\/soap:Body&gt; &lt;\/soap:Envelope&gt; <\/code><\/pre>\n<h6>\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0422\u043e\u0432\u0430\u0440\u0430<\/h6>\n<p>  \u0417\u0430\u043f\u0440\u043e\u0441:  <\/p>\n<pre><code class=\"xml\">&lt;?xml version=&quot;1.0&quot;?&gt; &lt;soap:Envelope xmlns:soap=&quot;http:\/\/www.w3.org\/2001\/12\/soap-envelope&quot; soap:encodingStyle=&quot;http:\/\/www.w3.org\/2001\/12\/soap-encoding&quot;&gt; &lt;soap:Body xmlns:m=&quot;http:\/\/www.example.org\/goods&quot;&gt;   &lt;m:Add&gt;     &lt;m:Name&gt;Printer&lt;\/m:Name&gt;     &lt;m:Vendor&gt;HP&lt;\/m:Vendor&gt;     &lt;m:Price&gt;Printer&lt;\/m:Price&gt;     &lt;m:Count&gt;Printer&lt;\/m:Count&gt;   &lt;\/m: Add &gt; &lt;\/soap:Body&gt; &lt;\/soap:Envelope&gt; <\/code><\/pre>\n<p>  \u041e\u0442\u0432\u0435\u0442:  <\/p>\n<pre><code class=\"xml\">&lt;?xml version=&quot;1.0&quot;?&gt; &lt;soap:Envelope xmlns:soap=&quot;http:\/\/www.w3.org\/2001\/12\/soap-envelope&quot; soap:encodingStyle=&quot;http:\/\/www.w3.org\/2001\/12\/soap-encoding&quot;&gt; &lt;soap:Body xmlns:m=&quot;http:\/\/www.example.org\/goods&quot;&gt;   &lt;m:Response&gt;     &lt;m:id&gt;1&lt;\/m:id&gt;   &lt;\/m:Response&gt; &lt;\/soap:Body&gt; &lt;\/soap:Envelope&gt; <\/code><\/pre>\n<p>  \u041c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043e\u0442 \u0437\u0430\u043a\u0430\u0437\u0447\u0438\u043a\u0430. \u041f\u0440\u0438\u0441\u0442\u0443\u043f\u0430\u0435\u043c \u043a \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 \u0438 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438.<\/p>\n<p>  \u0412 \u043f\u0435\u0440\u0432\u0443\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0438\u043d\u043e\u0444\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0435:<\/p>\n<pre><code class=\"sql\">INSERT INTO WS_SERVER (SERVER_ID, URL, STATUS)      VALUES ('Store', 'http:\/\/10.10.1.100:8080\/GoodsManagementWS\/Goods', 1); <\/code><\/pre>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u0448\u0430\u0431\u043b\u043e\u043d\u0430\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 <code>WS_TEMPLATE<\/code><\/p>\n<h6>\u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u0442\u043e\u0432\u0430\u0440\u0435<\/h6>\n<p>  <\/p>\n<pre><code class=\"sql\">INSERT INTO WS_TEMPLATE   (TEMPLATE_ID,    TEMPLATE_XML,    SERVER_ID,    REQUEST_PARAMS,    RESPONSE_PARAMS,    XMLNS,    PATH,    STATUS) VALUES   ('GetInfo', --TEMPLATE_ID    '&lt;?xml version=&quot;1.0&quot;?&gt; &lt;soap:Envelope xmlns:soap=&quot;http:\/\/www.w3.org\/2001\/12\/soap-envelope&quot; soap:encodingStyle=&quot;http:\/\/www.w3.org\/2001\/12\/soap-encoding&quot;&gt; &lt;soap:Body xmlns:m=&quot;http:\/\/www.example.org\/goods&quot;&gt;   &lt;m:GetInfo&gt;     &lt;m:ID&gt;%ID%&lt;\/m:ID&gt;   &lt;\/m: GetInfo &gt; &lt;\/soap:Body&gt; &lt;\/soap:Envelope&gt; ', --TEMPLATE_XML    'Store', --SERVER_ID    NULL, --REQUEST_PARAMS    'NAME={m:Name}|VENDOR={m:Vendor}|PRICE={m:Price}|COUNT={m:Count}', --RESPONSE_PARAMS    'xmlns:soap=&quot;http:\/\/www.w3.org\/2001\/12\/soap-envelope&quot; xmlns:m=&quot;http:\/\/www.example.org\/goods&quot;', --XMLNS    '\/soap:Envelope\/soap:Body\/m:Response', --PATH    1) ;--STATUS <\/code><\/pre>\n<h6>\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0422\u043e\u0432\u0430\u0440\u0430<\/h6>\n<p>  <\/p>\n<pre><code class=\"sql\">INSERT INTO WS_TEMPLATE   (TEMPLATE_ID,    TEMPLATE_XML,    SERVER_ID,    REQUEST_PARAMS,    RESPONSE_PARAMS,    XMLNS,    PATH,    STATUS) VALUES   ('GetInfo', --TEMPLATE_ID    '&lt;?xml version=&quot;1.0&quot;?&gt; &lt;soap:Envelope xmlns:soap=&quot;http:\/\/www.w3.org\/2001\/12\/soap-envelope&quot; soap:encodingStyle=&quot;http:\/\/www.w3.org\/2001\/12\/soap-encoding&quot;&gt; &lt;soap:Body xmlns:m=&quot;http:\/\/www.example.org\/goods&quot;&gt;   &lt;m:Add&gt;     &lt;m:Name&gt;%NAME%&lt;\/m:Name&gt;     &lt;m:Vendor&gt;%VENDOR%&lt;\/m:Vendor&gt;     &lt;m:Price&gt;%PRICE%&lt;\/m:Price&gt;     &lt;m:Count&gt;%COUNT%&lt;\/m:Count&gt;   &lt;\/m: Add &gt; &lt;\/soap:Body&gt; &lt;\/soap:Envelope&gt; ', --TEMPLATE_XML    'Store', --SERVER_ID    NULL, --REQUEST_PARAMS    'ID={m:id}', --RESPONSE_PARAMS    'xmlns:soap=&quot;http:\/\/www.w3.org\/2001\/12\/soap-envelope&quot; xmlns:m=&quot;http:\/\/www.example.org\/goods&quot;', --XMLNS    '\/soap:Envelope\/soap:Body\/m:Response', --PATH    1); --STATUS <\/code><\/pre>\n<p>  \u0418 \u0432\u043e\u0442 \u0434\u043e\u0431\u0430\u0432\u0438\u0432 \u0432\u0441\u044e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0443\u044e \u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u041f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0430 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u0430. \u041d\u043e \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b \u0434\u043b\u044f \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432 \u0441\u0432\u043e\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b \u0438\u0437 \u043f\u0430\u043a\u0435\u0442\u0430 WS.<\/p>\n<h6>\u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0438 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043e \u0442\u043e\u0432\u0430\u0440\u0435<\/h6>\n<p>  \u0414\u043b\u044f \u044d\u0442\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438 \u0438\u0442\u043e\u0433\u043e\u0432\u0430\u044f \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0430 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c<\/p>\n<pre><code class=\"sql\">CREATE OR REPLACE PROCEDURE GET_INFO(PI_ID     VARCHAR2,                    PO_NAME   OUT VARCHAR2,                    PO_VENDOR OUT VARCHAR2,                    PO_PRICE  OUT NUMBER,                    PO_COUNT  OUT NUMBER) IS   v_template_id     VARCHAR2(100) := 'GetInfo';   v_data_response   VARCHAR2(4000);   v_request_params  VARCHAR2(4000);   v_response_params VARCHAR2(4000); BEGIN   ws.add_param(v_request_params, 'ID', PI_ID);    ws.call(v_template_id,           v_request_params,           v_response_params,           v_data_response);    PO_NAME   := ws.get_param(v_response_params, 'NAME');   PO_VENDOR := ws.get_param(v_response_params, 'VENDOR');   PO_PRICE  := ws.get_param(v_response_params, 'PRICE');   PO_COUNT  := ws.get_param(v_response_params, 'COUNT'); END; <\/code><\/pre>\n<p>  \u041f\u0430\u043a\u0435\u0442 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u0442 SOAP \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438, \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442, \u043f\u043e\u043b\u0443\u0447\u0438\u0442 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0438 \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0438\u0440\u0443\u044e\u0449\u0438\u043c \u043e\u0442\u0432\u0435\u0442\u043e\u043c \u0440\u0430\u0431\u043e\u0442\u044b \u0438\u0442\u043e\u0433\u043e\u0432\u043e\u0439 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b \u0431\u0443\u0434\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0435 \u0440\u0430\u0431\u043e\u0442\u043e\u0439 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b get_param. \u041c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043b\u044e\u0431\u043e\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u0438\u0437 \u0441\u043f\u0438\u0441\u043a\u0430 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 RESPONSE_PARAMS \u0438 \u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430.<\/p>\n<h6>\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0442\u043e\u0432\u0430\u0440\u0430<\/h6>\n<p>  \u0414\u043b\u044f \u044d\u0442\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438 \u0438\u0442\u043e\u0433\u043e\u0432\u0430\u044f \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0430 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c<\/p>\n<pre><code class=\"sql\">PROCEDURE GET_INFO(PI_NAME   VARCHAR2,                    PI_VENDOR VARCHAR2,                    PI_PRICE  NUMBER,                    PI_COUNT  NUMBER,                    PO_ID     OUT VARCHAR2) IS   v_template_id     VARCHAR2(100) := 'GetInfo';   v_data_response   VARCHAR2(4000);   v_request_params  VARCHAR2(4000);   v_response_params VARCHAR2(4000); BEGIN   ws.add_param(v_request_params, 'NAME', PI_NAME);   ws.add_param(v_request_params, 'VENDOR', PI_VENDOR);   ws.add_param(v_request_params, 'PRICE', PI_PRICE);   ws.add_param(v_request_params, 'COUNT', PI_COUNT);    ws.call(v_template_id,           v_request_params,           v_response_params,           v_data_response);    PO_ID := ws.get_param(v_response_params, 'ID'); END; <\/code><\/pre>\n<p>  \u0412 \u044d\u0442\u043e\u0439 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0435 \u0443\u0436\u0435 \u0432\u0445\u043e\u0434\u043d\u044b\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e, \u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0438\u0440\u0443\u044e\u0449\u0430\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u043e\u0434\u043d\u0430.<\/p>\n<p>  \u0418 \u0442\u0430\u043a, \u0432 \u0438\u0442\u043e\u0433\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438\u0441\u044c 2 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442 \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443. \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u043b\u043e\u0433\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 <code>WS_LOG<\/code><\/p>\n<h4>\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0432\u043e\u043f\u0440\u043e\u0441\u044b<\/h4>\n<h6>\u0427\u0442\u043e \u0435\u0441\u043b\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u043e\u0442\u0432\u0435\u0442\u0435 \u043d\u0430\u0445\u043e\u0434\u044f\u0442\u0441\u044f \u0432 \u0440\u0430\u0437\u043d\u044b\u0445 \u043f\u0443\u0442\u044f\u0445? <\/h6>\n<p>  <\/p>\n<pre><code class=\"xml\">&lt;?xml version=&quot;1.0&quot;?&gt; &lt;soap:Envelope xmlns:soap=&quot;http:\/\/www.w3.org\/2001\/12\/soap-envelope&quot; soap:encodingStyle=&quot;http:\/\/www.w3.org\/2001\/12\/soap-encoding&quot;&gt; &lt;soap:Body xmlns:m=&quot;http:\/\/www.example.org\/goods&quot;&gt;   &lt;m:Response1&gt;     &lt;m:id&gt;1&lt;\/m:id&gt;   &lt;\/m:Response1&gt;   &lt;m:Response2&gt;     &lt;m:id&gt;1&lt;\/m:id&gt;   &lt;\/m:Response2&gt;   &lt;m:Response3&gt;     &lt;m:id&gt;1&lt;\/m:id&gt;   &lt;\/m:Response3&gt; &lt;\/soap:Body&gt; &lt;\/soap:Envelope&gt; <\/code><\/pre>\n<p>  \u0412 \u0442\u0430\u043a\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 PATH \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 <code>\u043a\u0430\u043a \/soap:Envelope\/soap:Body<\/code>. \u0422\u0430\u043a \u043a\u0430\u043a \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0439 \u043e\u0442\u0432\u0435\u0442 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043c\u0435\u0436\u0434\u0443 \u0442\u0430\u0433\u0430\u043c\u0438 <code>&lt;soap:Body&gt; \u0438 &lt;\/soap:Body&gt;<\/code>. \u0410 \u0443\u0436\u0435 RESPONSE_PARAMS \u043d\u0443\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u0435\u0439.<\/p>\n<p>  <code>ID1={ m:Response1\/m:id}| ID2={ m:Response2\/m:id}| ID3={ m:Response3\/m:id}<\/code><\/p>\n<h6>\u0427\u0442\u043e \u0435\u0441\u043b\u0438 SOAP\/XML \u0417\u0430\u043f\u0440\u043e\u0441 \u0438 \u041e\u0442\u0432\u0435\u0442 \u043f\u0440\u043e\u0441\u0442\u0435\u0439\u0448\u0438\u0435 ?<\/h6>\n<p>  \u0417\u0430\u043f\u0440\u043e\u0441  <\/p>\n<pre><code class=\"xml\">&lt;Request&gt;     &lt;Data&gt;Test&lt;\/Data&gt; &lt;\/Request&gt; <\/code><\/pre>\n<p>  \u041e\u0442\u0432\u0435\u0442  <\/p>\n<pre><code class=\"xml\">&lt;Response&gt;    &lt;Result&gt;DONE&lt;\/Result&gt; &lt;Response&gt; <\/code><\/pre>\n<p>  \u0412 \u0442\u0430\u043a\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0432\u0441\u0435 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0430\u043d\u0430\u043b\u0430\u0433\u0438\u0447\u043d\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c. <br \/>  \u0421\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e XMLNS \u043f\u0443\u0441\u0442\u043e\u0439, PATH \u0440\u0430\u0432\u0435\u043d <code>Response <\/code>\u0438 RESPONSE_PARAMS \u0440\u0430\u0432\u0435\u043d <code>RES={Result}<\/code>. \u041e\u0442\u043c\u0435\u0447\u0443 \u0447\u0442\u043e \u0438\u043c\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u043e, \u043d\u043e \u0438\u043c\u0435\u043d\u043d\u043e \u043e\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0441\u044f \u0434\u043b\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0432 \u043f\u0440\u043e\u0446\u0435\u0434\u0440\u0435 <code>get_param<\/code><\/p>\n<h6>\u0415\u0441\u043b\u0438 \u044f \u0432\u0432\u043e\u0436\u0443 \u0441\u0442\u0440\u043e\u043a\u0443 REQUEST_PARAMS \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043f\u0440\u043e\u0446\u0435\u0434\u0440\u044b, \u0442\u043e \u0437\u0430\u0447\u0435\u043c \u043d\u0443\u0436\u0435\u043d \u0441\u0442\u043e\u043b\u0431\u0435\u0446 REQUEST_PARAMS \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 WS_TEMPLATE ?<\/h6>\n<p>  \u041d\u0430\u0434\u043e\u0431\u043d\u043e\u0441\u0442\u044c \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u0442\u043e\u043b\u0431\u0446\u0435 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u0432 \u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0435\u0441\u043b\u0438 \u0432 \u0417\u0430\u043f\u0440\u043e\u0441\u0435 SOAP\/XML \u0435\u0441\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435 \u0438\u0437\u043c\u0435\u043d\u043d\u044b. \u0423\u043a\u0430\u0437\u0430\u0432 \u0438\u0445 \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u0442\u043e\u043b\u0431\u0446\u0435 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b \u0443\u0436\u0435 \u043d\u0435\u0442 \u043d\u0430\u0434\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u044d\u0442\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b(\u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0430 add_param) \u0442\u0430\u043a \u043a\u0430\u043a \u043e\u043d\u0438 \u0443\u0436\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u044b \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e.<\/p>\n<p>  \u0412\u043e\u0442 \u0438 \u0432\u0441\u0435. <\/p>\n<p>  \u0421\u0442\u0430\u0440\u0430\u043b\u0441\u044f \u0432\u044b\u043b\u043e\u0436\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438. <br \/>  \u0411\u0443\u0434\u0443 \u0440\u0430\u0434 \u0443\u0441\u043b\u044b\u0448\u0430\u0442\u044c \u0438 \u043e\u0442\u0432\u0435\u0442\u0438\u0442\u044c \u043d\u0430 \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u0443\u0442. \u0410 \u0442\u0430\u043a\u0436\u0435 \u043a\u0440\u0438\u0442\u0438\u043a\u0443, \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0438 \u0441\u043e\u0432\u0435\u0442\u044b. <br \/>  \u0420\u0435\u0448\u0435\u043d\u0438\u0435 \u0431\u044b\u043b\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u043d\u0435\u0434\u0430\u0432\u043d\u043e. \u0422\u0430\u043a \u0447\u0442\u043e \u0435\u0441\u0442\u044c \u0432\u0435\u0449\u0438 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c.<\/p>\n<p>  \u0421\u043f\u0430\u0441\u0438\u0431\u043e. \u041d\u0430\u0434\u0435\u044e\u0441\u044c \u0441\u0442\u0430\u0442\u044c\u044f \u043e\u043a\u0430\u0437\u0430\u043b\u0430\u0441\u044c \u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0439. \t\t\t<\/p>\n<div class=\"clear\"><\/div>\n<\/p><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"http:\/\/habrahabr.ru\/post\/223405\/\"> http:\/\/habrahabr.ru\/post\/223405\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"content html_format\"> \t\t\t\u0421\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0441\u044f \u0441 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c SOAP \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0438\u0437 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 Oracle. <br \/>  \u0422\u0430\u043a\u0436\u0435 \u044d\u0442\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u043c \u0438 \u043b\u0435\u0433\u043a\u043e \u0438\u043d\u0442\u0435\u0433\u0440\u0438\u0440\u0443\u0435\u043c\u044b\u043c \u0441 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u043c\u043e\u0434\u0443\u043b\u044f\u043c\u0438. <br \/>  \u0412 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0435 \u043d\u0438 \u0447\u0435\u0433\u043e \u043f\u043e\u0434\u043e\u0431\u043d\u043e\u0433\u043e \u043d\u0435 \u043d\u0430\u0448\u0435\u043b. \u0415\u0441\u0442\u044c \u0441\u0442\u0430\u0442\u044c\u0438 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0449\u0438\u0435 \u043e \u0442\u043e\u043c \u043a\u0430\u043a \u043f\u043e\u0441\u044b\u043b\u0430\u0442\u044c SOAP \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0438\u0441\u043f\u043e\u043b\u0437\u0443\u044f UTL_HTTP \u043f\u0430\u043a\u0435\u0442, \u043d\u043e \u043d\u0438 \u0447\u0435\u0433\u043e \u0431\u043e\u043b\u0435\u0435.<\/p>\n<p>  \u0420\u0435\u0448\u0438\u043b \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0439 \u043f\u0440\u043e\u0434\u0443\u043a\u0442 \u043d\u0430 PL\/SQL \u0434\u043b\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 SOAP \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u0438\u0437 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 Oracle \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043b\u0435\u0433\u043a\u043e \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0438 \u0438\u043d\u0442\u0435\u0433\u0440\u0438\u0440\u0443\u0435\u0442\u0441\u044f.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-223405","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/223405","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=223405"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/223405\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=223405"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=223405"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=223405"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}