尝试从可移植类库发布 SOAP 请求

本文关键字:SOAP 请求 类库 可移植 | 更新日期: 2023-09-27 18:31:20

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

由于在制作 PCL 时可以引用的内容有限,因此我不能简单地"添加服务引用"。相反,我正在尝试手动发出 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 请求?

尝试从可移植类库发布 SOAP 请求

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

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

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

  • 添加(名称值集合)
  • 添加(字符串)
  • Add(HttpRequestHeader, String)
  • Add(HttpResponseHeader, String)
  • 添加(字符串,字符串)

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