2010-12-09 15 views
12

मुझे एक विशेष वेब-सेवा विधि कॉल करने का प्रयास करते समय "Unspecified error" मिल रहा है। XMLSpy का उपयोग करके मुझे पता चला कि पैरामीटर ऑब्जेक्ट को क्रमबद्ध नहीं किया गया है।एक्सएमएल सीरियलाइजेशन: ऑब्जेक्ट को क्रमबद्ध नहीं किया गया

उत्पन्न serializer स्रोत में मैं लाइनों पर ध्यान दें:

if (!needType) { 
    System.Type t = o.GetType(); 
    if (t == typeof(global::moonraker1.Conference)) { 
    } 
    else { 
    throw CreateUnknownTypeException(o); 
    } 
} 

हालांकि, wsdl आयात एक इकाई moonraker1.BookingService बुलाया बनाया था, इसलिए पैरामीटर वस्तु के प्रकार के वास्तव में moonraker1.BookingService.Conference है। ऐसा लगता है कि पूरी तरह से संभव है कि इसीलिए ऑब्जेक्ट को क्रमबद्ध नहीं किया गया है, हालांकि मुझे समझ में नहीं आता कि संदेश अभी भी वेब सेवा में क्यों भेजा जा रहा है।

क्या कोई इस पर कोई प्रकाश डाल सकता है? या मैं पूरी तरह से गलत ट्रैक पर हूँ?

+0

डेल्फी के किस संस्करण का उपयोग कर रहे हैं? – Sam

+3

वह कोड डेल्फी नहीं है, क्या यह प्रश्न सही ढंग से टैग किया गया है? –

+0

क्या पैरामीटर ऑब्जेक्ट wsdl में वैकल्पिक के रूप में चिह्नित है? यदि ऐसा है, तो आपको इसे क्रमबद्ध करने के लिए 'पैरामीटर स्पेसिफाइड' फ़ील्ड को सही पर सेट करना होगा। – Ryan

उत्तर

1

अब मुझे यकीन नहीं है कि यह ऐसा है, लेकिन ऐसा लगता है कि कुछ .NET कोड हैं। शायद उत्तर उतना सरल है जितना कि आपको डिफ़ॉल्ट कन्स्ट्रक्टर अपने प्रकार में होना चाहिए।

.NET में क्रमबद्धता से मेरा अपना अनुभव है कि समय के सबसे यह सिर्फ इसलिए कि मैं एक कस्टम निर्माता लिखा है और उसके बाद एक डिफ़ॉल्ट निर्माता बाद में लिखना भूल है ..

संबंधित मुद्दे