Oracle通过存储过程 采用HTTP的方式调用webserivce(1)

.extract(‘/soap:Envelope/soap:Body/child::node()’,

‘xmlns:soap=“http://schemas.xmlsoap.org/soap/envelope/”’);

error_value := return_value.extract(‘/soap:Fault’,

‘xmlns:soap=“http://schemas.xmlsoap.org/soap/envelope/”’);

if (error_value is not null) THEN

error_string := error_value.extract(‘/soap:Fault/faultstring/child::text()’,‘xmlns:soap=“http://schemas.xmlsoap.org/soap/envelope/”’)

.getstringval();

error_code := error_value.extract(‘/soap:Fault/faultcode/child::text()’,‘xmlns:soap=“http://schemas.xmlsoap.org/soap/envelope/”’)

.getstringval();

raise_application_error(-20000,

'error in authentification: ’ || error_string ||

’ - ’ || error_code);

end if;

result_string := return_value.getStringVal();

dbms_output.put_line(result_string);

/*

result_string := replace(result_string, ‘<’, ‘<’);

result_string := replace(result_string, ‘>’, ‘>’);

result_string := replace(result_string, ‘"’, ‘"’);*/

–return result_string;

end httpwebservice2;

/

例子2


DECLARE

L_PARAM_LIST VARCHAR2(32767);

L_HTTP_REQUEST UTL_HTTP.REQ;

L_HTTP_RESPONSE UTL_HTTP.RESP;

L_RESPONSE_TEXT VARCHAR2(32767);

BEGIN

–452501195312120215|张昌义|K10131759|1

– service’s input parameters

L_PARAM_LIST := '<soapenv:Envelope xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance” xmlns:xsd=“http://www.w3.org/2001/XMLSchema” xmlns:soapenv=“http://schemas.xmlsoap.org/soap/envelope/” xmlns:ser=“http://server.webservice.simis.si.neusoft.com”>

soapenv:Header/

soapenv:Body

<ser:ReportTheLossOfSIcard soapenv:encodingStyle=“http://schemas.xmlsoap.org/soap/encoding/”>

452501195312120215|张昌义|K10131759|1

</ser:ReportTheLossOfSIcard>

</soapenv:Body>

</soapenv:Envelope>';

– preparing Request…

L_HTTP_REQUEST := UTL_HTTP.BEGIN_REQUEST(‘http://10.154.232.38:9001/eapdomain_lz/services/WSInterfaceSiINF?wsdl’,

‘POST’,

‘HTTP/1.1’);

– …set header’s attributes

UTL_HTTP.SET_HEADER(L_HTTP_REQUEST,

‘Accept-Encoding’,

‘gzip,deflate’);

– …set header’s attributes

UTL_HTTP.SET_HEADER(L_HTTP_REQUEST,

‘Connection’,

‘Keep-Alive’);

UTL_HTTP.SET_HEADER(L_HTTP_REQUEST,

‘User-Agent’,

‘Apache-HttpClient/4.1.1’);

UTL_HTTP.SET_HEADER(L_HTTP_REQUEST,

‘Content-Type’,

‘text/xml; charset=UTF-8’);

UTL_HTTP.SET_HEADER(L_HTTP_REQUEST,

‘Content-Length’,

‘544’);-- LENGTH(L_PARAM_LIST));

UTL_HTTP. set_header(L_HTTP_REQUEST,

‘SOAPAction’,

‘ReportTheLossOfSIcard’);

– …set input parameters

UTL_HTTP.WRITE_TEXT(L_HTTP_REQUEST, L_PARAM_LIST);

– get Response and obtain received value

L_HTTP_RESPONSE := UTL_HTTP.GET_RESPONSE(L_HTTP_REQUEST);

UTL_HTTP.READ_TEXT(L_HTTP_RESPONSE, L_RESPONSE_TEXT);

DBMS_OUTPUT.PUT_LINE(L_RESPONSE_TEXT);

– finalizing

UTL_HTTP.END_RESPONSE(L_HTTP_RESPONSE);

EXCEPTION

WHEN UTL_HTTP.END_OF_BODY THEN

UTL_HTTP.END_RESPONSE(L_HTTP_RESPONSE);

END;

例子3


DECLARE

L_PARAM_LIST VARCHAR2(32767);

L_HTTP_REQUEST UTL_HTTP.REQ;

L_HTTP_RESPONSE UTL_HTTP.RESP;

L_RESPONSE_TEXT VARCHAR2(32767);

BEGIN

– service’s input parameters

L_PARAM_LIST := '<soapenv:Envelope xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance” xmlns:xsd=“http://www.w3.org/2001/XMLSchema” xmlns:soapenv=“http://schemas.xmlsoap.org/soap/envelope/” xmlns:ser=“http://server.webservice.simis.si.neusoft.com”>

soapenv:Header/

soapenv:Body

<ser:siCheckPassWord soapenv:encodingStyle=“http://schemas.xmlsoap.org/soap/encoding/”>

100000052900495688

000529

</ser:siCheckPassWord>

</soapenv:Body>

</soapenv:Envelope>';

– preparing Request…

L_HTTP_REQUEST := UTL_HTTP.BEGIN_REQUEST(‘http://10.154.232.38:9001/eapdomain_lz/services/WSInterfaceSiINF?wsdl’,

‘POST’,

‘HTTP/1.1’);

– …set header’s attributes

UTL_HTTP.SET_HEADER(L_HTTP_REQUEST,

‘Content-Type’,

‘text/xml; charset=utf-8’);–‘application/x-www-form-urlencoded’);

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)

最后

由于篇幅限制,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!有需要的程序猿(媛)可以帮忙点赞+点击【学习资料】即可免费领取!

注:前端)**

[外链图片转存中…(img-3ycUBx2T-1713550253218)]

最后

由于篇幅限制,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!有需要的程序猿(媛)可以帮忙点赞+点击【学习资料】即可免费领取!

[外链图片转存中…(img-K0YBIriU-1713550253218)]

[外链图片转存中…(img-vbwrp2JM-1713550253218)]

  • 11
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值