繁体   English   中英

接受ASP.NET Web服务中的SOAP请求

[英]Accept SOAP requst in ASP.NET Webservice

我正在尝试在ASP.NET Web服务上接收SOAP请求,但我现在停留在这里。

我尝试做的第一件事是在Web服务中只收到一个简单的字符串,但是我的Web服务拒绝了该请求,因为这是一个“危险的请求”。 我尝试的第二件事是使用XmlDocument和XElement作为输入日期类型,但是当我尝试在SoapUI中获得IndexOutOfRangeException时,不能仅仅在浏览器中调用该方法。

在WebMethod中是否有任何技巧可以接受SOAP请求?

为了更容易理解,我正在寻找这样的解决方案:

[WebMethod]
public XmlDocument Method(string soapRequest)
{
    XmlDocument xmlAnswer = doSomethingWithRequest(soapRequest);

    return xmlAnswer;
}

不幸的是,我找不到像我要求的那样简单的解决方案。 我尝试了XmlElement在这篇(很旧的) 文章中是如何提到的。

我现在是这样做的:

// Create array for holding request in bytes
byte[] inputStream = new byte[HttpContext.Current.Request.ContentLength];

// Read the entire request input stream
HttpContext.Current.Request.InputStream.Read(inputStream, 0, inputStream.Length);

// Set stream position back to beginning
HttpContext.Current.Request.InputStream.Position = 0;

// Get the XML request
string xmlRequestString = Encoding.UTF8.GetString(inputStream);

这对我来说很好。

暂无
暂无

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

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