2012-01-19 6 views
2

HttpModule内では、どのWebメソッドが呼び出されたか/傍受され、それに基づいて動作するかを把握したいと思います。たとえば、WebMethod1を呼び出した場合、何かをしても、WebMethod2では何もしません。Request.InputStreamに基づいてどのWSメソッドが呼び出されたかはどのように判断するのですか?

私は石鹸を見て:ヘッダーと石鹸:ボディ、私はメソッド名を見ることができますが、それは石鹸を解析するのに問題はないでしょうか:もしそうなら、どの部分?

答えて

2

2つのメソッドに共通のエンドポイントがある場合、どのメソッドが呼び出されるかを判断するためにSOAPメッセージを解析する必要があります。この場合、<soap:Body>タグを確認し、bodyタグに属する最初の要素名である操作名を見つける必要があります。

+0

おかげで、:) – KoturB

1

ここでは、SOAPメッセージ解析し、私のコードです:それがあった

System.Xml.XmlDocument doc=new System.Xml.XmlDocument(); 
    doc.LoadXml(soapMessage); 

    foreach (XmlNode xn in doc) 
    { 
     foreach (XmlElement element in xn) 
     { 
      if (element.Name == "soap:Body") 
       result = element.FirstChild.Name; 
     } 
    } 

    return result; 
関連する問題