سؤال

قمت بتطوير خدمة ويب ISAPI في Delphi 7 وأحتاج إلى تثبيته في خادم حتى يمكن استهلاكه بواسطة تطبيق C #.

قمت بنسخ DLL من ISAPI في مجلد وإنشاء دليل ظاهري في IIS من الخادم.

عندما استدعاء خدمة الويب من المتصفح ( http://localhost/webservice/wservice/ws.dll ) الموقع الإلكتروني لخدمة الويب التي تنشئها Delphi لإظهار الافتراضي. إذا قمت بإنشاء مرجع ويب في تطبيق C #، فسيتم تحميل المرجع بشكل طبيعي باستخدام عنوان URL الذي قدمته أعلاه.

المشكلة هي أنه عندما قمت بتصحيح تطبيق تطبيق C # خطوة بخطوة، فإنه يستدعي دالة داخل خدمة Delphi Web لكنها لا تفعل أي شيء. خدمة الويب لا تعاد أي شيء.

أتذكر أنني حصلت على مشكلة مماثلة من قبل وطريقة إصلاحها هي نسخ بعض DLL DLL إلى مجلد System32 من الخادم الذي كنت أقوم بتثبيت خدمة الويب، لكنني لا أتذكر الملفات التي كنت بحاجة إلى نسخها وإذا كان ذلك يحل المشكلة بالفعل.

تستهلك خدمة الويب لا يرمي أي استثناء داخل تطبيق .NET. انها فقط لا تفعل أي شيء. الوظائف تعرض شيئا.

أي أفكار؟

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

المحلول

كانت المشكلة ما يلي.

يتم استخدام خدمة الويب الخاصة بي لاستهلاك خدمة Web Delphi Gair الأخرى. اضطررت إلى تطوير خدمة الويب هذه لأن هناك تطبيق .NET الذي يجب أن يستهلك خدمة Web Delphi في Delphi الأخرى ولكن الرجل الذي قام بتطوير أنواع البيانات المعقدة التي لا تدعمها .NET. لذلك اضطررت إلى تطوير خدمة الويب الخاصة بي للعمل كترجمة. لقد استخدمت .NET أنواع البيانات المدعومة في هذا التطبيق و .NET يستهلك خدمة ويب دلفي فقط لاستهلاك خدمة ويب الرجل الآخر. إنه نوع من الفوضوي لكنني لم أتمكن من إقناع الرجل الآخر باستخدام أنواع البيانات القياسية. تحتوي خدمة الويب الخاصة بي على روتين يأخذ عنوان URL الصابون من خدمة الويب الأخرى من ملف Ini. لم أتذكر أنني وضعت هذا الروتين للبحث عن ملف INI في مسار محدد.

الروتين يشبه هذا:

giveacodicetagpre.

كان لدي ملف INI في موقع مختلف، لذلك عندما حاولت خدمة الويب الخاصة بي استيعاب خدمة الويب الأخرى على الويب، كانت عنوان URL في خدمة الصابون في خدمة الويب الخاصة بي كانت فارغة. لقد غيرت الروتين للبحث عن ملف INI في نفس المجلد حيث يتم استضافة خدمة الويب الخاصة بي ويعمل بشكل جيد الآن. لا حاجة لنسخ أي ملفات في مجلد System32. كانت فوضى بلدي.

شكرا لكم جميعا على مساعدتكم؛)

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