2016-02-16 136 views
0

這裏我使用AJAX的jQuery調用web服務,現在我想和SOAP 1.1 XML數據使用c sharp soap 1.1調用遠程webservice xml數據?如何

w3school method link

我使用上述相同的方法,現在我想用肥皂1.1做的做同樣的工作asp.net使用XML升C

我試着給網站鏈接的網頁refrence提前選項還,但它說

架構不匹配

你能給我用XML鏈接或一步方法的任何步驟的鏈接代碼項目aso.net SOAP 1.1做什麼用的數據

<data> 
    <row> 
     <code>AAA</code> 
     <description>PIA </description> 
    </row> 
    <row> 
     <code>AAB</code> 
     <description>UK AIRline</description> 
    </row> 
...........so on 
    </data> 

回答

0

您將無法使用讀取XML文件肥皂1.1。

肥皂是一種協議(簡單對象訪問協議),而不是文件類型。它恰好使用xml作爲映射對象層次結構的方式,但是它不能獲取xml文件並使用它。

像您這樣的SOAP web服務試圖添加使用xsd來定義一個模式,並由WSDL文件(Web服務定義語言)表示。

最好的辦法是對xml文件的url進行網絡請求,然後在代碼中處理該文件。

喜歡的東西:

var httpWebRequest = (HttpWebRequest)WebRequest.Create("http://www.w3schools.com/ajax/cd_catalog.xml"); 
     httpWebRequest.ContentType = "application/json; charset=utf-8"; 
     httpWebRequest.Method = "GET"; 

     using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream())) 
     { 
      var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse(); 
      using (var streamReader = new StreamReader(httpResponse.GetResponseStream())) 
      { 
       return streamReader.ReadToEnd(); 
      } 
     } 

編輯: 做一個POST請求:

public static string RunHttpRequest(string url, object obj) 
    { 
     ServicePointManager.Expect100Continue = false; 
     var httpWebRequest = (HttpWebRequest)WebRequest.Create(url); 
     httpWebRequest.ContentType = "application/json; charset=utf-8"; 
     httpWebRequest.Method = "POST"; 

     using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream())) 
     { 
      var json = JsoNify(obj); 

      streamWriter.Write(json); 
      streamWriter.Flush(); 
      streamWriter.Close(); 

      var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse(); 
      using (var streamReader = new StreamReader(httpResponse.GetResponseStream())) 
      { 
       return streamReader.ReadToEnd(); 
      } 
     } 
    } 
    private static string JsoNify(object obj) 
    { 
     return JsonConvert.SerializeObject(obj, Formatting.None, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }); 
    } 
+0

哎天才要比你今天有空保持在太平洋標準時間晚上7點的Skype nouman.arshad7觸摸我想學習一些事情更多 –

+0

像POST請求 –

+0

我編輯我的答案,包括POST請求。 – Vaelen

相關問題