2
A
回答
2
如果您關心互操作,請勿使用.net客戶端應用程序來測試.net Web服務。使用SOAPUI等適當的工具來測試您的Web服務。 www.soapui.org
這個工具是用Java編寫的,但它是免費的,並且適合測試任何類型的Web服務。
0
不是直接訪問標題,而是提供代碼訪問的抽象。例如,如果您有一個名爲「客戶」的標題,則可以提供您可以訪問的上下文類,如下所示:
string customer = MyContext.Current.Customer;
現在,您所要做的就是在您的測試類中交換模擬實現,而不需要所有管道。
但是請注意,在Web服務器之外測試ASMX並不完美,因爲它可能會丟失序列化等內容。如果您可以部署到測試服務器並測試已部署的副本,那麼結果會更好。如果你真的關心測試,WCF是一個更好的選擇,因爲你可以很容易地在測試中自主託管WCF。
1
如果我明白你在做什麼,你可以用你的asmx提供的SOAP做一個HTTP請求。如果你在瀏覽器中打開你的asmx,你會得到你的web服務中可用的方法列表。點擊你想測試的方法,你會得到一個你可以使用的SOAP請求,只需填寫你想測試的值。以下是您可以用來測試SOAP的代碼。
// Set SOAP Message
string msg = "<?xml version='1.0' encoding='UTF-8'?><soap:Envelope>";
...
...
// Make http request
HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://linktoyour/service.asmx");
req.Headers.Add("SOAPAction", "http://linktoyour/NameOfFuntion");
req.ContentType = "text/xml;charset=\"utf-8\"";
req.Accept = "text/xml";
req.Method = "POST";
byte[] bytes = System.Text.Encoding.UTF8.GetBytes(msg);
req.ContentLength = bytes.Length;
System.IO.Stream st = req.GetRequestStream();
st.Write(bytes,0,bytes.Length);
st.Close();
// Read response
HttpWebResponse res = (HttpWebResponse)req.GetResponse();
System.IO.Stream st1 = res.GetResponseStream();
System.IO.StreamReader sr = new System.IO.StreamReader(st1, System.Text.Encoding.UTF8);
string txt = sr.ReadToEnd();
// Display response
Response.Write(txt);
1
你問
你怎麼可以測試你的頭,不編程客戶端使用該服務?
答案是你應該編寫一個客戶端來使用該服務。
將編寫代碼以使用您的服務的開發人員將被迫編寫一個客戶端,該客戶端使用您的設計糟糕,難以使用的服務以及其奇怪的標頭。在他們做之前,最好找出{設計不好,很難使用,奇怪的}。
這樣,您可以重新設計服務{設計良好,使用樂趣,正常}。
順便說一句,爲你的web服務編寫單元測試是一個很好的方法來做到這一點。那樣,你就有了小而簡單的客戶。
相關問題
- 1. ASMX服務的自定義SOAP響應
- 2. SimpleHTTPServer自定義頭文件
- 3. SOAP異常刪除自定義HTTP頭
- 4. WCF自定義SOAP頭問題
- 5. SOAP/asmx/WebMethods的自定義(IDictionary)XML序列化?
- 6. 自定義SOAP標頭如何與自定義WCF標頭相關聯?
- 7. 在自己的文件中定義測試參數
- 8. 從ASMX Web方法記錄SOAP標頭
- 9. WPF自定義控件 - 你如何測試自定義控件?
- 10. 在Angular中測試自定義管道
- 11. 如何在Spring soap客戶端上添加自定義頭文件
- 12. Symfony2 - 如何在測試REST API時獲取自定義標頭
- 13. 測試用戶定義頭文件和其他問題
- 14. 測試自定義事件react-native
- 15. PHPUnit測試PHP頭文件
- 16. rake:測試未在子目錄中運行自定義測試
- 17. 測試自定義ActionResult
- 18. 測試自定義約束,
- 19. SOAP標頭如何在ASMX Web服務中工作?
- 20. Laravel不添加自定義頭文件
- 21. 在sbt中定義自定義測試配置
- 22. 試圖在C++頭文件中使用類和定義變量
- 23. 在頭文件中定義的Const float **
- 24. 在Rails中定義Content-Language頭文件
- 25. 在頭文件中重新定義
- 26. 在頭文件中定義const對象
- 27. 測試FluentSecurity中的自定義PolicyViolationHandler
- 28. UICollectionViewCell上的自定義命中測試
- 29. Google測試中的自定義EXPECT_NEAR宏
- 30. 自定義HTTP標頭是不同的測試和httpie
-1缺少「使用」塊。 – 2009-07-21 23:38:38