快速业务通道

JAX-WS Web服务客户机入门 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-20
并且还限制从 Web 服务接收的信息的类型。但是,WSDL 文件并未限制传递所需信息的 方式,也未限制用户接口的 内容。下面所构建的客户机实现由一个 JSP 页面(它允许用户输入待检查的文本)和一个 servlet(用于将文本传递给 Web 服务,然后生成包含结果的报告)构成。

编写 JSP 页面

我们的 JSP 页面仅包括一个文本区域(供用户输入文本)和一个按钮(用于将文本发送给 Web 服务)。

在 Projects 窗口中,展开 Web Pages 节点并双击 index.jsp 在 Source Editor 中打开它。

复制以下代码并将它粘贴到 index.jsp 代码中,覆盖原来的 <body> 标记:<body>   <form name="Test" method="post" action="SpellCheckServlet">    <p>Enter the text you want to check:</p>    <p>    <p><textarea rows="7" name="TextArea1" cols="40" ID="Textarea1"></textarea></p>    <p><input type="submit" value="Spell Check" name="spellcheckbutton"></p></form> </body>

上述代码指定,当用户单击提交按钮时, textarea 中的内容将提交给 SpellCheckServlet servlet。

创建和编写拼写检查 servlet

在本节中,我们将创建一个 servlet 与 Web 服务进行交互。但是,我们将看到,执行交互的代码将由 IDE 提供。因此,我们只需处理业务逻辑,也就是准备用于检查的文本和处理结果。

在 Projects 窗口中,右键单击项目节点并选择 New > Other,然后选择 Web > Servlet 选项。单击 Next 按钮。将 servlet 命名为 SpellCheckServlet,并在 Package 下拉列表中键入 org.netbeans.end2end.check.client。单击 Next 按钮。注意到,该 servlet 的 URL 映射为 /SpellCheckServlet,如下所示:

JAX-WS Web服务客户机入门 - 编程入门网

单击 Finish 按钮。servlet 将在 Source Editor 中打开。

将光标移动到 Source Editor 的 processRequest 方法中,在方法顶部的右侧添加一些新行。

在刚才创建的新行区域中单击鼠标右键,选择 Web Service Client Resources > Call Web Service Operation 选项。在 Select Operation to Invoke 对话框中,单击 CheckTextBody 操作,如下所示:

JAX-WS Web服务客户机入门 - 编程入门网

单击 OK 按钮。

JAX-WS Web服务客户机入门(4)

时间:2011-01-30

注意: 我们还可以将操作节点从 Projects 窗口直接拖动到编辑器中,而无需使用上面的对话框。

在 processRequest 方法的顶部,我们可以看到一段调用 Web 服务的代码,如下所示:

try { // Call Web Service Operation    org.netbeans.end2end.check.client.CheckSoap port = service.getCheckSoap();    // TODO initialize WS operation arguments here    java.lang.String bodyText = "";    java.lang.String licenseKey = "";    // TODO process result here    org.netbeans.end2end.check.client.DocumentSummary result = port.checkTextBody(bodyText,licenseKey);    out.println("Result = "+result); } catch (Exception ex) {    // TODO handle custom exceptions here }

我们只需该方法便可处理调用 Web 服务操作的事宜。此外,以下代码行将在类的顶部声明。

@WebServiceRef(wsdlLocation = "http://ws.cdyne.com/SpellChecker/check.asmx?WSDL") private Check service;

将整个 processRequest 方法替换为以下代码(以下代码中的行内注释解释了各行的作用): )protected void processRequest(HttpServletRequest request, Http

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号