سؤال

أحتاج إلى استهلاك خدمة ويب خارجية من برنامج VB6 الخاص بي.أريد أن أكون قادرًا على نشر برنامجي بدون مجموعة أدوات SOAP، إن أمكن، ولكن هذا ليس مطلبًا.ليس لدي مصدر خدمة الويب ولم أقوم بإنشائه.إنها خدمة يقدمها البائع.

لذا، بعيدًا عن مجموعة أدوات SOAP، ما هي أفضل طريقة لاستهلاك خدمة الويب من VB6؟

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

المحلول

أستخدم هذه الوظيفة للحصول على البيانات من خدمة الويب.

Private Function HttpGetRequest(url As String) As DOMDocument
    Dim req As XMLHTTP60
    Set req = New XMLHTTP60
    req.Open "GET", url, False
    req.send ""

    Dim resp As DOMDocument
    If req.responseText <> vbNullString Then
        Set resp = New DOMDocument60
        resp.loadXML req.responseText
    Else
        Set resp = req.responseXML
    End If
    Set HttpGetRequest = resp
End Function

نصائح أخرى

يتمتع .NET بدعم جيد لخدمات الويب منذ اليوم الأول، لذا يمكنك تطوير منطق عميل Web Service الخاص بك في .NET كمكتبة/تجميع .dll واستخدامه في تطبيق VB6 عبر COM Interop.

بافتراض أنك تعمل بنظام التشغيل Windows XP Professional أو إصدار أحدث، فإن إحدى الطرق المثيرة للاهتمام هي استخدام لقب SOAP.إليك مثال مرفوع من بعض صفحات MSDN.لا أعرف ما إذا كانت هذه الخدمة بالتحديد تعمل أم لا، لكنك حصلت على الفكرة...

   set SoapObj = GetObject
       ("soap:wsdl=http://www.xmethods.net/sd/TemperatureService.wsdl")
   WScript.Echo "Fairbanks Temperature = " & SoapObj.getTemp("99707")

تعمل هذه الآلية أيضًا من VBScript.وهو لطيف.

صابون الجيب يعمل بشكل جيد جدا.لإنشاء الكائنات الخاصة بك، استخدم مولد WSDL.باستخدام هذا ليس عليك تحليل أي شيء بنفسك، بالإضافة إلى أن كل شيء جميل ومكتوب بقوة.

راجع هذه المقالة بقلم Scott Swigart في مركز موارد MSDN VB 6.0.

استدعاء خدمات الويب من Visual Basic 6، الطريقة السهلة

لقد حققت قدرًا من النجاح حتى الآن باستخدام PocketSOAP للاتصال بـ Salesforce API.لم أتمكن من استخدام معالج WSDL لأنه يقوم بإنشاء أسماء ملفات لفئة مجمّعة باستخدام أول 23 حرفًا من أسماء الاستدعاءات، وينتج عن ذلك تكرارات.ومع ذلك، فإن PocketSOAP يعمل بشكل جيد بالنسبة لي بدون المعالج، وهو أسهل بكثير من استخدام XMLHTTP مع DOMDocument.

لقد بحثت أيضًا في إنشاء غلاف في .NET أو استخدام إحدى مكتبات "MS Office {MSO version} Web Services Toolkit"، ولكن كانت هناك مشكلات كبيرة في النشر مع هذه الخيارات.PocketSOAP هو ملف COM DLL بسيط، ولا يعتمد على إصدار معين من MS Office، وهو مرخص بموجب MPL.

يمكن القول إن مجموعة أدوات SOAP هي أفضل ما يمكنك الحصول عليه.إن محاولة القيام بنفس الشيء بدونه تتطلب جهدًا إضافيًا كبيرًا.يجب أن يكون لديك أسباب جدية للقيام بذلك.

ليس من السهل حقًا قراءة تنسيق رسائل SOAP أو كتابتها يدويًا، ويُنصح بشدة باستخدام مكتبة خارجية.

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