我安装了带有 WTP (http://www.eclipse.org/webtools/ws/)、Tomcat 和 Axis2 的 Eclipse。
我正在学习网络服务。我有一个简单的 Hello 类,用于创建 WS 服务器和客户端。
在 Eclipse 中,我右键单击 Hello.java,然后转到 New > Other > Web Service。我将服务器设置为“启动服务”,将客户端设置为“测试客户端”,然后单击下一步两次。在此向导中,我在“测试 Web 服务”屏幕上结束,该屏幕将 Web 服务资源管理器列为唯一可用的测试工具。
在这里,如果我单击启动按钮,将使用 Web 服务资源管理器打开一个浏览器窗口,其中的 URLhttp://127.0.0.1:59981/wse/wsexplorer/wsexplorer.jsp?org.eclipse.wst.ws.explorer=4
可以选择 helloName 操作以在“操作”面板中打开一个表单来测试 Web 服务。一切正常,我可以将表单发送到 WS 客户端,后者将消息发送到服务器,获取其响应并在状态面板中显示 SOAP 请求和响应信封。
回到 Eclipse,我仍然打开了那个向导窗口(我点击了 Launch 按钮)。如果我单击 Finish(或多次单击 Next),则会从 Eclipse 项目 HelloClient 构建一个新客户端,然后它会从 Eclipse 内部的 URL 中打开http://localhost:8080/HelloClient/sampleHelloProxy/TestClient.jsp
,标题为 Web Services Test Client。
请注意,Web 服务资源管理器(从启动按钮在浏览器中打开)使用端口 59981,而 Web 服务测试客户端(向导完成时在 Eclipse 中打开)使用端口 8080(Tomcat 主端口)。
因此,正在构建 2 个不同的客户端。Web Services Explorer 有更好的输入表单,允许从复选框设置 nil 值,有一个 CalendarBrowser 来选择日期等,它显示 SOAP 信封......但对于复杂的响应,它没有 Web Services Test Client 的结果面板在更易于查看的 HTML 页面中显示复杂的响应。
另一方面,Web 服务测试客户端无法为更复杂的输入构建适当的表单。例如,WSDL 的 xsd:simpleType 和 xsd:restriction 只是在表单中被忽略,导致服务器因为缺少参数而返回错误消息。
我的问题是:
1)有没有办法从向导中选择在Eclipse中打开哪个客户端?和我一起学习的朋友只需完成向导即可从 Eclipse 中打开 Web Services Explorer。
2) 是否有任何插件允许 Web Services Explorer 的客户端构建响应页面以便于查看?这是 Web Services Test Client 的客户端克服 Web Services Explorer 的唯一缺失。