हमारे पास एक स्थापित डब्ल्यूसीएफ एसओएपी सेवा है। इसका इंटरफ़ेस डब्लूएसडीएल में परिभाषित किया गया है, जिसमें से हमारे सर्वर के लिए सी # कक्षाएं उत्पन्न होती हैं (ग्राहक एक ही डब्लूएसडीएल से विभिन्न भाषाओं में क्लाइंट-साइड बाइंडिंग उत्पन्न करते हैं)। डब्ल्यूएसडीएल का एक मौजूदा संस्करण है, जिसे हम थोड़ा और पुराने संस्करण बदल सकते हैं, जिसे हम बिना किसी अपमान अवधि, परामर्श आदि के बदल सकते हैं या छोड़ सकते हैं। एसओएपी अनुरोध जटिल हो जाते हैं, जिसमें एक ही अनुरोध के भीतर एकाधिक एक्सएमएल नेमस्पेस होते हैं ।मौजूदा एसओएपी सेवा और नई कोणीय वेब ऐप
डब्ल्यूसीएफ एसओएपी सेवा में इसमें बहुत से "स्मारक" हैं, और हमें ऐसे नए वेब एप्लिकेशन के लिए जरूरी चीजें और रिपोर्टिंग सुविधाएं प्रदान की जाती हैं जिन्हें हमें बनाने की आवश्यकता है। हम उस ग्राहक के पक्ष के लिए AngularJS का उपयोग करने की उम्मीद करते हैं। लेकिन इन जटिल एसओएपी अनुरोध जावास्क्रिप्ट दुनिया में बनाना आसान नहीं है। अगर केवल हमारे पास आरईएसटी सेवा थी, तो हम कोणीय संसाधन सेवा का उपयोग कर सकते थे। यदि ऐसा नहीं है, तो एक सर्वर जो जेएसओएन से बात करता है, यद्यपि एसओएपी जैसी आरपीसी शैली में, काफी करीब दूसरे भाग में भाग लेगा।
मैं कैसे हमारे सर्वर और ग्राहक के बीच प्रतिबाधा बेमेल को कम किया जा सकता है के लिए विभिन्न विचारों लिया है। लेकिन कुछ भी जल्दी या आसान लगता है।
मैं के बारे में सोचा गया है: -
- एक नया बाकी सेवा लिखें। वास्तव में ग्राहक-पक्ष क्या चाहता है, लेकिन नए विकास का एक गंभीर टुकड़ा।
- WebHttp बाइंडिंग कुछ पेश करने लगती है। लेकिन मुझे लगता है यह कस्टम विशेषता के सी # मार्कअप की आवश्यकता की तरह (कैसे प्राप्त करने के लिए जब हमारे सी # डबल्यूएसडीएल से उत्पन्न होता है) और संभवतः हमारे जटिल प्रकार समर्थन नहीं करेंगे
- प्राप्त या अमूर्त दूर बुला सोप करने के लिए क्लाइंट साइड जे एस का भार बारे में सेवाएं। लेकिन, जब तक यह डब्लूएसडीएल से स्वत: जेनरेट नहीं किया जा सकता है, यह लिखने के लिए क्लाइंट-साइड कोड की एक बड़ी मात्रा है।
- सर्वर के लिए एक IDISpatchMessageFormatter लिखें, जो मैंने खोजे संदेशों के कुछ JSON प्रारूप को स्वीकार करने के लिए। मुश्किल लगता है, विशेष रूप से IDispatchMessageFormatter को कार्यान्वित करने और एकीकृत करने वाले लोगों के अच्छे उदाहरण आने के लिए मुश्किल लगते हैं।
- JSON और XML के बीच स्वैप करने के लिए एक संदेश एन्कोडर लिखें। लेकिन यह वास्तव में एक एन्कोडिंग ऑपरेशन नहीं है, क्योंकि जब मैंने इसे लिखने की कोशिश की तो बहुत स्पष्ट हो गया!
मैं सुझाव के लिए खोज कर रहा हूँ।
कितने आपरेशन अनुबंध (विधि) अपने WCF सर्वर को उजागर करता है? क्या आप एक वेबएपीआई सर्वर लिख सकते हैं जो डब्ल्यूसीएफ सेवा कार्यान्वयन कक्षा (1 वेब विधि: 1 ऑपरेशन अनुबंध) को एम्बेड और कॉल करता है और जेसन के रूप में अस्थायी रूप से डेटा ऑब्जेक्ट्स को वापस लाता है (यानी यह ऑपरेशन अनुबंधों की संख्या और जटिलता को संभव है)? यह संभव होना चाहिए, हालांकि यदि आप अपने सेवा संचालन में बहुरूपता पर भरोसा करते हैं तो उनको JSON (AFAIK) में दोहराया नहीं जा सकता है। –
सात सेवाएं हैं और कुल 50 ऑपरेशन हैं। – PeteAC
एक बाकी सेवा लिखने के बारे में कैसे साबुन सेवा पर कॉल का प्रतिनिधि होगा? –