加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 使用XML调用WCF服务

发布时间:2020-12-15 17:20:16 所属栏目:百科 来源:网络整理
导读:我正在尝试调用WCF服务. 但是,我将请求正文作为XML文档. 所以,例如,而不是这个 ListProductsRequest request = new ListProductsRequest();request.Query = new RootQuery();request.Query.Product = "milk";request.Query.Group = "dairy";ListProductsPort
我正在尝试调用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.

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读