2013-03-07 1 views
0

Я пытаюсь сделать POST для веб-службы. Я использую класс WebClient и вызывая метод uploadstring. Это отлично работает, пока веб-служба, которую я вызываю, не ожидает некоторых данных, особенно массива json. Я пытаюсь выяснить, в каком формате должны находиться данные, чтобы веб-служба принимала и потребляла его должным образом. Пример:POST с использованием метода uploadstring для вызова веб-службы и передачи массива json

WebClient myWebClient = new WebClient(); 
string resp = myWebClient.UploadString("www.myUrl.com", "POST", "someDataToSend"); 

Любая помощь здесь будет оценена!

веб-сервис (vb.net) вызывается принимает KeyValuePair:

<OperationContract(), WebInvoke(BodyStyle:=WebMessageBodyStyle.WrappedRequest, Method:="POST", RequestFormat:=WebMessageFormat.Json, ResponseFormat:=WebMessageFormat.Json)> _ 
Public Function DoSomething(ByVal myKeyValuePair() As KeyValuePair(Of String, String)) As String 

ответ

0

Я нашел решение для этого. Данные должны быть в формате JSON буквально:

"{" Тип ": [{" ключ ":" CTYPE " "значение": "Возраст"}]}"

я создал класс сериализованная затем, а затем заключили в квадратные скобки квадратные скобки.

Public Class cType 
    Private _key As String 
    Public Property Key() As String 
     Get 
      Return _key 
     End Get 
     Set(ByVal value As String) 
      value = "cType" 
      _key = value 
     End Set 
    End Property 
    Public value As String 
End Class 

Dim objType As cType = New cType 
objType.value = "Age" 
Dim myData As String = deserializer.Serialize(New With {.cType = objType}) 
myData = myData.Insert(12, "[") 
myData = myData.Insert(myData.Length - 1, "]") 
Смежные вопросы