微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 使用XML调用WCF服务

我正在尝试调用WCF服务.

但是,我将请求正文作为XML文档.

所以,例如,而不是这个

ListProductsRequest request = new ListProductsRequest();
request.Query = new RootQuery();
request.Query.Product = "milk";
request.Query.Group = "dairy";

ListProductsPortType client = new ListProductsPortTypeClient();
ListProductsResponse response = client.ListProducts(request);

我想这样做:

String xml = "<Root xmlns=\"urn:ns\"><Query><Group>dairy</Group><Product>milk</Product></Query></Root>";
var request = // read in to XmlReader or XmlDocument or whatever
ListProductsPortType client = new ListProductsPortTypeClient();
var response = client.ListProducts(request);

有没有办法使用生成的代理,具有为我处理数据层安全性和传输的优势,但不使用代理对象?

谢谢,
布莱希特

解决方法

我认为您不能调用WCF服务并传递您想要的内容.

ListProducts方法只接受ListProductsRequest对象.所以你必须创建这种对象.

String xml = "<Root xmlns=\"urn:ns\"><Query><Group>dairy</Group><Product>milk</Product></Query></Root>";
ListProductsRequest request = MappingObject(xml); 
ListProductsPortType client = new ListProductsPortTypeClient();
var response = client.ListProducts(request);

在Mapping方法中,您可以使用XML来创建ListproductRequest.

我不知道是否有另一种方法可以做到这一点.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