2016-07-26 12 views
1

ASP.NET WebサービスでSOAPリクエストを受信しようとしていますが、今ここに固執しています。ASP.NET WebserviceでSOAP requstを受け入れる

私が試した最初のことは、単に私のウェブサービスで単純な文字列を受け取ることでしたが、Webサービスはそのリクエストを拒否しました。これは「危険な要求」だったからです。 私が試みたもう一つは、入力日付型としてXmlDocumentとXElementを使用することでしたが、私はそれを試みるときに私はSoapUIでIndexOutOfRangeExceptionを取得し、単純にそのメソッドをブラウザで呼び出すことはできません。

WebMethodでSOAP要求を受け入れる手口はありますか?

それが簡単に理解できるようにするため、私はそのような解決策を探していますが:私は尋ねたよう

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

    return xmlAnswer; 
} 

答えて

0

残念ながら、私はこのような単純な解決策でそれを行うにはどのような方法を見つけることができませんでした。私はXmlElementをこの(非常に古い)articleに記載されている方法を試しました。

私はthat方法で、今それをやった:

// 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); 

そして、私のために正常に動作します。

関連する問題