ما الصابون العميل المكتبات موجودة الثعبان, وأين هي الوثائق بالنسبة لهم ؟ [مغلقة]

StackOverflow https://stackoverflow.com/questions/206154

  •  03-07-2019
  •  | 
  •  

سؤال

أنا لم تستخدم الصابون قبل و أنا نوعا ما جديد على الثعبان.أنا أفعل هذا من أجل الحصول على نفسي تعرف مع كل من التكنولوجيا.لقد قمت بتثبيت SOAPlib و لقد حاولت قراءة العميل وثائق, ولكن أنا لا أفهم ذلك جيدا.هل هناك أي شيء آخر يمكن أن ننظر إلى الذي هو أكثر ملاءمة كونه الصابون العميل مكتبة الثعبان ؟

تحرير:فقط في حال كان يساعد, أنا باستخدام بيثون 2.6.

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

المحلول

تحديث (2016):

إذا كنت بحاجة فقط الصابون العميل, هناك وكذلك الحفاظ على المكتبة يسمى zeep.وهو يدعم كل من بيثون 2 و 3 :)


تحديث:

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


للأسف, في هذه اللحظة, لا أعتقد أن هناك "أفضل" الثعبان الصابون المكتبة.كل من تعميم تلك المتاحة له إيجابيات وسلبيات.

أقدم المكتبات:

  • والصابون:كان "أفضل" ، ولكن لم يعد الحفاظ عليها.لا يعمل على بايثون 2.5+

  • ZSI:مؤلمة جدا للاستخدام, و تطور بطيء.لديها وحدة تسمى "SOAPpy" ، والذي يختلف من الصابون (أعلاه).

"أحدث" المكتبات:

  • رغوة الصابون:جدا Pythonic, وسهلة لإنشاء WSDL طويلا الصابون العملاء.خلق الصابون خوادم هو قليلا أكثر صعوبة.(هذه الحزمة لا يعمل مع Python3.بالنسبة Python3 ترى رغوة الصابون-py3)

  • رغوة الصابون-py3:على Python3 نسخة من رغوة الصابون

  • spyne:إنشاء خوادم السهل ، وخلق عملاء قليلا أكثر تحديا.وثائق تفتقر إلى حد ما.

  • لادون:إنشاء خوادم هو مثل الكثير في soaplib (باستخدام الديكور).لادون يكشف المزيد من الواجهات من الصابون في نفس الوقت دون اضافية رمز المستخدم المطلوبة.

  • pysimplesoap:خفيفة الوزن جدا ولكن مفيد لكل من العميل و الخادم - يتضمن web2py server تكامل السفن مع web2py.

  • SOAPpy:متميزة من التخلي عن SOAPpy التي استضافت في ZSI الرابط أعلاه, هذا الإصدار كان في الواقع تحتفظ حتى عام 2011 ، الآن يبدو أن التخلي عنها أيضا.
  • soaplib:من السهل استخدام بيثون مكتبة الكتابة و الدعوة الصابون خدمات ويب.Webservices مكتوبة مع soaplib بسيطة وخفيفة الوزن تعمل بشكل جيد مع غيرها من الصابون التنفيذ ، ويمكن نشر WSGI التطبيقات.
  • osa:بسرعة/سليم من السهل استخدام الصابون بيثون مكتبة العميل.

المذكورة أعلاه, لقد استخدمت رغوة الصابون شخصيا, أنا أحب ذلك كثيرا.

نصائح أخرى

أنا اتبعت نصيحة أخرى الإجابات على هذا السؤال و أعطى رغوة الصابون المحاولة.بعد استخدامه "في غضب" أنا يجب أن نتفق على:رغوة الصابون هو لطيف جدا!موصى به للغاية!

قمت بتشغيل إلى مشاكل الاتصال الشبكي القائم على خدمات الشبكة العالمية من وراء الوكيل.في وقت كتابة هذا التقرير ، وهذا يؤثر على كل الثعبان على شبكة الإنترنت-خدمة العملاء التي تستخدم urllib2, لذا سوف وثيقة الحل هنا.

على urllib2 وحدة الشحن مع بيثون 2.6.2 و أدناه لن يصدر CONNECT إلى وكيل HTTPS-أكثر-HTTP-وكيل الدورات.هذه النتائج في مهلة طويلة ، أو إذا كنت محظوظا, خطأ أن تبدو مثل:

abort: error: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol

كان هذا issue1424152 على الثعبان تعقب علة.هناك بقع تعلق على تقرير الشوائب التي سيتم إصلاح هذا في بيثون 2.x و بيثون 3.x. قضية الثابتة بالفعل.

