Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在IIS6上的ASP.NET中转发SOAP请求?_C#_.net_Web Services_Iis_Soap - Fatal编程技术网

C# 如何在IIS6上的ASP.NET中转发SOAP请求?

C# 如何在IIS6上的ASP.NET中转发SOAP请求?,c#,.net,web-services,iis,soap,C#,.net,Web Services,Iis,Soap,我正在尝试创建一个托管在IIS 6上的应用程序(或web服务),该应用程序将使用修改过的凭据将SOAP请求转发到另一个web服务应用程序 目前,我在我的应用程序的页面加载中有类似的内容: HttpWebRequest newRequest = (HttpWebRequest)WebRequest.Create(newUrl); newRequest.ContentType = original.ContentType; newRequest.ContentLength = original.Co

我正在尝试创建一个托管在IIS 6上的应用程序(或web服务),该应用程序将使用修改过的凭据将SOAP请求转发到另一个web服务应用程序

目前,我在我的应用程序的页面加载中有类似的内容:

HttpWebRequest newRequest = (HttpWebRequest)WebRequest.Create(newUrl);
newRequest.ContentType = original.ContentType;
newRequest.ContentLength = original.ContentLength;
newRequest.Method = original.HttpMethod;
newRequest.UserAgent = original.UserAgent;
newRequest.Credentials = new NetworkCredential("login","password","domain");
HttpWebResponse response = (HttpWebResponse)newRequest.GetResponse();
问题是它在最后一行崩溃,因为ContentLength大于0,并且我没有打开RequestStream,因为我不知道如何从oryginal请求获取它

我没有将这个问题命名为“如何从HttpWebRequest获取SOAP请求”,因为我相信有一个更简单的解决方案可以解决我正在尝试的问题。可能是Java中的某种请求分发器


任何帮助都将不胜感激。

SOAP请求并没有什么神奇之处——毕竟它只是HTTP。您应该能够使用如下方式复制请求正文:

Context.Request.InputStream.CopyTo(newRequest.GetRequestStream());
此外,还应确保复制原始请求中可能设置的所有其他重要HTTP头