كيفية الوصول إلى حمولة MTOM عند استخدام الصابون الموجهة المستند؟
-
03-10-2019 - |
سؤال
أحتاج إلى دمج خدمة صابون خارجية في نظامي. لدي فقط WSDL ولا يوجد خادم اختبار حتى الآن. لقد اكتشفت كيفية إنشاء كوب من الخادم باستخدام CXF من أجل إنشاء خادم يسخر للتنفيذ.
على جانب العميل ، يبدو أن WebServiceTemplate Spring WebServices هو المطابقة المثالية لحالة الاستخدام الخاصة بي. اثنان من الطرق ترسل مرفقات MTOM نتيجة لذلك. ولست متأكدًا مما سأراه عند النظر إلى مستندات الاستجابة. هل يتعامل Spring-WS مع المرفق بشكل غير شفاف؟ أو هل أحتاج إلى الوصول إليه بطريقة خاصة؟
وكيف أقوم بإنشاء مرفق MTOM على الخادم مع فئات CXF التي تم إنشاؤها؟
المحلول
تعمل Spring-WS على تنفيذ الصابون الأساسي ، إما SAAJ أو Axiom. Saaj هو الافتراضي ، لكنني لا أعتقد أنه يدعم MTOM (لكنني سعيد بتصحيح ذلك). Axiom هو تنفيذ الصابون منخفض المستوى من Apache Axis2 ، و IT يفعل دعم MTOM.
لذلك أوصي بقراءة دعم Spring-WS لـ Axiom ، ودعم Axiom لـ MTOM.