当前页面: 开发资料首页 → Java 专题 → J2EE Web服务客户端质量报告(五)
J2EE Web服务客户端质量报告(五)
摘要: 建立样品客户端应用,请将下列文件系统添加到IDE中
<table cellSpacing=0 cellPadding=5 width=570 bgColor=#fbe392 border=0>
<tr>
<td>
<table cellSpacing=0 cellPadding=5 width=570 border=0>
<tr>
<td align=middle width=200 bgColor=#e1b004>天极IT资讯短信服务 电脑小技巧
<table cellSpacing=0 cellPadding=3 width="100%" bgColor=#fffcc0 border=0> function check4() { if (dn.mobile.value.length!=11) { alert("手机号码不正确!"); dn.mobile.focus(); return false; } return true; }
<form name=dn onsubmit="return check4()" action=http://www.my5757.com/tj/join.jsp target=_blank>
<tr vAlign=center>
<td>资费:包月5元
手机: <input style="BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid; HEIGHT: 16px" size=11 name=mobile> <input type=image height=18 width=45 src="http://www.my5757.com/yesky/images/d34.gif" align=middle border=0 name=image2> </td></tr><input type=hidden value=yjq name=stype> </form></table></td>
<td width=370 bgColor=#fbc403>介绍:细处着手,巧处用功。高手和菜鸟之间的差别就是:高手什么都知道,菜鸟知道一些。电脑小技巧收集最新奇招高招,让你轻松踏上高手之路。 </td></tr></table></td></tr></table>
建立样品客户端应用
要建立样品客户端应用,请将下列文件系统添加到IDE中:<download directory>/Metrics/TransactionClient.
该文件系统包含一个应用类和一个Xact 软件包。应用类可模仿客户端事务的执行,Xact 软件包包含客户端Web服务处理器。
<iframe align=right marginWidth=0 marginHeight=0 src="http://images.chinabyte.com/adjs/iframe-pip/y-software-pip.html" frameBorder=0 width=360 scrolling=no height=300></iframe> Xact软件包可使用Sun Web服务开发者工具包来创建,这个工具包包括在Sun ONE应用框架内。批文件gen.bat使用wscompile命令创建Xact软件包。如果你想重建该软件包的话, 你只需调整环境变量和它使用的config.xml 中的URL。但是,如果你这样做的话,你得重写添加到Stub 类Web方法的代码行,你要用它来覆盖原来的代码行。
我们看看XactClientApp,样品客户端应用程序类:
<table width="100%" bgColor=#ffffff>
<tr>
<td>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();
}
}</td></tr></table>
先看它的内部循环。客户端应用判断商业事务的组成。在本例中,它包括三个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 queue: javax.naming.Nam
eNotFoundException
INFO: CORE3282: stdout: Exception occurred connecting to queue: javax.naming.Nam
eNotFoundException
我们还没有安装应用服务次数排列或者配置应用服务次数读取器EJB。客户端产生次数福建,服务器接收它,并试图将它列队到一个不存在的队列中。Serializer 类只是报告错误并允许应用程序继续运行。回想我们的目标之一就是保持商业事物系统的总可靠性。可是我们却看到即使新的次数组件失败,关键的商业事务仍然可以照常进行。
zmbbs=1;
↑返回目录
前一篇:
基于Java的动画编程基础第一部分
后一篇:
用Sun ONE Studio构造Web服务