التعامل مع البيانات الثنائية مع Axis2 (متومسوا) مقدمة على الرغم من المرونة، وقابلية التشغيل البيني، والقبول العالمي ل شمل، وهناك أوقات عندما تسلسل البيانات إلى شمل لا معنى له. قد يرغب مستخدمو خدمات الويب في إرسال مرفقات ثنائية من أنواع مختلفة مثل الصور والرسومات ومستندات شمل وغيرها مع رسالة سواب. وغالبا ما تكون هذه البيانات في شكل ثنائي معين. تقليديا، تم استخدام اثنين من التقنيات في التعامل مع البيانات غير الشفافة في شمل يتم إرسال البيانات الثنائية حسب القيمة عن طريق تضمين البيانات غير المعتمة (بالطبع بعد شكل من أشكال الترميز) كعنصر أو محتوى السمة لمكون شمل من البيانات. والميزة الرئيسية لهذه التقنية هي أنه يعطي التطبيقات القدرة على معالجة ووصف البيانات، استنادا فقط على مكون شمل من البيانات. يدعم شمل بيانات معتمة كمحتوى من خلال استخدام إما ترميز نصي base64 أو ست عشري. كلا التقنيات تضخيم حجم البيانات. بالنسبة لترميز النص الأساسي أوتف-8، فإن ترميز Base64 يزيد من حجم البيانات الثنائية بعامل قدره 1.33x من الحجم الأصلي، بينما يقوم التشفير السداسي عشري بتوسيع البيانات بعامل قدره 2x. سوف تضاعف العوامل المذكورة أعلاه إذا تم استخدام ترميز النص أوتف-16. ومما يبعث على القلق أيضا النفقات العامة في تكاليف المعالجة (سواء الحقيقية أو المتصورة) لهذه الأشكال، وخاصة عند فك التشفير مرة أخرى إلى ثنائي ثنائي. يتم إرسال البيانات الثنائية بالرجوع من خلال إرفاق بيانات ثنائية نقية ككيانات عامة غير مكشوفة خارجية خارج مستند شمل ثم تضمين عناوين ورل المرجعية لتلك الكيانات كعناصر أو قيم سمات. وهذا يمنع الانتفاخ غير الضروري للبيانات وهزال قوة المعالجة. والعائق الرئيسي أمام استخدام هذه الكيانات غير المستبعدة هو اعتمادها الشديد على دتدس، مما يعيق نمطية وكذلك استخدام مساحات أسماء شمل. كان هناك العديد من المواصفات التي تم إدخالها في عالم خدمات الويب للتعامل مع مشكلة التوصيلات الثنائية هذه باستخدام تقنية المرجع المرجعي. سواب مع المرفقات هو أحد الأمثلة على ذلك. نظرا لأن سواب يحظر إعلانات نوع المستند (دتد) في الرسائل، يؤدي هذا إلى مشكلة عدم تمثيل البيانات كجزء من إنفوسيت الرسالة، وبالتالي إنشاء نموذجين البيانات. هذا السيناريو مثل إرسال مرفقات مع رسالة بريد إلكتروني. على الرغم من أن هذه المرفقات ترتبط بمحتوى الرسالة فهي ليست داخل الرسالة. هذا يسبب التكنولوجيات التي تعالج ووصف البيانات استنادا إلى مكون شمل من البيانات إلى خلل. مثال على ذلك هو وس-سيكوريتي. حيث ميتوم تأتي في متوم (آلية الصابون انتقال آلية الأمثل) هو مواصفات أخرى تركز على حل مشكلة كوتاتاشمنتسكووت. يحاول متوم الاستفادة من مزايا اثنين من التقنيات المذكورة أعلاه من خلال محاولة لدمج اثنين من التقنيات. متوم هو في الواقع طريقة كوبي ريفيرانسلكوت. تنسيق سلك رسالة محسنة ل متوم هو نفس رسالة سواب مع المرفقات، مما يجعلها متوافقة مع نقاط النهاية سوا أيضا. الميزة الأكثر بروزا من متوم هو استخدام شوب: تضمين عنصر، الذي تم تعريفه في مواصفات شمل التعبئة الثنائية المحسنة (شوب) للإشارة إلى المرفقات الثنائية (الكيانات العامة غير المسددة الخارجية) للرسالة. مع استخدام هذا العنصر الحصري، يصبح المحتوى الثنائي المرفق مضمنا منطقيا (حسب القيمة) مع مستند سواب على الرغم من أنه يتم إرفاقه بشكل منفصل. وهذا يدمج المجالين من خلال جعل من الممكن للعمل فقط مع نموذج بيانات واحد. وهذا يسمح للتطبيقات بمعالجة ووصف من خلال النظر فقط في جزء شمل، مما يجعل الاعتماد على دتدس عفا عليها الزمن. على ملاحظة أخف وزنا، وقد متوم موحدة آلية المرجعية من سوا. وفيما يلي مقتطف من مواصفات شوب. على المستوى المفاهيمي، يمكن اعتبار هذه البيانات الثنائية بأنها ترميز base64 في مستند شمل. كما قد تكون هناك حاجة إلى هذا الشكل المفاهيمي أثناء بعض معالجة وثيقة شمل (على سبيل المثال لتوقيع وثيقة شمل)، فمن الضروري أن يكون واحد إلى واحد المراسلات بين إنفوسيتس شمل و شوب الحزم. ولذلك، فإن التمثيل المفاهيمي لهذه البيانات الثنائية هو كما لو كان base64 ترميز، وذلك باستخدام الشكل المعجمية الكنسي من شمل الوصفة الأساسية base64Binary (انظر شمل مخطط الجزء 2: داتاتيبيس الإصدار الثاني 3.2.16 base64Binary). في الاتجاه المعاكس، شوب قادر على تحسين فقط إنفوسيت ترميز base64 البيانات التي هي في شكل المعجم الكنسي. يدعم أباتشي Axis2 ترميز Base64. الصابون مع المرفقات و متوم (سواب آلية نقل الرسائل سواب). متوم مع نموذج البرمجة Axis2 أكسيوم هو (وربما يكون أول) نموذج الكائن الذي لديه القدرة على الاحتفاظ بالبيانات الثنائية. لديها هذه القدرة كما أومتكست يمكن أن تعقد المحتوى الثنائي الخام في شكل javax. activation. DataHandler. وقد اختير أومتكست لهذا الغرض لسببين. واحد هو أن شوب (متوم) قادر على تحسين فقط إنفوسيت ترميز base64 البيانات التي هي في الشكل المعجمية الكنسي من شمل مخطط Base64Binary نوع البيانات. واحد آخر هو الحفاظ على إنفوسيت في كل من المرسل والمتلقي. (لتخزين المحتوى الثنائي في نفس النوع من الكائن بغض النظر عما إذا كان هو الأمثل أم لا). متوم يسمح بترميز انتقائي أجزاء من الرسالة، والذي يسمح لنا بإرسال البيانات base64encoded وكذلك البيانات الثنائية الخام المرفقة خارجيا المشار إليها من قبل عنصر كوتوكسكوت (المحتوى الأمثل) ليتم إرسالها في رسالة سواب. يمكنك تحديد ما إذا كانت عقدة أومتكست التي تحتوي على البيانات الثنائية الخام أو البيانات الثنائية base64encoded مؤهلة ليكون الأمثل في وقت بناء تلك العقدة أو في وقت لاحق. للحصول على الكفاءة المثلى ل متوم، ينصح المستخدم بإرسال المرفقات الثنائية أصغر باستخدام base64encoding (غير الأمثل) ومرفقات أكبر كمحتوى محسن. أيضا، يمكن للمستخدم إنشاء عقدة المحتوى الثنائي الأمثل باستخدام سلسلة ترميز base64، الذي يحتوي على محتوى ثنائي مشفرة، نظرا لنوع مايم من التمثيل الثنائي الفعلي. يستخدم Axis2 javax. activation. DataHandler للتعامل مع البيانات الثنائية. سيتم تسلسل كافة عقدة المحتوى الثنائي الأمثل كسلاسل Base64 إذا لم يتم تمكين كوتومتومكوت. يمكنك أيضا إنشاء العقد ثنائية المحتوى، والتي لن تكون الأمثل في أي حال. سيتم تسلسلها وإرسالها كسلاسل Base64. تمكين مثوم الأمثل على جانب العميل في خيارات تعيين الخاصية كوتنابمتومكوت إلى ترو عند إرسال الرسائل. عند تعيين هذه الخاصية إلى ترو، سيتم سرد أي مغلف سواب، بغض النظر عما إذا كان يحتوي على محتوى قابل للتحسين أم لا، كرسالة مايم المحسنة ل موموم. Axis2 سيرياليزس كافة العقد ثنائية المحتوى كما سلاسل ترميز Base64 بغض النظر عما إذا كانت مؤهلة ليكون الأمثل أم لا إذا تم تعيين الخاصية كوتينابمتومكوت إلى فالس. إذا كان المغلف يحتوي على أي عنصر من عناصر المعلومات من اسم زوب: تضمين (انظر شمل-ثنائي محسن التعبئة والتغليف 3. شوب إنفوسيتس يبني). لم يكن المستخدم لتحديد أي شيء من أجل Axis2 لتلقي رسائل محسنة موموم. سوف Axis2 تحديد تلقائيا و دي-سيرياليز وفقا لذلك، وعندما وعندما تصل رسالة متوم. تمكين تحسين متوم على جانب الخادم يقوم خادم أكسيس 2 تلقائيا بتحديد رسائل إم تي إم المحسنة المحسنة استنادا إلى نوع المحتوى وإلغاء تسلسلها وفقا لذلك. يمكن للمستخدم تمكينتموم على جانب الملقم للرسائل الصادرة، لتمكين تموم عالميا لجميع الخدمات يمكن للمستخدمين تعيين المعلمة كوتنابلمتومكوت إلى ترو في Axis2.xml. عندما يتم تعيين، سيتم تسلسل جميع الرسائل الصادرة وإرسالها كرسائل مايم الأمثل مايم. إذا لم يتم تعيين، سيتم تسلسل كافة البيانات الثنائية في العقد المحتوى ثنائي كما سلاسل Base64 ترميز. يمكن أن يكون أوفيريدن هذا التكوين في services. xml على أساس لكل خدمة ولكل عملية. يجب إعادة تشغيل الملقم بعد تعيين هذه المعلمة. الوصول إلى البيانات الثنائية المستلمة (نموذج التعليمات البرمجية) ايم كتابة خادم ويب بسيط في الثعبان الذي يسمح للمستخدم لتحميل ملف باستخدام مولتفورمفورم البيانات. بقدر ما أستطيع أن أقول، من المفترض أن البيانات متعددة مايم أن يكون على أساس خط. على سبيل المثال، يجب أن تكون الحدود في بداية السطر. لا أستطيع معرفة كيفية التعامل مع البيانات الثنائية في هذا الصدد. بلدي العميل (فايرفوكس) لا ترميز في أسي 7bit أو أي شيء، البيانات الثنائية الخام فقط إرسالها. هل تقسيم البيانات إلى خطوط في مواقع تعسفية هل هناك حد أقصى لطول الخط المحدد للبيانات متعددة الأجزاء حاولت البحث من خلال رك ل مولتفورمفورم البيانات، ولكن لم تجد أي شيء. طلب 27 مارس 13 في 16:54 بعد حفر من خلال ركس، وأعتقد أنني أخيرا حصلت على كل شيء مباشرة في رأسي. تحتاج أجزاء الجسم (أي محتوى الجسم لجزء فردي في رسالة متعددة الأجزاء) إلى أن تكون مستندة إلى سطر بحيث تبدأ الحدود في نهاية الجزء مع كرلف. ولكن على خلاف ذلك، لا يلزم أن تكون البيانات قائمة على الخطوط، وإذا كان المحتوى يحدث أن يكون خط الفاصل في ذلك، لا توجد مسافة قصوى بينهما، كما أنها لا تحتاج إلى الهروب في أي حال (حسنا، ما لم يكن ربما كونتنت-transfer - يتم ترميز الترميز سلسلة). لا تشير الخيارات 7-بت و 8-بيت و ثنائي ل كونتنت-ترانسفر-إنكودينغ في الواقع إلى أن أي ترميز قد تم على البيانات (وبالتالي لا يحتاج إلى ترميز للتراجع)، إلا أنها تعني فقط للإشارة إلى نوع البيانات هل يمكن أن نتوقع أن نرى في الجزء الجسم. ما كنت حقا الحصول على في بلدي سيئة السؤال الذي أعرب عنه هو كيفية ريادبوفر البيانات من مأخذ حتى أتمكن من التأكد من أنني اشتعلت الحدود، ودون الحاجة إلى وجود عازلة كبيرة بشكل تعسفي (على سبيل المثال إذا حدث أن يكون هناك خط الفواصل في المحتوى، وهكذا انتهى ريادلين التخزين المؤقت كل شيء). ما انتهى به الأمر هو التخزين المؤقت من المقبس مع ريادلين باستخدام أقصى طول، وبالتالي فإن المخزن مؤقت لن يكون أطول من ذلك، ولكن أيضا التأكد من إنهاء إذا واجهت خط الفاصل. وهذا يضمن أنه عندما تأتي الحدود (بعد كرلف)، سيكون في بداية المخزن المؤقت. واضطررت الى القيام قليلا اضافية قرد حولها لضمان لم أكن قد أدرجت أن كرلف النهائي في محتوى الجسم الفعلي، لأنه وفقا ل رك المطلوبة قبل الحدود، وبالتالي ليست جزءا من المحتوى نفسه. أجاب أبريل 5 13 في 12:02 حاول مراجعة رك 2045. عادة، يتم تحويل المحتوى الثنائي إلى BASE64 من قبل التطبيق الخاص بك وشملت في رسالة متعددة الأجزاء باستخدام كونتنت-ترانسفر-إنكودينغ. base64 في. هناك آليات أخرى لنقل البيانات الثنائية، ولكن هذا أمر شائع جدا. يتم تحويل البيانات الثنائية إلى ثمانيات وتقطيعها في سلاسل طول التحكيم (اعتمادا على متغير ترميز - انظر الرابط BASE64 أعلاه). ثم يقوم التطبيق المستلم بتشفيره في المحتوى الثنائي الأصلي. أنا لست مبرمج بيثون، ولكن أود أن يفاجأ أنه كان لديك حقا لرمز أي من هذا بنفسك. أظن أن هناك وظائف مكتبة الثعبان قبل بناؤها للقيام بذلك بالنسبة لك. أجاب مارس 27 13 في 17:43 شكرا، كنت أبحث في رك مختلفة والتي لم تكن مفيدة. كما وجدت رك 2046 الذي يحدد على وجه التحديد رسائل متعددة الأجزاء في القسم 5. ملاحظة هناك قليلا من الدقة في هذه رفكس التي من خلال لي قبالة: يقول الرسائل متعددة الأجزاء لا يمكن أن يكون الترميز غير 7 بت، 8 بت، وثنائي (أي ليس القاعدة 64). ومع ذلك، فإنه يمضي إلى القول أن الأجزاء الفردية داخل جزء متعدد يمكن أن يكون هناك الخاصة ترميز المحتوى، لذلك كنت على حق أن قاعدة 64 هو ممكن. نادش بريانميرانس مار 28 13 في 13:20 إجابتك 2017 كومة الصرف، إنكسندينغ المرفقات مع تطبيقات الصابون سواب غالبا ما يكون للتعامل مع أكثر من مجرد رسائل بسيطة. يمكن أن تتضمن حمولة رسالة سواب في كثير من الأحيان معالجة النصوص أو مستند بدف أو صورة أو ملف ثنائي آخر. توضح هذه المقالة كيفية استخدام آلية تحسين إرسال الرسائل (متوم) لإرسال واستقبال هذه الرسائل. تحميل هذا الدليل المجاني كتيب مجاني: تطوير التطبيقات جافا في سحابة المهندسين البرمجيات تقترب التنمية وتصميم المشاريع بطريقة جديدة تماما، وذلك بفضل سحابة. في هذا الدليل الخبراء، واستكشاف كيف زملائك الاستفادة من السحابة لتبسيط إدارة دورة حياة التطبيق، وتوفير المال، وجعل الإنتاج والأمن أكثر كفاءة. من خلال تقديم معلوماتك الشخصية، فإنك توافق على أن تيشتارجيت وشركائها قد يتصل بك بشأن المحتوى والمنتجات والعروض الخاصة ذات الصلة. كما توافق على أنه قد يتم نقل معلوماتك الشخصية ومعالجتها في الولايات المتحدة، وأنك قرأت ووافقت على بنود الاستخدام وسياسة الخصوصية. المتطلبات الأساسية تستخدم هذه المقالة ملقم تطبيق خدمات ويب WSO2 (وساس.) يوصى بتنزيل WSO2 وساس 2.0 وتثبيته. تستخدم المقالة إصدار سيرفليت المثبت على أباتشي تومكات. يمكن استخدام أي خادم تطبيق مع إصدار سيرفليت، فقط اتبع تعليمات التثبيت المضمنة مع WSO2 وساس. لم يكن لديك لاستخدام ملقم التطبيق على الإطلاق، كما WSO2 وساس يعمل كبيرة في شكل مستقل. يتطلب WSO2 وساس جافا 1.4 أو 1.5 ولكن لا توجد أية متطلبات مسبقة أخرى لذلك. وبطبيعة الحال يتم استخدام خدمات الويب والصابون خصوصا، لذلك الألفة مع ذلك سوف يساعد. عندما شمل غير كافية: البيانات الثنائية هناك طرق لا نهاية لها لإرسال البيانات عبر الشبكة. هناك العديد من البروتوكولات وتنسيقات البيانات. التوحيد حول سواب قد اتخذت الكثير من التخمين في إرسال البيانات بين النظم. سواب توحيد البروتوكول (هتب) وتنسيق البيانات (شمل.) واحدة من الانتقادات الرئيسية ل سواب هو استخدامه ل شمل. شمل هو نص يستند. هذا لا يجعل فقط لرسائل كبيرة، ولكن يجعلها تتعارض مع البيانات الثنائية. على سبيل المثال، لنفترض أن رسالتك تحتاج إلى تضمين صورة. وهذا يطرح مشكلة عندما يكون تنسيق الرسالة نصا. الجمع بين البيانات الثنائية مع سواب موافق، لذلك تحتاج إلى إرسال البيانات الثنائية بين التطبيقات. تود استخدام الصابون، ولكن يقتصر على النص. لذا يجب أن مجرد التخلي عن الصابون معا معا بالطبع لا، هناك الكثير من المزايا ل سواب. تحتاج فقط وسيلة لدمجها مع البيانات الثنائية. ترى صفحات الويب تفعل ذلك في كل وقت لا يمكن أن يكون من الصعب، الحق يتيح استكشاف بعض الحلول لهذه المشكلة. إحدى الطرق التي قد تحاولها هي ببساطة تفريغ الثنائي في عقدة نصية. قد تبدو شيئا مثل قائمة 1. قائمة 1. شمل مع البيانات الثنائية: المحاولة الأولى تذكر أن الأحرف هي أيضا بايت، تماما مثل البيانات الثنائية. يجب أن يستخدم محلل شمل، سواء كان دوم أو ساكس أو محلل ستاكس، ترميز مجموعة الأحرف للمستند لتفسير كل وحدات البايت في المستند كأحرف. لذلك يمكن أن يكون لدينا البيانات الثنائية بسهولة الأحرف التي تتوافق مع الأحرف شمل محفوظة، مثل لوت أو غ أو أمبير. أي تسلسل بايت من هذا القبيل في عقدة النص أعلاه سيؤدي إلى كسر المحلل على الجانب الآخر. لذلك هذا النهج لن تعمل. ولكن الانتظار، ربما ثيريس وسيلة لإصلاح هذا النهج. ماذا عن استخدام كتلة كداتا التي سوف تخبر المحلل بتجاهل الأحرف داخل الكتلة. قد يبدو هذا النهج المعدل مثل قائمة 2. قائمة 2. شمل مع ثنائي: باستخدام كداتا الآن إذا كان لدينا وحدات البايت التي من شأنها أن تفسر على أنها غ (على سبيل المثال،) سيتم تجاهلها. ومع ذلك، يجب على المحلل لمعرفة أين ينتهي قسم كداتا. وهو يفعل ذلك من خلال البحث عن تسلسل بايت المقابلة للشخصيات غ. قد يبدو من غير المرجح، ولكن البيانات الثنائية لدينا يمكن أن يكون مجرد مثل هذا التسلسل بايت في منتصف ذلك. وهذا من شأنه أن يسبب أي محلل أن يعتقد أن قسم كداتا قد انتهت وسيتم تفسير الأحرف اللاحقة تماما كما هو الحال في محاولتنا الأولى. حتى أن ذلك لن يعمل إما. نحن بحاجة إلى وسيلة للتأكد من تلك البايتات أرينت تفسير على الإطلاق. قاعدة 64 ترميز: الأشغال ولكن المتضخمة هناك حل لهذا البديل من مشكلتنا. إحدى الطرق الشائعة للقيام بذلك هي استخدام ترميز القاعدة 64. وكانت هذه التقنية حول (كمعيار) منذ 80s. وهي تتضمن استخدام أبجدية مكونة من 64 حرفا تتألف من أحرف صغيرة، a-z، أحرف الحالة العليا، A-Z، والأرقام 0-9، والرموز. يتم تعيين كل بايت إلى هذه الأحرف، لذلك ثيريس بأي حال من الأحوال لأي بايت للحصول على سوء تفسير أي شيء من شأنه أن خنق محلل شمل. لذلك هناك، حل المشكلة، نعم نعم، ولكن لها حل غير فعال إلى حد ما. فالرياح الثنائية المشفرة في القاعدة 64 تصل في المتوسط إلى 37 أكبر (عدد البايتات) من البيانات الثنائية الخام وغير المشفرة. وبالإضافة إلى ذلك، يحتاج المحلل على الجانب الآخر إلى معرفة الترميز حتى يمكن فك شفرة الحمولة. يمكن للمرء أن يتصور أنه إذا كان ترميز قاعدة 64 جزءا من معيار سواب، ثم سيكون هناك بعض الطريقة القياسية للإشارة إلى هذه المعالجات رسالة سواب. ليست هذه هي الحالة على الرغم من. وقد يكون ذلك حلا، ولكنه غير فعال وغير قياسي على السواء. نحن بحاجة إلى شيء أكثر كفاءة وتوحيدا. سواب مع المرفقات: يعمل ولكن تصميم معيب حل واحد لهذه المشكلة هو استخدام ما يعرف باسم سواب مع المرفقات. الفكرة هنا هي مجرد وضع البيانات الثنائية خارج رسالة سواب تماما. الشكل 1 يوفر تصور لطيف من هذا. الشكل 1. سواب مع المرفقات هذا هو مماثل جدا لكيفية الملفات الثنائية يمكن أن تعلق على رسائل البريد الإلكتروني. تحتوي رسالة سواب على مرجع إلى الملف الثنائي المرفق بالرسالة. هذا على حد سواء أكثر كفاءة وتوحيد، ولكن لديه بعض العيوب في تصميمه. المرفق الثنائي ليس جزءا من رسالة سواب على الإطلاق. لها مماثلة في الكثير من الطرق لمجرد تمرير أوري للبيانات الثنائية وترك الأمر إلى معالج الرسائل لاسترداد البيانات الثنائية الفعلية. ويعرض بعض المشاكل الحقيقية لأشياء مثل وس الأمن. ومع ذلك، هذا هو ما كان يستخدم لفترة من الوقت، حتى تم اقتراح حل أفضل: متوم. متوم: أفضل من كلا العالمين متوم لتقف على رسالة سواب آلية نقل الإرسال. فهو يجمع بين كفاءة سواب مع المرفقات، لكنه يفعل ذلك دون الحاجة إلى كسر البيانات الثنائية خارج رسالة سواب. كيف يمكن أن يكون هذا المفتاح هو تقنية تسمى شمل ثنائي التعبئة والتغليف الأمثل أو شوب. شوب يسمح البيانات الثنائية ليتم تضمينها كجزء من شمل إنفوسيت. في الواقع يصبح إنفوسيت شمل مجموعة من إنفوسيت التقليدية المعروفة باسم إنفوسيت شوب. فإنه يسمح لتخزين البيانات الثنائية خارج وثيقة شمل، تماما كما هو الحال في سواب مع المرفقات. ويستخدم شوب خاص: تضمين عنصر ليقول المعالج لاستبدال محتويات مع البيانات الثنائية المشار إليها، وبالتالي تغليف منطق التخزين المنفصل واسترجاع البيانات الثنائية. يصبح هذا المنطق متأصلا في محلل شمل، ويسمح محلل التحليل سواب بمعالجة البيانات الثنائية كجزء من مستند شمل، مع عدم وجود منطق استرجاع خاص. وبالمثل فإنه يسمح لخادم سواب لإنشاء رسالة سواب بطريقة موحدة، لا منطق خاص لكسر تلك البيانات الثنائية من رسالة سواب. متوم في WSO2 وساس تحدثنا كثيرا عن الحاجة إلى متوم وكيف ينبغي أن تعمل من الناحية النظرية. انها لا تفعل لنا الكثير من الخير دون تنفيذ حقيقي. لحسن الحظ ثيريس طريقة سهلة للحصول على تنفيذ متوم كبيرة، ومجرد استخدام WSO2 وساس. تم بناء WSO2 وساس على رأس التقنيات المجربة والحقيقية، بما في ذلك أباتشي Axis2. Axis2 يعطي WSO2 وساس تنفيذها متوم. دعونا نلقي نظرة على كيفية الاستفادة من قوة تنفيذ WSASAxis2s متوم. إرسال رسالة متوم من خدمة ويب مع دعم أكسيوم أبي متوم على Axis2 يبني على نفس الفئات المستخدمة في جميع أنحاء Axis2. ويستخدم Axis2s كائن نموذج (أوم). Axis2 يدعم كلا من ترميز قاعدة 64 و متوم، ويجعلها بسيطة نسبيا للتبديل بينهما. لماذا حسنا لملفات صغيرة جدا، يمكن أن يكون في الواقع أكثر كفاءة لاستخدام ترميز قاعدة 64. لتحقيق هذا التحول السلس بين النقل الأمثل وغير الأمثل، Axis2 يعامل البيانات الثنائية كعقدة نص شمل. والفرق الوحيد هو أنك تحتاج إلى تمرير في javax. activation. DataHandler للوصول إلى البيانات، كما هو موضح في قائمة 3. قائمة 3. إضافة البيانات الثنائية مع أسيوم أبي في المثال في القائمة 3، javax. activation. FileDataSource يستخدم لتوفير داتاهاندلر مع الوصول إلى البيانات الثنائية. يمكنك استخدام أي فئة تقوم بتنفيذ واجهة javax. activation. DataSource. على سبيل المثال، عند التعامل مع الصور، يمكن استخدام org. apache. axis2.attachments. ImageDataSource. وتنفذ واجهة البيانات داتاسورس ويمكن أن تكون أكثر ملاءمة عند العمل مع الصور. فكيف Axis2، وبالتالي WSO2 وساس، تعرف لاستخدام متوم لتحسين البيانات الثنائية وهذا هو في الواقع ما Axis2 سوف تفعل افتراضيا. يمكنك يدويا تجاوز هذا عن طريق إضافة سطر واحد فقط من التعليمات البرمجية، كما هو مبين في قائمة 4. قائمة 4. إيقاف متوم هذا سطر واحد من التعليمات البرمجية سوف اقول Axis2 إلى عدم تحسين، أي لا تستخدم متوم. وهكذا سوف Axis2 استخدام قاعدة 64 ترميز البيانات الثنائية، وأنها حقا سوف تكون عقدة النص. خلاف ذلك، سوف متوم ركلة في، وشوب تشمل سوف تستخدم لتحسين نقل البيانات الثنائية ضمن رسالة سواب. تمكين متوم على الخادم بالطبع للحصول على كل هذا رائع، والسلوك الأمثل تلقائيا، لا تحتاج إلى تمكين متوم. يمكنك القيام بذلك من خلال ملف axis2.xml الخاص بك بسهولة جدا، كما هو مبين في قائمة 5. قائمة 5. تمكين متوم في axis. xml لا يمكن الحصول على بعد الآن مؤلم من ذلك، والحق هذا هو الإعداد العالمي، وهو الإعداد الافتراضي على WSO2 WSAS. يمكنك فعلا تمكين متوم في أربعة مستويات مختلفة: العالمية، مجموعة الخدمات، الخدمة، والتشغيل. يمكنك استخدام نفس الدلالات لكل مستوى. يمكنك استخدام وحدة التحكم بالإدارة لإدارة متوم في كل من هذه المستويات. على سبيل المثال من هذا نلقي نظرة على الشكل 2. الشكل 2. إدارة متوم على مستوى المجموعة الخدمة هنا نرى يتم إدارة متوم على مستوى مجموعة الخدمات. كل خدمة في المجموعة يمكن أيضا أن تدار بشكل فردي، كما هو مبين في الشكل 3. الشكل 3. إدارة متوم على مستوى الخدمة بالطبع كل خدمة يمكن أن يكون واحد أو أكثر من العمليات. يسمح لك وساس بإدارة متوم عند هذا المستوى أيضا، كما هو مبين في الشكل 4. لاحظ أنه في كل مستوى، يحتوي متوم على ثلاث قيم محتملة: ترو، فالس، أند أوبتيونال. إذا تم تعيين الخاصية إلى ترو، ثم الخدمة سوف ترسل رسالة الأمثل عند الضرورة، أي عندما يتم تضمين البيانات الثنائية. إذا تم تعيين القيمة إلى فالس، فلن يتم استخدام التحسين مطلقا، وسيتم استخدام ترميز بيس 64 لأي بيانات ثنائية. إذا تم تعيينه إلى اختياري، ثم وساس سوف تتحسن إذا وفقط إذا كان الطلب جاء في الأمثل. وسوف يشير نوع الطلب إلى وساس إذا كان ينبغي أن يستخدم متوم أم لا. لماذا نحتاج إلى هذا النوع من المرونة كما ذكرنا سابقا، غالبا ما يكون من المفيد استخدام ترميز قاعدة 64 على الملفات الصغيرة. وهكذا يمكن أن تقرر أن بعض العمليات يجب استخدام متوم والبعض الآخر لا ينبغي. أو يمكنك جعله اختياري على عملية، برمجيا القيام بفحص لحجم البيانات التي يتم إرسالها، ثم اختر تجاوز متوم الافتراضي إذا كان الملف صغير. ثم قمت بإرسال متوم. دعونا نلقي نظرة على مدى سهولة وساس يجعلها لإرسال رسالة متوم من عميل خدمة ويب. إنشاء عميل سواب يقوم بإرسال رسائل متوم إرسال رسالة متوم من عميل سهل تماما مثل إرسال رسالة متوم من خدمة ويب. يوفر Axis2 العديد من واجهات برمجة التطبيقات مريحة. يتم عرض مثال في قائمة 6. قائمة 6. رمز العميل لإرسال رسالة متوم كما ترون في قائمة 6، الشيء الرئيسي الذي يجب القيام به هو تمكين متوم في خيارات عميل خدمة ويب. بمجرد القيام بذلك، ثم Axis2 تحسين أي البيانات الثنائية التي ترسلها إلى خدمة الويب باستخدام متوم تلقائيا. لقد رأينا كيف نرسل رسائل متوم من خدمة ويب إلى خدمة ويب، والآن دعونا ننظر في كيفية العمل مع البيانات التي تم إرسالها باستخدام متوم. التعامل مع رسالة متوم في خدمة ويب الآن تفترض أن لديك خدمة ويب تقبل البيانات الثنائية كجزء من رسالة سواب من عميل. إذا كانت خدمة الويب قيد التشغيل على وساس، فلن تحتاج إلى إجراء أي شيء خاص حتى تتمكن من التعامل مع البيانات الثنائية المحسنة من عملائك. يمكن للعملاء إرسال رسائل سواب التي تستخدم متوم أو ترميز قاعدة 64. في كل سلس مع وساس. تعرض القائمة 7 مثالا على تلقي البيانات المحسنة. قائمة 7. خدمة ويب تلقي سواب الأمثل كما رأينا في وقت سابق، أكيوم أبي يعالج البيانات الثنائية كعقدة نص. وهذا يسمح أبي واحد للتعامل مع الأمثل وغير الأمثل (قاعدة 64 ترميز) البيانات. يمكنك ببساطة الوصول إلى داتاهاندلر المرتبطة عقدة النص (الذي يحتوي على البيانات الثنائية) واستخدام ذلك للحصول على إنبوتستريم. مرة واحدة لديك إنبوتستريم، يمكنك قراءة كل وحدات البايت ومعالجتها ولكن تحتاج إلى. وساس يجعل من السهل التعامل مع رسائل سواب مع حمولة البيانات الثنائية الأمثل. دعونا نلقي نظرة على مدى سهولة العمل مع متوم على العملاء. التعامل مع رسالة متوم في عميل ثيريس لا السحر للتعامل مع استجابة خدمة الويب موموم. لقد رأينا بالفعل كيفية إعداد الطلب. في الشكل 8 ترى كيفية التعامل مع استجابة تحتوي على البيانات الثنائية الأمثل مع متوم. مرة أخرى المفتاح هنا هو استخدام أسيوم أبي. فإنه يتيح لنا معالجة البيانات الثنائية كعقدة نصية، ومن ثم استخدام داتاهاندلر للحصول على إنبوتستريم إلى البيانات. مرة أخرى، مرة واحدة لديك إنبوتستريم، يمكنك معالجة البيانات ولكن تحتاج. لقد رأينا كيف يوفر متوم مزيج مثالي من توحيد سواب والكفاءة لنقل البيانات الثنائية ضمن رسالة خدمة ويب. رأينا كيف WSO2 وساس تنفذ مواصفات متوم باستخدام Axis2. أخذنا نظرة على كيفية إعداد كل من خوادم خدمة الويب والعملاء على حد سواء إرسال واستقبال رسائل محسنة متوم. الآن لدينا كل ما نحتاج إليه لإضافة البيانات الثنائية إلى خدمات الويب باستخدام WSO2 وساس. كنت ترغب في تحميل WSO2 وساس. قراءة حول أحدث الميزات في WSO2 وساس 2.0. تعلم من والتفاعل مع المجتمع WSO2 على ويكي وساس. تعرف على تعريض خدماتك كخدمات ويب بسهولة مع Axis2. تعلم كيف يمكن Axis2 تمكين التصاميم سوا الخاص بك في المادة المطور سوا مع Axis2. تعلم كل شيء عن محور التشغيل البيني مع تطبيقات خدمة ويب أخرى في هذا الإدخال في مدونة تسس التوافقية. الغوص في أكسيوم أبي في مقالة ديفيلوبروركس الحصول على أقصى استفادة من معالجة شمل مع أكسيوم. قراءة كل شيء عن شوب و متوم في هذا بلوق دخول مارك نوتنغهام. قابلية التشغيل البيني هو اسم اللعبة عندما يتعلق الأمر بخدمة الويب، لذلك تعلم عن استخدام متوم مع في المادة إرسال الملفات في قطع مع متوم خدمات ويب و 2.0. نبذة عن الكاتب مايكل غالبين هو مهندس معماري في موقع ئي باي في سان خوسيه، كاليفورنيا. هيس تم تطوير البرمجيات منذ عام 1998، ويحمل درجة في الرياضيات من معهد كاليفورنيا للتكنولوجيا.
No comments:
Post a Comment