0

残りのサービスを呼び出そうとしています..そのサービスはjsonオブジェクトを返します...リクエストを送信できますが、jsonをシリアル化できません...ここに私が試しているコードがあります

 Function Sendingrequest(Item As Object) As String


            Dim request As HttpWebRequest
            Dim response As HttpWebResponse = Nothing
            Dim res As StreamReader
            Try
                request = DirectCast(WebRequest.Create("http://localhost/SomeService/Type?id=" Item), HttpWebRequest)
                response = DirectCast(request.GetResponse(), HttpWebResponse)
                res = New StreamReader(response.GetResponseStream())
                Dim serializer As New System.Runtime.Serialization.Json.DataContractJsonSerializer(res.[GetType]())
                Dim ms As New MemoryStream()
                serializer.WriteObject(ms, res)
                Dim json As String = Encoding.[Default].GetString(ms.ToArray())
                Return json

            Finally
                If Not response Is Nothing Then response.Close()
            End Try


        End Function

URL を介してパラメーターを正しく渡しているかどうかわかりません... URL を「http://localhost/SomeService/Type?id=ABC」にハードコーディングしたところ、URL がヒットしましたが、このエラーが発生しました

データ コントラクト名が「UTF8Encoding.UTF8Decoder:http://schemas.datacontract.org/2004/07/System.Text」の「System.Text.UTF8Encoding+UTF8Decoder」と入力することは想定されていません。DataContractResolver の使用を検討するか、既知の型のリストに静的に認識されていない型を追加します。たとえば、KnownTypeAttribute 属性を使用するか、DataContractSerializer に渡される既知の型のリストにそれらを追加します。

助言がありますか?

ありがとうございました。

4

1 に答える 1

0

あなたが提供した詳細だけでは、問題がどこにあるのか、何が問題なのかを判断するのは実際には困難です。

これが私が提案するものです:

一般に、これを行うと、サービス側でファンキーになっていることに関する多くの情報が得られ、問題を非常に迅速に診断できます。試してみて、また報告してください!:)

于 2012-04-26T14:59:13.900 に答える