سؤال

قبل، لقد نشرت تطبيقا واحدا على Tomcat 6.0.24 وكان يعمل بشكل جيد.الآن، لقد قمت بنشر محور Webservice وأول applacaition هو إعطاء الخطأ أثناء إرسال البريد.أنا أستخدم Java6 وللرسل بالبريد مع Mail-1.4.2.jar. giveacodicetagpre.

أيضا، إذا قمت بإزالة خدمة الويب من النشر ومحاولة تشغيل التطبيق، فهي تعمل دون أي مشكلة.أيضا، أنا قادر على استلام البريد.علاوة على ذلك، أود أن أضيف هو إذا قمت بنشر موقع Webservie على Tomcat المختلفة، ثم يتم رغب التطبيق.المشكلة هي فقط عندما تكون كلاهما على نفس الخادم في نفس الوقت.

هل كانت مفيدة؟

المحلول

آسف على الرد المتأخر. أنا قادر على تتبع السبب وراء هذه القضية. في خدمة الويب، أنا أستخدم Jaxws-RT-2.1.3.jar حيث يوجد فئة يسمى com.sun.xml.ws.Encoding.mimecoDec . في Mimecodec، هناك كتلة ثابتة. giveacodicetagpre.

الكتل الثابتة أعلاه توفر بعض أنواع MIME الافتراضية ل DCH وتم تنفيذها في بدء تشغيل WS. الآن، قبل إرسال البريد، يبحث الرمز عن نوع MIME باستخدام JAVAX.Activation، CommandMap (RT.JAR / Activation.jar). تم تجاوز تحميل نوع MIME المتوقع في هذه الحالة. سيعمل البريد فقط إذا كان نوع MIME إما من 4 أعلاه.

لذلك، في كل مرة قبل إرسال البريد، قمت بإعادة تعيين CommandMap فقط إلى الوظيفة المتوقعة باستخدام التعليمات البرمجية التالية وبدأت وظيفة البريد تعمل بشكل جيد دون أي مشكلة. giveacodicetagpre.

أيضا، عندما قمت بفحص الإصدار الأقدم من Jaxws-Rt.jar (2.1.1)، لم تكن الكتلة الثابتة موجودة هناك ولكن تم توفير الوظيفة نفسها من قبل بعض الفئة الأخرى (آسف لأنني لا أتذكر الاسم الآن).

أيضا، أثناء تصحيح الأخطاء، لاحظت أنه داخل javax.mactivation.mailcapcommandmap ، تم تحميل نوع mime من giveacodicetagpre.

و giveacodicetagpre.

لذلك، إذا كنا نقدم نوع MIME على المواقع المذكورة أعلاه، فيجب أيضا أن يعمل البريد (لم أختبر هذا).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top