P_modelCode IN VARCHAR2,
P_service_name VARCHAR2 IN
)
RETURN VARCHAR2
AS
P_user VARCHAR2 (32767);
P_pwd VARCHAR2 (32767);
L_service UTL_DBWS. Service;
L_call UTL_DBWS. Call;
L_wsdl_url VARCHAR2 (32767);
L_namespace VARCHAR2 (32767);
P_xml CLOB.
P_xml2 CLOB.
L_service_qname UTL_DBWS. Qname;
L_port_qname UTL_DBWS. Qname;
L_operation_qname UTL_DBWS. Qname;
L_ser VARCHAR2 (32767);
L_port VARCHAR2 (32767);
- l_operation VARCHAR2 (32767);
L_xmltype_in SYS. XMLTYPE;
L_xmltype_out SYS. XMLTYPE;
- l_return VARCHAR2 (32767);
The BEGIN
SS_LOG (' 22222 - '| | p_xmlStr);
If p_xmlStr is null then
Return the 'SUCCESS';
end if;
If (p_service_name is null) then
Return 'not specified service name';
end if;
If dbms_lob. Getlength (p_xmlStr) & lt; 20 then
Return the 'SUCCESS';
end if;
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
The select l_wsdl_url l_namespace, p_user p_pwd, l_service_qname,
L_port_qname into
L_wsdl_url l_namespace, p_user, p_pwd l_ser, l_port from WEBSERVICE_CONFIG
Where JK_NAME=p_service_name;
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
- l_service_qname:=UTL_DBWS to_qname (l_namespace, 'NC_ServiceImplService');
L_service_qname:=UTL_DBWS to_qname (l_namespace l_ser);
- l_port_qname:=UTL_DBWS to_qname (l_namespace, 'NC_ServiceImplPort');
L_port_qname:=UTL_DBWS to_qname (l_namespace l_port);
L_operation_qname:=UTL_DBWS to_qname (l_namespace, 'writeRecords');
- l_operation_qname:=UTL_DBWS to_qname (l_namespace l_operation);
L_service:=UTL_DBWS create_service (
Wsdl_document_location=& gt; URIFACTORY. GetURI (
- l_wsdl_url
'http://127.0.0.1:8080/receiveimpl? WSDL: '
),
Service_name=& gt; L_service_qname);
L_call:=UTL_DBWS create_call (
Service_handle=& gt; L_service,
Port_name=& gt; L_port_qname,
Operation_name=& gt; L_operation_qname);
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-- utl_dbws. Set_property (l_call, 'SOAPACTION_USE', 'TRUE');
-- utl_dbws. Set_property (l_call, 'SOAPACTION_URI', 'urn: writeRecords');
-- utl_dbws. Set_property (l_call, 'OPERATION_STYLE', 'document');
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
P_xml:=replace (p_xmlStr, '& lt; ', '& amp; lt; ');
P_xml2:=replace (p_xml, '& gt; ', '& amp; gt; ');
L_xmltype_in:=SYS. XMLTYPE (' & lt; ? The XML version="1.0" encoding="utf-8"?>
');
L_xmltype_out:=UTL_DBWS. Invoke (call_Handle=& gt; L_call,
Request=& gt; L_xmltype_in);
UTL_DBWS. Release_call (call_handle=& gt; L_call);
UTL_DBWS. Release_service (service_handle=& gt; L_service);
-- if l_xmltype_out. Extract ('//return/text () ') is null then
- return 'SUCCESS';
- end if;
- RAISE_APPLICATION_ERROR (20003, 'p_xml2:' | | p_xml | | ', p_modelCode: '| | p_modelCode | |', l_wsdl_url: '| | l_wsdl_url);
Dbms_Output. Put_line (l_xmltype_out getstringval ());
L_xmltype_out:=XMLTYPE (replace (l_xmltype_out getstringVal (), 'ns: return', 'return')).
Extract ('//return);
If l_xmltype_out. Extract ('//text () ') is null then
Return the 'SUCCESS';
end if;
RETURN l_xmltype_out. Extract ('//text () '). The getStringVal ();
- & lt; Body>