كيفية تنفيذ الصابون والتكنولوجيا
شأنها شأن بقية ، والصابون والمنفذين على حد سواء توليد تطلب والمناوله ثم رد. في حين ان التعامل مع الصابون هو استجابة مماثلة لبقية ونتيجة لذلك ، توليد الصابون طلب مختلف تماما. توليد طلباتوخلافا لبقية ، بل هي من النادر ان نرى الطلبات المتولده يدويا ، ورغم انه لا يزال يتعين القيام به. عموما ، اما الصابون الطلبات ولدت مع اداة عامة (مثل الكمثرى او nusoap : الصابون) او مع اي طلب محدد او الطبقة او الوحدة. دليل الجيل المشموله هنا (فهم جيد لكيفية عمله سيأتي في مفيدة) ، وكذلك nusoap. - تطبيق ادوات محددة ذاهبه الى ان تتجاهله ، لبضعة اسباب. فهي بحكم تعريفها تطبيق محددة ، وبالتالي ليست مفيدة جدا في هذه المادة عام. ثانيا ، أدوات وصلات وظيفيه متفاوتة المستويات ، ولكي نفعل هذا الموضوع العدالة الأمر سيتطلب في العمق نظرة. وأخيرا ، وأنا اعتقادا راسخا انه اذا يمكنك الرقم الى كيفية جعله العمل مع nusoap (أو الخام ، فيما يتعلق بهذا الامر) ، يمكنك ان تحصل على تطبيق محدد لاداة العمل ايضا. دليل جيلتوليد طلبات الصابون يدويا ليست مختلفة جدا عن توليد بقية الطلبات. عملية توليد الطلب وفعلا يحيل انها تنقسم بين اثنين وظائف متميزه ، لما تبديه من الأغراض. لتوليد الطلب في حد ذاته ، وقد اخترت استخدام pregenerated الخيط ، ومجرد تسكين القيم المطلوبة في وقت التشغيل. هناك أكثر تعقيدا من الخيارات (مثل إنشاء وثيقة داخل simplexml ، او انه خلق من العدم كل البعيد) ، لكنها ليست حقا المطلوبة : Functioncreaterequest (devkey دولار ، مبلغ العمل ، ونوع دولار ، دولار الكلمات الرئيسية) كما يمكنك ان تقول ، ما هو الا عن وظيفة بسيطة مثل يمكنها ان تحصل عليها. علما ان المتغيرات لم تكن - موقع مشفر ؛ ان التابع لانهم ليسوا ارسالهم في موقع (اصوات واضحة ، بل انها أيضا من السهل ان يفوت). فعلا ، واصفا API ان يحيل الطلب ينطوي على الاقتراض من بعض المدونه الاولى بقية مثلا ، لأن الطلب سيرسل الخام هذه المرة. Functioncallsoapapi دولار (بيانات) انني يمكن ان يكون مجرد الماهوله مبلغ المضيفه ومسار المتغيرات دولار في البداية ، ولكن هذا ينبغي ان يكون اكثر وضوحا. في نظام الانتاج ، عليك ان تنقذ بضع دورات من قبل وحدة المعالجه المركزية hardcoding هذه العناصر. فب دولار = fsockopen ($ المضيفه ، 80) ؛ هذه الكتلة هي متطابقه تقريبا الى المثال السابق. المثال السابق كان طلب وظيفة ، في حين ان هذا هو الحصول على الطلب ، أن التغيير سيكون تمليها ايا API أنت مع العمل. محتوى راسيه من نوع يختلف الى يعكس بدقة ما كنت تقوم بارسال هذه المرة وطبعا لديك دولار لارسال البيانات ، وحتى المحتوى - طول لن يكون 0. دولار استجابة = "" ؛ هذا الباب هو ايضا مطابق لبقية مثلا. غلاف كل تلك المهام ، لاستعادة ردا هو الا بالكاد يذكر : طلب createrequest دولار = ( '123' ، 'البحث' ، 'الكتاب' ، و 'الاسلوب) ؛ لم يكن من الصعب جدا! وخلافا لبقية ، لا يمكنك ان مجرد استخدام file_get_contents () تضرب API ، لأنك بحاجة الى ارسال أكس أم أل مع طلب الهيءه. File_put_contents متعود)) اما العمل ، لأنك بحاجة الى رد (file_put_contents () عودة مداخلة احد) ، ولكن هناك خيارات أخرى. كمثري (http://pear.php.net) ، على سبيل المثال ، لديه مجموعة من http:// - وظائف محددة يمكن ان يتخذ البعض من الصداع يدويا من خلق طلب من يديك ، ولكن لا يزال يسمح لك كل المرونة لك مع انشاء دليل. مع الجيل nusoapمن اجل اي شيء آخر غير طلقة واحدة البرنامج ، واود بالتأكيد ان يوصي الذهاب مع بعض نوع من الصابون وحده لجعل الحياة اسهل الترميز الخاص بك. على الرغم من ، اذا قمت بتشغيل الى المشاكل ، وتتبع لها أسفل يمكن ان تكون شيئا من الالم. احب باستخدام صندوق التنمية المحلية خلال التنمية ، بحيث ينبغي ان تبدأ الامور الذهاب بميل يمكنني استخدام علبة الشم لالقاء نظرة على الطلب / الاستجابة في شكل خام. المفاهيميه ، باستخدام nusoap ليست مختلفة جدا من اتمام المهمة يدويا. تتم تهيئة الجسم ، والحموله هو خلق ، ويرسل الطلب. الفارق الاساسي هنا هو ان تبذل كل nusoap القذره العمل. يتطلب ('../ليب / nusoap.php ') ؛ هنا مبلغ العميل الجسم من اجلها. وهناك خياران المتاحة عندما خلق جديد soapclient : يمكنك اما تحديد ملف wsdl للخدمة (ومجموعة الثانية لبارامتر الحقيقي) ، او تحديد نقطة انتهاء للدعوة (ومجموعة الثانية لبارامتر كاذبة). كلما كان ذلك ممكنا ، لانني أحب استخدام ملف wsdl ؛ فان nusoap وحده يمكن التقاط بعض الاخطاء الخاصة بك وبتلك الطريقة ، وتضمن أن جميع أنواع مختلفة طلب الذهاب الى تصحيح نقطة انتهاء. $ Params = صفيفه) اعداد معايير لانتقال بعض الشيء اسهل من اساليب في وقت سابق. دولار المجرد = 'http://library.example.com' ؛ واخيرا ، القليلة الماضية البارامترات هي مجموعة ، والدعوة الى اعتماد نفسها. المناوله ردالمناوله ردا على طلب من الصابون مرة اخرى هو ايضا لا تختلف عن بقية ردا على حد سواء - وترد في أكس أم أل نماذج مماثلة. الصابون وردا يحمل مظروف اضافية وعناصر الهيءه ، ولكن غالبا ما تقدم بيانات على نحو مماثل في داخل تلك العناصر. هناك بالطبع بعض الاختلاف بين المناوله رد من دليل وطلب من nusoap الطلب. كلتا الطريقتين ترد هنا. يدويا تحليل الاستجابةيقلد الناتج لدت مع بقية طلب استخدامات مدونة مماثلة ، مع بضعة تعديلات لتغليف مخطط المستخدمة مع الصابون. صدى "انت بحثت عن : ($ اكس ام أل -> الهيءه -> librarysearchresponse -> requestinfo -> الصدى "هنا هي حملتك ($ اكس ام أل -> الهيءه -> librarysearchresponse -> responseinfo -> resultcount) هذا سيولد متطابقه الناتج كما طلب بقية أظهرت في وقت سابق. ملاحظه اختلاف تركيب توظف البحث الكلمات الرئيسية. انها ليست سمة هذا الزمن ، حتى الوصول مختلفة. تحليل الاستجابة مع nusoapالوصول الجسم توفرها nusoap هو قليلا مختلفة عن الطرق المتبعه مع simplexml ، ولكن المعلومات الداخلية هيكل هو متماثله تماما. تعديل قانون للعمل مع وجوه nusoap الا يستغرق بضع لحظات. صدى "انت بحثت عن :". مع nusoap ، يتم الوصول الى البيانات الداخلية بنفس الطريقة الى حد كبير بوصفها طائفة النقابي ، وذلك بدلا من استخدام طريقة اوو -> الوصول الى الطفل العناصر ، وكذلك طائفة من المعلومات المدرجه. هذا العنصر سيكون الناتج بصورة مطابقه الى المثال السابق. الصابون وسيلة فعالة لسؤال ابيس عندما اضافية فوق المسموح بها. فإن تغليف تسمح لجميع عناصر سهلة القراءة ، والمتغير داخل نطاق الطلب. ايجاد الصابون تطلب يمكن بالسهوله كتابه بها مرة واحدة ، ثم عادل استبدال المتغيرات الرئيسية. وبدلا من ذلك ، فانه يمكن ان يكون ايضا انجازه باستخدام أداة مثل nusoap. الوصول الصابون استجابة يمكن انجازه في الكثير بنفس الطريقة التي يعامل بها بقية استجابة عندما طلب انجز يدويا. في حالة الطلبات انجزت مع nusoap ، هو الوصول الى طريقة هيكليا متطابقه ، مع فقط بضعة تغييرات طفيفة على النحو المستخدمة. هذا هو مقال اضافها ايمانويلا hedrick
|
|||
|