GET

2011-03-14 19 views
6

का उपयोग कर एएसएमएक्स वेब सेवा में काम नहीं कर रहे निरर्थक प्रकार वाले तरीके HTTP GET विधि का उपयोग करने के लिए मेरे पास एक एएसएमएक्स वेब सेवा स्थापित है। सरल स्ट्रिंग और इंट पैरामीटर लेने वाली सरल विधियां ठीक काम कर रही हैं, और मैं MyService.asmx/MethodName?Param=Value पर कॉल कर सकता हूं और एक्सएमएल में प्रतिक्रिया प्राप्त कर सकता हूं।GET

हालांकि, जब मैं एक तरीका है जिसके एक नल इंट (अर्थात int?) है, मैं इस त्रुटि मिलती है:

< विधि नाम> वेब सेवा विधि नाम मान्य नहीं है।

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

मैं सराहना करता हूं कि जटिल प्रकार जैसे लिस्ट या कस्टम क्लासेस इत्यादि जीईटी का उपयोग करके काम नहीं करेंगे, लेकिन मुझे लगता है कि यूआरएल से छोड़ा गया था या नहीं, यह पता लगाने के द्वारा कि एक साधारण नामुमकिन int या nullable डेटाटाइम को मूल रूप से संभाला जा सकता है। मान लीजिए कि यह इतना आसान नहीं है!

कोई सलाह या कामकाज की सराहना की जाएगी।

धन्यवाद, टिम

उत्तर

1

नल पूर्णांक बहुत जटिल नहीं है। इसे

<s:element minOccurs="1" maxOccurs="1" name="Param" nillable="true" type="s:int" /> 

WSDL में उत्पादन करना चाहिए। this post देखें। त्रुटि कुछ और के लिए हो सकती है, शायद?

0

यदि आपके पास ऐसा int है तो आपको जेसन टेक्स्ट का उपयोग करना होगा? तर्क क्योंकि यह एक ऑब्जेक्ट प्रकार प्राचीन प्रकार नहीं है। त्रुटि भ्रामक है क्योंकि सेवा मौजूद है।

यदि आपके पास int है? एक पैरामीटर के रूप में आपको "{'a': null}" को सर्वर या सामग्री के रूप में कुछ पूर्णांक के रूप में सामग्री के रूप में भेजना होगा।