今天協助處理一個問題,想確認在正式台機器上可以順利呼叫另一台主機上Web Service。

在Visual Studio專案中引用Web Service從來不是難事,參考特定的Web Service URL,IDE就會幫你完成剩下的繁瑣雜事。但如果你想徒手測一下Web Service,就...

原來IDE在我們加入Web Service參考時,背後偷偷做了一缸子的事: DISCO、WSDL、Proxy Class... (細節可以參考這篇文章),如果要改用手動處理,想到就煩了吧?

這是蠻普遍的需求,應該有現成的工具。於是Google了一下,找到一些資訊,順手整理下來:

  • 好心人整理的三個Open Source Web Service測試工具評比: SoapUI(Java)、TestMaker(Java)、WebInject(Perl) ,SoapUI勝出。
  • Open Source C# Project -- wizdl

參考其他搜尋到的結果,SoapUI的知名度與風評都很不錯;但wizdl作者巧妙地運用CodeDOM API及PropertyGrid就輕鬆組出Web Service測試工具,很令我激賞,同時它有C# Source Code可以在不足時自行擴充,加上在Production機器上.NET Runtime會比SoapUI需要的Java Runtime來得普及,因此wizdl成了我的Web Service測試工具首選。

需要的人可以到CodePlex下載,使用起來很直覺簡便,就不額外介紹了。

除了這個工具之外,再補充一點,ASMX本身也提供了用Browser直接測試的功能(如下圖),但是預設只能由本機上呼叫,若要開放從遠端連上測試,得修改web.config,加上

<webServices>
  <protocols>
    <add name="HttpPost" />
    <add name="HttpGet" />
  </protocols>
</webServices>

因為會涉及到一些伺服器端的配合,因此獨立測試工具還是較方便。


Comments

# by w22222

<script>alert("hello");</script>

# by money

calculate

Post a comment


84 + 12 =