بتاريخ: 28 مارس 20179 سنة comment_285150 انا استخدم اوراكل 11 g حاولت ارسل ملفات بغض النظر عن نوعها . من خلال اوراكل الي انظمه غير اوراكل باستخدام Web Service ... المشكله الصور والملفات التي تزيد حجمها عن 48k لا تصل ولا يمكن ارسالها . بالرغم عدم ظهور رسالة خطا . فمثلا عند ارسال ملف حجمه 30 يصل بكل سهوله ويتم عرضه . واذا تم ارسال ملف حجمه مثلا 800k يصل فقط منه 10k هل لديكم خبره بهذا الموضوع .. هل يمكن ارسال ملفات ذات حجم كبير في الاوراكل وارسالها عن طريق Web Service ... احنا بالاوراكل نستطيع تخزين ملفات كبيره وعرضها ضمن اطار الاوراكل باستخدام webutil >> ارجو لاهل الخبره افاادتنا لاهمية الموضوع . عند استخدام utl_dbws.release_call (call_); يصير هناك قطع للبينات وتصل ناقصه . CREATE OR REPLACE PROCEDURE sa.importelectronicfiles2 ( auth_id IN VARCHAR2, bfiles IN BLOB, ext IN VARCHAR2, parentfolder IN VARCHAR2, templatename IN VARCHAR2, system_tag IN VARCHAR2, tags IN VARCHAR2, field_name_doc_type IN VARCHAR2, field_name_ben_id IN VARCHAR2, field_name_ben_num IN VARCHAR2, field_name_br_num IN VARCHAR2, field_name_released IN VARCHAR2, field_name_doc_type_val IN VARCHAR2, field_name_ben_id_val IN VARCHAR2, field_name_ben_num_val IN VARCHAR2, field_name_br_num_val IN VARCHAR2, field_name_released_val IN VARCHAR2, lf_id OUT NUMBER ) IS service_ utl_dbws.service; call_ utl_dbws.CALL; service_qname utl_dbws.qname; response XMLTYPE := NULL; request XMLTYPE := NULL; l_clob CLOB; l_clob2 VARCHAR2 (1000); l_blob BLOB; BEGIN l_clob := base64encodeblob_plsql (bfiles);-------------------------------------------------------- coding service_qname := utl_dbws.to_qname (NULL, 'ImportDocument'); service_ := utl_dbws.create_service (service_qname); call_ := utl_dbws.create_call (service_); utl_dbws.set_target_endpoint_address (call_, 'http://10.65.60.81/LFWS/ISB-WS-LF.asmx' ); utl_dbws.set_property (call_, 'SOAPACTION_USE', 'TRUE'); utl_dbws.set_property (call_, 'SOAPACTION_URI', 'http://www.isb-me.com/webServices/ISB-WS-LF/ImportDocument' ); utl_dbws.set_property (call_, 'OPERATION_STYLE', 'document'); request := XMLTYPE ( '<ImportDocument xmlns="http://www.isb-me.com/webServices/ISB-WS-LF/">' || '<AuthID>' || auth_id || '</AuthID>' || '<File>' || l_clob || '</File>' || '<Ext>' || ext || '</Ext>' || '<ParentFolder>' || parentfolder || '</ParentFolder>' || ' <TemplateName>' || templatename || '</TemplateName>' || '<SystemTag>' || system_tag || '</SystemTag>' || '<Tags>' || ' <string>' || tags || '</string>' || '</Tags>' || '<FieldNames>' || ' <string>' || field_name_doc_type || '</string>' || ' <string>' || field_name_ben_id || '</string>' || ' <string>' || field_name_ben_num || '</string>' || ' <string>' || field_name_br_num || '</string>' || ' <string>' || field_name_released || '</string>' || ' </FieldNames>' || ' <FieldVals>' || ' <string>' || field_name_doc_type_val || '</string>' || ' <string>' || field_name_ben_id_val || '</string>' || ' <string>' || field_name_ben_num_val || '</string>' || ' <string>' || field_name_br_num_val || '</string>' || ' <string>' || field_name_released_val || '</string>' || ' </FieldVals>' || ' </ImportDocument>' ); response := utl_dbws.invoke (call_, request); utl_dbws.release_call (call_); utl_dbws.release_service (service_); IF response.EXTRACT ('//ImportDocumentResult/text()', 'xmlns="http://www.isb-me.com/webServices/ISB-WS-LF/"' ) IS NOT NULL THEN lf_id := response.EXTRACT ('//ImportDocumentResult/text()', 'xmlns="http://www.isb-me.com/webServices/ISB-WS-LF/"' ).getstringval (); END IF; END; / تقديم بلاغ
بتاريخ: 29 مارس 20179 سنة comment_285169 بامكانك استخدام sleep قبل release وشوف لو حجم الملف اتغير يبقي في مشكلة ف قطع الcall قبل ما يكمل كتابة DBMS_LOCK.Sleep( 20 ); تقديم بلاغ
بتاريخ: 29 مارس 20179 سنة كاتب الموضوع comment_285191 شكرا اخي ابراهيم علي تفاعلك وردك . باذن الله اجرب كلامك . وارد لك خبر .. شكرا لامثالك تقديم بلاغ
بتاريخ: 5 أبريل 20179 سنة كاتب الموضوع comment_285469 المشكله في حالة ارسال ملف كبير من الاوراكل حجمه مثلا 800k بعد التنفيذ والذهاب الي قاعدة بيانات المرسل اليها يلاحظ ان حمجه صار 22k > بمعني انه تم استقطاعه عن عمليىة call لا ادري مالحل ؟ تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.