vahid83
سه شنبه 26 شهریور 1392, 14:33 عصر
با سلام به همگی دوستان
من از طریق اوراکل یک وب سرویس را فراخوانی کردم و اطلاعاتی بدست آوردم که می خوام در یک فایل یا تو یه جدول ذخیره کنم.
CREATE OR REPLACE
PROCEDURE "GetResultFromWebService"
AS
v_request CLOB;
v_response CLOB;
v_soap_req CLOB;
v_soap_resp CLOB;
v_xml_resp XMLType;
doc DBMS_XMLDOM.domdocument;
fileHandler UTL_FILE.FILE_TYPE;
BEGIN
--set @serveroutput on buffer 2560000;
v_request := '<tns:GET_CENTERSSoapIn xmlns:tns="http://tempuri.org/GET_CENTERS">'
|| '<User_Name>billing</User_Name>'
|| '<Password>gh007</Password>'
|| '<Start_Date>13920201</Start_Date>'
|| '<End_Date>13920205</End_Date>'
|| '</tns:GET_CENTERSSoapIn>';
v_soap_req := '<?xml version = "1.0" encoding = "UTF-8"?>'
|| '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">'
|| '<soapenv:Header/>'
|| '<soapenv:Body>'
|| v_request
|| '</soapenv:Body>'
|| '</soapenv:Envelope>';
call_web_service(v_soap_req, v_soap_resp);
-- Strip the SOAP XML envelope from the response
v_xml_resp := XMLType.createXml(v_soap_resp);
doc := DBMS_XMLDOM.newdomdocument(v_xml_resp);
DBMS_XSLPROCESSOR.clob2file('<?xml version="1.0" encoding="ISO-8859-1"?>' || v_xml_resp.getClobVal(), 'MYDIR', 'v_xml_resp.xml');
END;
ولی فقط قطعه زیر برمیگرده:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<?xml version="1.0" encoding="UTF-8" ?>
- <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <soap:Body>
- <MANUAL_MOSH_CHANGESResponse xmlns="http://tempuri.org/">
- <MANUAL_MOSH_CHANGESResult>
- <xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
- <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
- <xs:complexType>
- <xs:choice minOccurs="0" maxOccurs="unbounded">
- <xs:element name="Table">
- <xs:complexType>
- <xs:sequence>
<xs:element name="LOG_CHANGE_ID" type="xs:decimal" minOccurs="0" />
<xs:element name="FI_CODE" type="xs:decimal" minOccurs="0" />
<xs:element name="TEL_NUMBER" type="xs:string" minOccurs="0" />
<xs:element name="OP_CODE" type="xs:decimal" minOccurs="0" />
<xs:element name="VAG_CODE" type="xs:decimal" minOccurs="0" />
<xs:element name="QU_CODE" type="xs:decimal" minOccurs="0" />
<xs:element name="SUBMIT_TYPE" type="xs:decimal" minOccurs="0" />
<xs:element name="IMP_CODE" type="xs:decimal" minOccurs="0" />
<xs:element name="TEL_TYPE" type="xs:decimal" minOccurs="0" />
<xs:element name="ADDRESS" type="xs:string" minOccurs="0" />
<xs:element name="LASTNAME" type="xs:string" minOccurs="0" />
<xs:element name="FIRSTNAME" type="xs:string" minOccurs="0" />
<xs:element name="CODE_MELLI" type="xs:string" minOccurs="0" />
<xs:element name="FATHER_NAME" type="xs:string" minOccurs="0" />
<xs:element name="BIRTHDAY" type="xs:string" minOccurs="0" />
<xs:element name="SHENASNAME" type="xs:string" minOccurs="0" />
<xs:element name="SODUR_PLACE" type="xs:string" minOccurs="0" />
<xs:element name="TOTAL_VADIE" type="xs:decimal" minOccurs="0" />
<xs:element name="COST_PRICE" type="xs:string" minOccurs="0" />
<xs:element name="TEL_TAMAS" type="xs:string" minOccurs="0" />
<xs:element name="TAHATOR_DATE" type="xs:string" minOccurs="0" />
<xs:element name="SPECIAL_WIRE_TYPE" type="xs:string" minOccurs="0" />
<xs:element name="POST_CODE" type="xs:string" minOccurs="0" />
<xs:element name="OLD_TEL_NUMBER" type="xs:string" minOccurs="0" />
<xs:element name="CREATED_COUNTER_LOC" type="xs:decimal" minOccurs="0" />
<xs:element name="CREATED_COUNTER_NAT" type="xs:decimal" minOccurs="0" />
<xs:element name="CREATED_COUNTER_DATE" type="xs:string" minOccurs="0" />
<xs:element name="TAKHLIYE_COUNTER" type="xs:decimal" minOccurs="0" />
<xs:element name="TAKHLIYE_DATE" type="xs:string" minOccurs="0" />
<xs:element name="CHANGE_DATE" type="xs:string" minOccurs="0" />
<xs:element name="STATUS" type="xs:decimal" minOccurs="0" />
<xs:element name="CEN_CODE" type="xs:decimal" minOccurs="0" />
<xs:element name="TCI_WORK_CODE" type="xs:decimal" minOccurs="0" />
<xs:element name="TCI_ELLAT_CODE" type="xs:decimal" minOccurs="0" />
<xs:element name="OLD_CEN_CODE" type="xs:decimal" minOccurs="0" />
<xs:element name="SWITCH_CODE" type="xs:decimal" minOccurs="0" />
<xs:element name="OLD_SWITCH_CODE" type="xs:decimal" minOccurs="0" />
<xs:element name="OLD_PRE_CODE" type="xs:decimal" minOccurs="0" />
<xs:element name="TAKHLIYE_COUNTER_LOC" type="xs:decimal" minOccurs="0" />
<xs:element name="TAKHLIYE_COUNTER_NAT" type="xs:decimal" minOccurs="0" />
<xs:element name="GENDER" type="xs:decimal" minOccurs="0" />
<xs:element name="MEMBER_TYPE" type="xs:decimal" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
<diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1" />
</MANUAL_MOSH_CHANGESResult>
</MANUAL_MOSH_CHANGESResponse>
</soap:Body>
</soap:Envelope>
یعنی به محض اینکه به قسمت داده ها می رسه هیچی نشون نمیده. فکر کردم شاید CLOB نمی تونه این حجم بالا رو ساپورت کنه، ولی تو اطلاعاتش خوندم که تا 4 گیگ مشکلی نداره. واقعاً نمی دونم مشکل کجاست؟؟؟؟؟؟؟؟؟؟ :ناراحت: میشه راهنماییم کنید؟؟؟؟!!!! :گریه:
من از طریق اوراکل یک وب سرویس را فراخوانی کردم و اطلاعاتی بدست آوردم که می خوام در یک فایل یا تو یه جدول ذخیره کنم.
CREATE OR REPLACE
PROCEDURE "GetResultFromWebService"
AS
v_request CLOB;
v_response CLOB;
v_soap_req CLOB;
v_soap_resp CLOB;
v_xml_resp XMLType;
doc DBMS_XMLDOM.domdocument;
fileHandler UTL_FILE.FILE_TYPE;
BEGIN
--set @serveroutput on buffer 2560000;
v_request := '<tns:GET_CENTERSSoapIn xmlns:tns="http://tempuri.org/GET_CENTERS">'
|| '<User_Name>billing</User_Name>'
|| '<Password>gh007</Password>'
|| '<Start_Date>13920201</Start_Date>'
|| '<End_Date>13920205</End_Date>'
|| '</tns:GET_CENTERSSoapIn>';
v_soap_req := '<?xml version = "1.0" encoding = "UTF-8"?>'
|| '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">'
|| '<soapenv:Header/>'
|| '<soapenv:Body>'
|| v_request
|| '</soapenv:Body>'
|| '</soapenv:Envelope>';
call_web_service(v_soap_req, v_soap_resp);
-- Strip the SOAP XML envelope from the response
v_xml_resp := XMLType.createXml(v_soap_resp);
doc := DBMS_XMLDOM.newdomdocument(v_xml_resp);
DBMS_XSLPROCESSOR.clob2file('<?xml version="1.0" encoding="ISO-8859-1"?>' || v_xml_resp.getClobVal(), 'MYDIR', 'v_xml_resp.xml');
END;
ولی فقط قطعه زیر برمیگرده:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<?xml version="1.0" encoding="UTF-8" ?>
- <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <soap:Body>
- <MANUAL_MOSH_CHANGESResponse xmlns="http://tempuri.org/">
- <MANUAL_MOSH_CHANGESResult>
- <xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
- <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
- <xs:complexType>
- <xs:choice minOccurs="0" maxOccurs="unbounded">
- <xs:element name="Table">
- <xs:complexType>
- <xs:sequence>
<xs:element name="LOG_CHANGE_ID" type="xs:decimal" minOccurs="0" />
<xs:element name="FI_CODE" type="xs:decimal" minOccurs="0" />
<xs:element name="TEL_NUMBER" type="xs:string" minOccurs="0" />
<xs:element name="OP_CODE" type="xs:decimal" minOccurs="0" />
<xs:element name="VAG_CODE" type="xs:decimal" minOccurs="0" />
<xs:element name="QU_CODE" type="xs:decimal" minOccurs="0" />
<xs:element name="SUBMIT_TYPE" type="xs:decimal" minOccurs="0" />
<xs:element name="IMP_CODE" type="xs:decimal" minOccurs="0" />
<xs:element name="TEL_TYPE" type="xs:decimal" minOccurs="0" />
<xs:element name="ADDRESS" type="xs:string" minOccurs="0" />
<xs:element name="LASTNAME" type="xs:string" minOccurs="0" />
<xs:element name="FIRSTNAME" type="xs:string" minOccurs="0" />
<xs:element name="CODE_MELLI" type="xs:string" minOccurs="0" />
<xs:element name="FATHER_NAME" type="xs:string" minOccurs="0" />
<xs:element name="BIRTHDAY" type="xs:string" minOccurs="0" />
<xs:element name="SHENASNAME" type="xs:string" minOccurs="0" />
<xs:element name="SODUR_PLACE" type="xs:string" minOccurs="0" />
<xs:element name="TOTAL_VADIE" type="xs:decimal" minOccurs="0" />
<xs:element name="COST_PRICE" type="xs:string" minOccurs="0" />
<xs:element name="TEL_TAMAS" type="xs:string" minOccurs="0" />
<xs:element name="TAHATOR_DATE" type="xs:string" minOccurs="0" />
<xs:element name="SPECIAL_WIRE_TYPE" type="xs:string" minOccurs="0" />
<xs:element name="POST_CODE" type="xs:string" minOccurs="0" />
<xs:element name="OLD_TEL_NUMBER" type="xs:string" minOccurs="0" />
<xs:element name="CREATED_COUNTER_LOC" type="xs:decimal" minOccurs="0" />
<xs:element name="CREATED_COUNTER_NAT" type="xs:decimal" minOccurs="0" />
<xs:element name="CREATED_COUNTER_DATE" type="xs:string" minOccurs="0" />
<xs:element name="TAKHLIYE_COUNTER" type="xs:decimal" minOccurs="0" />
<xs:element name="TAKHLIYE_DATE" type="xs:string" minOccurs="0" />
<xs:element name="CHANGE_DATE" type="xs:string" minOccurs="0" />
<xs:element name="STATUS" type="xs:decimal" minOccurs="0" />
<xs:element name="CEN_CODE" type="xs:decimal" minOccurs="0" />
<xs:element name="TCI_WORK_CODE" type="xs:decimal" minOccurs="0" />
<xs:element name="TCI_ELLAT_CODE" type="xs:decimal" minOccurs="0" />
<xs:element name="OLD_CEN_CODE" type="xs:decimal" minOccurs="0" />
<xs:element name="SWITCH_CODE" type="xs:decimal" minOccurs="0" />
<xs:element name="OLD_SWITCH_CODE" type="xs:decimal" minOccurs="0" />
<xs:element name="OLD_PRE_CODE" type="xs:decimal" minOccurs="0" />
<xs:element name="TAKHLIYE_COUNTER_LOC" type="xs:decimal" minOccurs="0" />
<xs:element name="TAKHLIYE_COUNTER_NAT" type="xs:decimal" minOccurs="0" />
<xs:element name="GENDER" type="xs:decimal" minOccurs="0" />
<xs:element name="MEMBER_TYPE" type="xs:decimal" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
<diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1" />
</MANUAL_MOSH_CHANGESResult>
</MANUAL_MOSH_CHANGESResponse>
</soap:Body>
</soap:Envelope>
یعنی به محض اینکه به قسمت داده ها می رسه هیچی نشون نمیده. فکر کردم شاید CLOB نمی تونه این حجم بالا رو ساپورت کنه، ولی تو اطلاعاتش خوندم که تا 4 گیگ مشکلی نداره. واقعاً نمی دونم مشکل کجاست؟؟؟؟؟؟؟؟؟؟ :ناراحت: میشه راهنماییم کنید؟؟؟؟!!!! :گریه: