繁体   English   中英

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

[英]How to forward SOAP request in ASP.NET on IIS6?

我正在尝试制作一个驻留在IIS 6上的应用程序(或Web服务),该应用程序将使用修改后的凭据将SOAP请求转发到另一个Web服务应用程序。

现在,我的应用程序的Page_Load中有类似以下内容:

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,因为我不知道如何从原始请求中获取它。

我没有将这个问题的标题命名为“如何从HttpWebRequest获取SOAP请求”,因为我认为对我尝试做的事情有更简单的解决方案。 也许像Java中的某种请求分配器。

任何帮助将不胜感激。

SOAP请求没有什么神奇之处-毕竟只是HTTP。 您应该可以使用以下方式复制请求正文:

Context.Request.InputStream.CopyTo(newRequest.GetRequestStream());

另外,您还应确保复制可能在原始请求中设置的所有其他重要HTTP标头。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM