लौट रहा है मेरी डब्ल्यूसीएफ (एज़ूर क्लाउड) सेवा में, मैं JSON का समर्थन करना चाहता हूं। मैं यह देखने के लिए कुछ परीक्षण विधियां बना रहा हूं कि सब कुछ काम करता है या नहीं। मैं काम करने के लिए कहता है प्राप्त कर सकते हैं, लेकिन जब मैं एक साधारण मापदंड के साथ एक पोस्ट कर रहा हूँ मैं हमेशा मिल जाएगा:डब्ल्यूसीएफ जेएसओएन पोस्ट अनुरोध, सिंगल स्ट्रिंग पैरामीटर बाध्यकारी नहीं है और 400
The remote server returned an error: (400) Bad Request.
मैं एक पैरामीटर नहीं भेजते हैं, तो यह विधि पर अमल होगा, लेकिन साथ पाठ्यक्रम के पैरामीटर के रूप में एक शून्य मूल्य। मैंने JSON और WebMessageBodyStyle के विभिन्न प्रारूपों का प्रयास किया, लेकिन कोई भी काम नहीं कर रहा है।
यदि मैं पैरामीटर प्रकार को स्ट्रीम में बदलता हूं तो मुझे डेटा प्राप्त होता है, लेकिन मुझे इसे मैन्युअल रूप से deserialize करना है। यह जरूरी नहीं होना चाहिए?
इंटरफ़ेस:
[OperationContract]
[WebInvoke(UriTemplate = "Test",
Method = "POST",
BodyStyle = WebMessageBodyStyle.WrappedRequest,
RequestFormat = WebMessageFormat.Json,
ResponseFormat = WebMessageFormat.Json)]
string Test(string data);
Impl:
public string Test(string data)
{
return "result is " + data;
}
टेस्ट ग्राहक:
WebClient client = new WebClient();
client.Headers["Content-type"] = "application/json";
client.Encoding = System.Text.Encoding.UTF8;
string jsonInput = "{'data':'testvalue'}";
string postResponse = client.UploadString(postUrl, jsonInput);
Console.WriteLine("post response: " + postResponse);