2012-04-26 45 views
0

私は残りのサービスを呼び出そうとしています。このサービスはjsonオブジェクトを返します...私はリクエストを送信できますが、jsonをシリアル化することはできません。その後、URLは:Json VB.NETをシリアル化する方法

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をコード化された「// localhost /をSomeService /タイプID = ABCのhttp?」このエラーが発生しました。

データ契約名「UTF8Encoding.UTF8Decoder:http://schemas.datacontract.org/2004/07/System.Text」のタイプ 'System.Text.UTF8Encoding + UTF8Decoder'はありません期待される。 DataContractResolverの使用を検討するか、KnownTypeAttribute属性を使用するか、DataContractSerializerに渡される既知の型のリストに追加するなど、既知の型のリストに静的に知られていない型を追加することを検討してください。

提案がありますか?

ありがとうございます。

答えて

0

問題がどこにあるのか、問題が何であるのかを指定しただけでは、実際には分かりません。

  • は、トレースログ生成、サービス側でトレースを使用可能にします、とSvcTraceViewerと分析:ここで

    は、私が提案するものです。これを行うには、this MSDN article on using the service trace viewerの指示に従ってください。 1回目と2回目で何が違うのかを確認します。

  • デバッグ例外をオンにします。これは、includeExceptionDetailInFaultsを入れて行われます。you can do by following the instructions hereです。 1回目と2回目で何が違うのかを確認します。

  • Fiddlerを使用して、クライアント側とサービス側の両方でワイヤトラフィックを監視します。一般

あなたがこれを行うと、あなたはサービス側でファンキーだろうとかなり迅速に問題を診断することができますどのような詳細の多くをする必要があります。試してみて、報告してください! :)

関連する問題