尝试从便携式类库发布SOAP请求

时间:2014-11-20 18:49:31

标签: c# web-services soap portable-class-library

我目前正在尝试用c#编写一个可移植的类库,它允许我将SOAP POST请求发送到Web服务。

因为您在制作PCL时可以参考的内容有限,所以我不能简单地#34;添加服务参考。"相反,我正在尝试手动发出SOAP请求,并且我在向HttpWebRequest添加标头时遇到困难。

我的代码如下:

    HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("website_here");
    byte[] xmlStr = getPullCustInfoXml(postParameters);
    request.Method = "POST";
    request.Headers.Add() <- trying to add headers here.

我似乎无法添加任何标头,因为我收到错误:

    'System.Net.Http.WebHeaderCollectionExtensions.Add(System.Net.WebHeaderCollection, string, string)' is inaccessible due to its protection level

即使我将请求转换为HttpWebRequest后,为什么无法访问?

在制作便携式类库时,是否有更好的方法来实现SOAP请求?

1 个答案:

答案 0 :(得分:0)

复制并粘贴代码时,我没有收到相同的错误消息。

确保HttpWebRequest来自System.Net命名空间。文档说Headers.Add方法都是公开的。

另外,尝试不同的重载方法。有:

  • 添加(NameValueCollection中)
  • 添加(字符串)
  • 添加(HttpRequestHeader,String)
  • 添加(HttpResponseHeader,String)
  • 添加(字符串,字符串)

更多信息:http://msdn.microsoft.com/en-us/library/system.net.webheadercollection(v=vs.110).aspx