快速业务通道

在业务流程中融合J2EE和.NET技术 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-18
加两个项目:SupplierAServiceEAR 和 QuoteProcessServiceEAR。单击 Finish。

右键单击 TestServer 并单击 Start。

接下来,实现描述 Buyer 的主要类,通过 JAX-RPC 代理来调用代理流程。

创建新的 Java 包。右键单击 QuoteProcessTestClient,选择 New>Package,为新 Java 包命名为 testclient。单击 Finish。

创建 Buyer 类,将其命名为 Buyer。单击 Finish。将打开 Buyer 类。

将清单 8 中的代码复制并粘贴至 Buyer 类编辑器并保存 Java 文件。

清单 8.Buyer 类

package testclient;
import java.util.Calendar;
import java.util.Date;
import process.quote.QuotesProcessPortTypeProxy;
import supplier.b.schema.DateInfo;
import com.ibm.www.ProductQuotes;
public class Buyer {
  public static void main(String[] args) {
	String product = "IBM ThinkPad T40";
	QuotesProcessPortTypeProxy aProxy = new QuotesProcessPortTypeProxy();
	try {
	  ProductQuotes result = aProxy.getQuotes(product);
	  supplier.a.schema.Product quoteA = result.getSupplierAQuote();
	  supplier.b.schema.Product quoteB = result.getSupplierBQuote();
	  System.out.println("Quotes for product: " + product);
	  System.out.println("\tSupplier A: ");
	  System.out.println("\t\tQuantity: " + quoteA.get_qty());
	  System.out.println("\t\tPrice: " + quoteA.get_price());
	  System.out.println(
		  "\t\tIs refurbished: " + quoteA.is_refurbished());
	  System.out.println("\tSupplier B: ");
	  System.out.println("\t\tQuantity: " + quoteB.get_qty());
	  System.out.println("\t\tPrice: " + quoteB.get_price());
	  DateInfo[] dates = quoteB.get_dates().get_dateInfo();
	  for (int i = 0; i < dates.length; i++) {
		  Calendar cal = dates[i].get_date();
		  Date date = cal.getTime();
		  System.out.println("\t\t" + dates[i].get_desc() + ": " + date);
	  }
	} catch (Exception e) {
	  e.printStackTrace();
	}
  }
}

在业务流程中融合J2EE和.NET技术(14)

时间:2011-03-14

最后,运行 Buyer 类获取 Supplier A 和 Supplier B 提供的关于 IBM ThinkPad T40 的产品信息。

选择 Package Explorer 中的 Buyer 类。

在顶端的菜单中,选择 Run>Run As>Java Application。如果顺利完成,结果将出现在控制台中,如以下的 图 13 所示。

图 13. 报价结果

在业务流程中融合J2EE和.NET技术 - 编程入门网

对比图 13 和图 7 中的单元测试结果,并观察两种情况下如何描述日期信息数组。

在代理流程及其客户端代理类中,xsd:dateTime 被映射至 java.util.Calendar,但是最好能呈现给购买者的是简洁的 java.util.Dates 结果而不是包含大量多余信息的 java.util.Calendar。如果客户端需要 java.util.Dates ,那么需要对其进行简单转换,如清单 8 所示。

其它技巧

以下是针对 J2EE 和 .NET 开发 BPEL 流程的一些其他技巧:

WebSphere Studio Application Developer Integration Edition Version 5.1.1 提供了强大的可视流程调试器,可以在 BPEL 流程级别上逐步调试代码。

对于在 Web 服务中来去的 SOAP 消息,你需要对其进行截取并研究,特别是 .NET Web 服务中的 SOAP 消息。可用的跟踪工具有很多。WebSphere 提供实体类 com.ibm.ws.webservice.engine.utils.tcpmon 用以嗅探两点之间的 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号