Read Soap Message using C#

前端 未结 4 1231
傲寒
傲寒 2020-12-03 14:59

  
    

        
4条回答
  •  长情又很酷
    2020-12-03 15:18

    First you want to create a class to deseralize the xml values into

        public class bookHotelResponse {
          public int bookingReference { get; set; }
          public int bookingStatus { get; set; }
       } 
    

    Then you can utilize GetElementsByTagName to extract the body of the soap request and deseralize the request string into an object.

        private static T DeserializeInnerSoapObject(string soapResponse)
        {
            XmlDocument xmlDocument = new XmlDocument();
            xmlDocument.LoadXml(soapResponse);
    
            var soapBody = xmlDocument.GetElementsByTagName("soap:Body")[0];
            string innerObject = soapBody.InnerXml;
    
            XmlSerializer deserializer = new XmlSerializer(typeof(T));
    
            using (StringReader reader = new StringReader(innerObject))
            {
                return (T)deserializer.Deserialize(reader);
            }
        }
    

提交回复
热议问题