2012-04-26 7 views
0

私はC#でクライアントを持っているジャージウェブサービスを持っています。スニペットに続いて。C#のジャージクライアント

var request =(HttpWebRequest)WebRequest.Create(uri); 
     request.Method = "POST"; 
     request.ContentType = "application/xml"; 
     Stream stream = request.GetRequestStream(); 
     byte[] b = memstreamxml.ToArray(); 
     stream.Write(b, 0, b.Length); 
     stream.Close(); 
     var response = (HttpWebResponse)request.GetResponse(); 

このリクエストでは、xmlバイトの投稿で、400または415のエラー応答が表示されます。 @ConsumesにはさまざまなMediaTypesを試しましたが、現在は何も動作していません。誰かがC#からjersey Webサービスにxmlリクエストを送信する方法を私に洞察してくれますか?また、@ xmlRootElementを使用して、入力XMLを処理するために私のpojoで使用しています。

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

+0

request contentTypeが "application/x-www-form-urlencoded"で、jersey webservice @ Consumes APPLICATION_FORM_URLENCODEDのときに動作しています。 XMLをpojoオブジェクトに直接マーシャルする方法がないようです。 – bhochhi

答えて

0

request contentTypeが "application/x-www-form-urlencoded"でジャージウェブサービス@Consumes APPLICATION_FORM_URLENCODEDのときに動作しました。それはcontentTypeには問題ありませんでしたが、webresourceが期待するPOJOオブジェクトへのMarshall XML入力ができませんでした。ですから、サービスのパラメータ型をStringとして変更するとすぐに動作します。もちろん、別の方法がない限り、文字列xmlを解析してオブジェクトを構築する必要があります。

関連する問題