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