在《如何用NetBeans 7构建Java Web服务?(上)》中,我们为您介绍了如何安装以及创建一个应用,下面将继续这部分内容。 每当测试新技术时,我总是喜欢使用美好而又古老的“剪刀-石头-布”场景测试。在这种情况下,我会建立Web服务,用一个字符串作为参数,Web服务会告诉用户,他们赢了、输了、或者平了。填写要调用的Web服务的名字RPService,在NetBeans中选择“从Scratch中建立服务”选项: 当你完成这个向导,一个基本的hello world类型方法供你阅读,它看起来无伤大雅,假设这个工具为我生成了它,那么它应该是可以工作的,所以,我要保留它,以后测试新的web……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
在《如何用NetBeans 7构建Java Web服务?(上)》中,我们为您介绍了如何安装以及创建一个应用,下面将继续这部分内容。
每当测试新技术时,我总是喜欢使用美好而又古老的“剪刀-石头-布”场景测试。在这种情况下,我会建立Web服务,用一个字符串作为参数,Web服务会告诉用户,他们赢了、输了、或者平了。填写要调用的Web服务的名字RPService,在NetBeans中选择“从Scratch中建立服务”选项:
当你完成这个向导,一个基本的hello world类型方法供你阅读,它看起来无伤大雅,假设这个工具为我生成了它,那么它应该是可以工作的,所以,我要保留它,以后测试新的web服务的时候,会用到它。
以下是引用片段: /** This is a sample Web service operation */ @WebMethod(operationName = "hello") public String hello(@WebParam(name = "name") String txt) { return "Hello " + txt + " !"; } |
我想添加一个新方法,可以使用在所有的“剪刀-石头-布”应用上。实际上,我需要一个服务,当输入一个字符串“石头”、“剪刀”、“布”时,可以给出一个“赢”、“输” 或者“平”的结果,甚至是失败,并返回到调用程序。这意味着添加一个新方法到Web服务。
我想添加一些不同的方法到NetBeans生成的Web服务,但是,我想我不能在那些WSDL或者其他文件中建立正确的条目。要在Web服务中添加正确的新方法,最好的方法是使用“添加操作向导”,在索引菜单上,右击要修改的Web服务:
调用“添加操作向导”后,你要提供方法的名字、返回类型和一些方法中所需的参数。
完成这个向导后,会在Web服务中添加一个基本的方法,但是,实际的代码还要你自己去写:
以下是引用片段: @WebMethod(operationName = "playTheGame") public String playTheGame(@WebParam(name = "clientChoice") String clientChoice) { //TODO write your implementation code here: return null; } |
要改善并更新playTheGame方法所需的逻辑,才能玩这个简单的“剪刀-石头-布”游戏。请注意,为了简单起见,服务端总是会出石头。
以下是引用片段: @WebMethod(operationName = "playTheGame") public String playTheGame(@WebParam(name = "clientChoice") String clientChoice) { String result = "failure"; String serverChoice = "rock"; try { if (clientChoice.equalsIgnoreCase("scissors")) { result = "loss"; } if (clientChoice.equalsIgnoreCase("paper")) { result = "win"; } if (clientChoice.equalsIgnoreCase("rock")) { result = "draw"; } } catch (RuntimeException e) { System.out.println("Excetion"); } return result; } |
基本的Web服务已经创建。然而,问题是“如何让它工作?” 测试点在哪。
因为Web服务是EJB的模块,理论上应该首先部署EJB模块。右击即可。
随着在NetBeans控制台窗口出现“构建成功”的消息出现后,我只需右击Web服务,并选择“测试Web服务。”
几秒后,新的Chrome浏览器窗口弹出,问我要测试哪个Web服务,有两个方法,一是工具默认为我们生成的那个简单的方法,二是我们自己编写的playTheGame方法。
开始玩这个游戏,输入“布”,并得到期望的结果,我们“赢”,服务端“输”。这是测试引擎在浏览器中响应的格式:
令人感兴趣的是,SOAP请求和响应包在视觉上给我们呈现了结果,并让我们知道在Web服务整合中发现了什么事情。
以下是引用片段: <?xml version="1.0" encoding="UTF-8"?> <S:Envelope > <S:Header/> <S:Body> <ns2:playTheGame > <clientChoice>Paper</clientChoice> </ns2:playTheGame> </S:Body> </S:Envelope> SOAP Response- |
SOAP响应
以下是引用片段: <?xml version="1.0" encoding="UTF-8"?> <S:Envelope > <S:Body> <ns2:playTheGameResponse > <return>win</return> </ns2:playTheGameResponse> </S:Body> </S:Envelope> |
就是这样。在下一代NetBeans V7上创建并测试Web服务是多么的简单!
相关推荐
-
SAP收购CallidusCloud 与Salesforce竞争
一直被称为后台办公巨头的SAP现在似乎也想在前台办公大展拳脚。 最新的迹象是SAP收购CallidusClou […]
-
API设计如龙生九子 各不相同
IT咨询管理公司CA Technologies对API产业做了个问卷调查,问卷内容涉及API设计风格以及管理部署的新动向。调查结果表明,JSON与XML可谓两分天下。
-
API设计:如何正确开发应用程序接口
在交互组件化软件的世界里,没有比让组件之间以及组件与移动设备和浏览器之间进行连接的应用程序接口(API)更重要的东西了。
-
从头开始实现领域驱动设计
领域描述业务;它是驱动企业的概念和逻辑的集合。如果遵循领域驱动设计(DDD)这一本质,那么领域就是应用程序中最重要的组成部分。