سؤال

لقد قمت بتشغيل رمز خدمة ويب على الجهاز الخاص بي مع رمز العميل. كان يعمل بشكل جيد وتمكنت من تلقي مرفقات Dime المرسلة من خدمة الويب إلى العميل.

تستخدم خدمة الويب مرفقات WSE 2.0 و Dime. يجلس رمز العميل على نفس الجهاز الذي يتصل بخدمة الويب.

ومع ذلك ، عندما أذهب إلى نشر هذا على خادم Windows 2003 R2 ، على خط ResponseSoApContext.current.add (dimeattachment) فشل بسبب كون كائن ردود الفعل.

تمكنت رمز العميل من الاتصال بخدمة الويب كما أستطيع أن أرى في السجلات التي تحاول القيام بشيء ما.

هل سيكون هناك جدار حماية يوقف رمز العميل الذي يتلقى مرفق الدايم من خدمة الويب؟ أم أن هناك إعدادًا مفقودًا؟ هنا هو الرمز:

            DimeAttachment dimeAttach = new DimeAttachment(
            "application/octet-stream", TypeFormat.MediaType,
            streamObj);

            if (ResponseSoapContext.Current != null)
            {
                ResponseSoapContext.Current.Attachments.Add(dimeAttach);
            }
            else
            {
                throw new Exception("The ResponseSoapContext.Current object is null");
            }
هل كانت مفيدة؟

المحلول

اتضح أن الخادم قد تم تثبيت Microsoft WSE 2.0 SP2 حيث كان العميل يستخدم Microsoft WSE 2.0 SP3.

تم تثبيت Microsoft WSE 2.0 SP3 على الخادم وقامت بتحديث المراجع وكلها تعمل الآن.

نصائح أخرى

واجهت هذه المشكلة وحلتها من ملف Web.Config الخاص بي الخادم عن طريق إضافة بعض التكوينات حول WSE. my web.config (إعدادات مجردة لا تتعلق بـ WSE):

<?xml version="1.0"?>
<configuration>
  <configSections>
    <section name="microsoft.web.services2" type="Microsoft.Web.Services2.Configuration.WebServicesConfiguration, Microsoft.Web.Services2, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
  </configSections>

  <system.web>
    <webServices>
      <soapExtensionTypes>
        <add type="Microsoft.Web.Services2.WebServicesExtension, Microsoft.Web.Services2, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" priority="1" group="0" />
      </soapExtensionTypes>
    </webServices>
  </system.web>
  <microsoft.web.services2>
    <messaging>
      <maxRequestLength>1024000</maxRequestLength>
    </messaging>
    <diagnostics />
  </microsoft.web.services2>
</configuration>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top