我們有一個新的會計系統,爲外部客戶端提供web服務接口。我想訪問其中一個接口,但沒有WSDL,所以我通過使用HttpWebRequest創建了請求,並且它工作正常。.Net - 不使用WSDL的webservice服務
但是爲了方便創建請求和解析響應,我想創建某種自動映射函數。我在XSD文件中有請求和響應結構。有任何想法嗎?
請求創建:
public void SendRequest()
{
HttpWebRequest request = CreateWebRequest();
XmlDocument soapEnvelopeXml = new XmlDocument();
soapEnvelopeXml.LoadXml(@"<?xml version=""1.0"" encoding=""utf-8""?>
<soap:Envelope xmlns:soap=""http://schemas.xmlsoap.org/soap/envelope/"">
<soap:Body xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"">
++ structure type inserted here ++
</soap:Body>
</soap:Envelope>");
using (Stream stream = request.GetRequestStream())
{
soapEnvelopeXml.Save(stream);
}
using (WebResponse response = request.GetResponse())
{
using (StreamReader rd = new StreamReader(response.GetResponseStream()))
{
string soapResult = rd.ReadToEnd();
Console.WriteLine(soapResult);
}
}
}
這很有趣。你有沒有嘗試過打電話給他們,並問你爲什麼WSDL? – 2011-05-23 12:06:40
您是否曾嘗試在瀏覽器中打開Web服務,並在URL中添加'?wsdl'? – 2011-05-23 12:08:00
是的,是的。不幸的是沒有WSDL。 – Sys 2011-05-23 12:58:48