Web Services的测试模型与代码摘录

http://tech.ddvip.com   2008年01月18日    社区交流

内容摘要:Web Services组件可由多个利益相关者来共同构建和部署。因此,测试这些组件过程中会发现确定代码质量、可用性等都有很大的难度。Web Services的标准是简单的,数据驱动的,并且共享一个公共的基于XML的基础。

  代码摘录:Stock Trade Web Services

  该段摘录的代码是Stock Trade Web Services的“execute()”方法的实现代码。该方法首先验证输入参数的有效性,验证成功才执行功能。举例说明,如果参数action是空值,它就会抛出一个SoapFaultException异常,用faultstring参数(第二个参数)说明造成异常的原因。为了举例说明,在对参数 symbol进行相似的验证之后,Web Services给出了处理机。在实际的情况下,商业逻辑应该在此位置中实现:

  try{
   // Setup the global JAXM message factory
   System.setProperty("javax.xml.soap.MessageFactory",
   "weblogic.webservice.core.soap.MessageFactoryImpl");
   // Setup the global JAX-RPC service factory
   System.setProperty( "javax.xml.rpc.ServiceFactory",
   "weblogic.webservice.core.rpc.ServiceFactoryImpl");
   StockTrade_Impl ws = new StockTrade_Impl();
   StockTradePort port = ws.getStockTradePort();
   boolean returnVal = port.execute(action, symbol, quantity);
   System.out.println("The webservice got back the following result:" + returnVal);
  }catch(Exception e) {
  }

  上面的一段代码描述了测试客户端如何激活前面讨论的Stock Trade Web Services,该例子使用了JAX-RPC API(JAX远程处理应用程序接口函数),并且假设在读者的CLASSPATH中已经含有了必要的BEA提供的JAR文件。这是一个静态实现,在这里可获得一个stub实现的实例。获得stub实现后,Web Services的“execute”方法就会被激活。

责编:豆豆技术应用

正在加载评论...