وكان لي تجربة جيدة مع رغوة الصابون https://fedorahosted.org/suds

والمستخدمة TestSuite من وثائق.

ورغوة الصابون هو الطريق للذهاب، لا شك في ذلك.

وفقط لتحذير FYI للأشخاص الذين يبحثون في رغوة الصابون، حتى يتم حل هذه التذكرة، رغوة الصابون لا يدعم "اختيار" العلامة في WSDL:

https://fedorahosted.org/suds/ticket/342

وانظر: وعلامة الاختيار

ورغوة الصابون سهلة الاستخدام، ولكن لم يتم ضمان أن تكون إعادة الوافد. إذا كنت حفظ الكائن العميل WSDL () حولها في التطبيق الخيوط من أجل أداء أفضل، وهناك بعض المخاطر التي ينطوي عليها. الحل لهذه المخاطر، وطريقة استنساخ ()، يلقي غير قابل للاسترداد بيثون 5508 علة، والذي يبدو للطباعة ولكن ليس رمي حقا استثناء. يمكن أن يكون مربكا، لكنه يعمل. فإنه لا يزال حتى الآن أفضل عميل بيثون SOAP.

وأصدرنا مكتبة جديدة: PySimpleSOAP ، أن يقدم الدعم لعميل بسيطة وظيفية /الخادم. ومن أهداف هي: سهولة الاستخدام والمرونة (لا توجد فصول دراسية، رمز يتم إنشاؤه تلقائيا أو أكس مطلوب)، التأمل WSDL وتوليد، WS-I الامتثال القياسية، والتوافق (بما في ذلك جافا AXIS، وصافي وجبوس WS). يتم تضمينه في Web2Py لتمكين حلول كاملة كومة (تكملة غيرها من البروتوكولات المدعومة مثل XML_RPC، JSON، AMF-RPC، الخ.).

إذا كان شخص ما تعلم SOAP أو يريدون تحقيق ذلك، وأعتقد أنه هو خيار جيد للبدء.

وأعتقد soaplib وإهمال العميل SOAP لها ( 'المرسل') لصالح رغوة الصابون. في هذه المرحلة يتركز soaplib على أن تكون إطارا خادم الويب SOAP الملحد ( 'المستقبل'). حاليا soaplib هو قيد التطوير نشطة وعادة ما يتم مناقشتها في القائمة البريدية SOAP بيثون:

http://mail.python.org/mailman/listinfo/soap

كما اقترحت هنا أنصحك لفة الخاص بك.إنه في الواقع ليس من الصعب وأظن أن السبب ليس هناك أفضل الثعبان الصابون المكتبات هناك.

ورغوة الصابون جيدة جدا. حاولت SOAPpy ولكن لم تحصل على عمل في غاية بالطريقة التي كنت بحاجة في حين رغوة الصابون عملت الى حد كبير على الفور.

في بلدي الاستنتاج لدينا هذا:

الصابون جانب العميل:

استخدام فقط رغوة الصابون-jurko (تحديث 2016) رغوة الصابون جيدا صيانتها وتحديثها.

تحديث 06/2017: رغوة الصابون-jurko المكتبة ليست محدثة ، على ما يبدو التخلي عن,

أنا اختبرت zeep المكتبة ولكن حصلت القيود حول الرموز, الآن فقط دعم UsernameToken انا عن علة لخلق الطابع الزمني رمز المؤلف تحديث رمز إلى إصلاحه.

Zeep بداية جيدة و جيدة الوثائق لذا هاجروا مؤخرا قانون بلدي من رغوة الصابون zeep و يعمل بشكل جيد.

الصابون جانب الملقم:

لدينا TGWS, soaplib (pysimplesoap لم تختبر) IMHO استخدام ومساعدة soaplib يجب أن يكون اختيار.

أطيب التحيات ،

وهذا يمكن أن يساعد: HTTP: //users.skynet كن على / pascalbotte / RCX-WS-وثيقة / python.htm # SOAPPY

ولقد وجدت أنه من خلال البحث عن wsdl وpython، مع الكائن العاقل، ان كنت بحاجة إلى وصف اختصار لخادم SOAP للقيام بأي مغلفة العميل مفيد ....

ونحن قد تستخدم SOAPpy من بيثون خدمات الويب ، ولكن يبدو أن الزامل للحديد (نفس المصدر) هو استبدالها.

والدردشة باستخدام SOAPpy مع بايثون 2.5.3 في وضع الإنتاج.

واضطررت الى يدويا تحرير اثنين من الملفات في SOAPpy (شيئا عن قانون رأس يجري في المكان الخطأ) ولكن بخلاف ذلك عملت وما زالت تفعل ذلك بشكل موثوق للغاية.

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