0

Web サービスに対して POST を実行しようとしています。WebClient クラスを使用して、uploadstring メソッドを呼び出しています。これは、私が呼び出す Web サービスが何らかのデータ、特に json 配列を期待するまでは正常に機能します。Web サービスがデータを適切に受け入れて消費するために、データの必要な形式を見つけようとしています。例:

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

ここで何か助けていただければ幸いです!

呼び出される Web サービス (vb.net) は、キーと値のペアを受け取ります。

<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
4

1 に答える 1

0

これに対する解決策を見つけました。データは文字どおり json 形式である必要があります。

"{"Type":[{"key":"cType","value":"Age"}]}"

私はそれをシリアライズしたクラスを作成し、角括弧を仕上げました。

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, "]")
于 2013-03-07T20:25:03.997 に答える