快速业务通道

J2EE Web服务客户端质量报告(五) - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-23

J2EE Web服务客户端质量报告(五)

时间:2010-12-06

建立样品客户端应用

要建立样品客户端应用,请将下列文件系统添加到IDE中:<download directory>/Metrics/TransactionClient.

该文件系统包含一个应用类和一个Xact 软件包。应用类可模仿客户端事务的执行,Xact 软件包包含客户端Web服务处理器。

Xact软件包可使用Sun Web服务开发者工具包来创建,这个工具包包括在Sun ONE应用框架内。批文件gen.bat使用wscompile命令创建Xact软件包。如果你想重建该软件包的话, 你只需调整环境变量和它使用的config.xml 中的URL。但是,如果你这样做的话,你得重写添加到Stub 类Web方法的代码行,你要用它来覆盖原来的代码行。

我们看看XactClientApp,样品客户端应用程序类:

import Xact.*; import javax.xml.rpc.Stub; import Payload.*; public class XactClientApp { /** Creates a new instance of XactClientApp */ public XactClientApp() { } /** * @param args the command line arguments */ public static void main(String[] args) {   try {    int cyclesPerXact = 1;    int numberXacts = 5;    String transactionID = "";    String transactionType =    String.valueOf(cyclesPerXact) +" submit,check,gets";    Stub stub = createProxy();    XactServiceServantInterface xact = (XactServiceServantInterface)stub;    CurrentReport cr = new CurrentReport();    for (int x=1; x<= numberXacts;x++){     cr.BeginTransaction();     for (int i=1; i<=cyclesPerXact;i++){      transactionID = xact.submitWork("new transaction");      System.out.println("Transaction:" + transactionID);      boolean unused = xact.checkWork(transactionID);      String ignore = xact.getResult(transactionID);     }     cr.CommitTransaction(transactionID, transactionType,"success");    }   } catch (Exception ex) {    ex.printStackTrace();   } } private static Stub createProxy() {   return (Stub)(new XactService_Impl()).getXactServiceServantInterfacePort(); } }

J2EE Web服务客户端质量报告(五)(2)

时间:2010-12-06

先看它的内部循环。客户端应用判断商业事务的组成。在本例中,它包括三个Web服务调用:针对submitWork()、checkWork()和getResult()的分别调用。客户端使用beginTransaction()和 commitTransaction()定界事务。在该循环的第二个循环中,在CurrentReport.LastReport 对象中将出现一个完整的ClientReport。当客户端调用submitWork()时,Web 服务客户端Stub 类中相应方法调用Serializer.attachPendingReportToMessage() 将该报告连接到SOAP信息上。

CyclesperXact和numberXacts用于控制每件事务的Web服务调用数和客户端在运行过程中递交的事务数。

右击应用程序图标XactClientApp;先选择Build All项,接着选择Execute项。在执行窗口中,你会看到:对于每件事务,应用都报告它收到的事务标志符。观察应用服务Windows输出控制台,你可以看到以下的代码行:

INFO: CORE3274: successful server startup

INFO: CORE5053: Application onReady complete.

INFO: CORE3282: stdout: Exception occurred connecting to queue: javax.naming.Nam

eNotFoundException

INFO: CORE3282: stdout: Exception occurred connecting to queue: javax.naming.Nam

eNotFoundException

INFO: CORE3282: stdout: Exception occurred connecting to q

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号