|
分類:[C#]
いつもお世話になっております。
現在クライアント-サーバシステムで、WCFを使って実装しようと考えていますが、 サーバ側から以下のXMLがきたのですが、レスポンスのデータをうまく取得できません。 #エラーではなく、カウントが0件になっている。
どこに誤りがあるかどなたかご教授して頂けないでしょうか。
【環境】 ・クライアント側 C# ・.net framework 4.5 ・サーバ java
【XML】 ---- <?xml version="1.0" encoding="UTF-8"?> <ResultList> <list> <id>1</id> <name>test</name> <remarks>テスト1</remarks> </list> <list> <id>2</id> <name>test</name> <remarks>テスト2</remarks> </list> ・・・省略・・・ </ResultList> ---
【実装】 ---- using (ChannelFactory<ISampleWcfService> factory = new ChannelFactory<ISampleWcfService>("SampleClientEndpoint")) { try { ISampleWcfService service = factory.CreateChannel(); ResponseList ret = service.sample(request); ↑★上記の変数のカウントをみると0件になってしまう。。。。 factory.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message); } } ----
【定義】 ---- [DataContract(Namespace = "", Name = "ResultList")] public class ResponseList { [DataMember(Name = "list")] public List<ResponseParam> list { get; set; } }
[DataContract] public class ResponseParam { [DataMember(Name = "id")] public string id { get; set; } [DataMember(Name = "name")] public string name { get; set; } [DataMember(Name = "remarks")] public string remarks { get; set; } }
[ServiceContract] public interface ISampleWcfService { [OperationContract] [WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Xml, ResponseFormat = WebMessageFormat.Xml, UriTemplate = "")] ResponseList sample(RequestParam param); } ----
【app.config】 ---- <?xml version="1.0" encoding="utf-8"?> <configuration> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.1"/> </startup> <system.serviceModel> <bindings> <webHttpBinding> <binding name="webHttpBindingSettings" transferMode="Buffered" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" maxBufferPoolSize="2147483647"> <readerQuotas maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647"/> </binding> </webHttpBinding> </bindings> <client> <endpoint address="http://localhost:8080/javaee-sample/restt" behaviorConfiguration="webBehavior" binding="webHttpBinding" contract="WindowsFormsApplication2.ISampleWcfService" bindingConfiguration="webHttpBindingSettings" name="SampleClientEndpoint"/> </client> <behaviors> <endpointBehaviors> <behavior name="webBehavior"> <webHttp/> </behavior> </endpointBehaviors> </behaviors> </system.serviceModel> </configuration> ----
|