快速业务通道

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

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

将该元素命名为 productItem,并将其类型设置为 SupplierBSchema:Product。

保存文件。

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

时间:2011-03-14

现在,导出 SupplierBSchema.xsd 文件到一个目录,并运行该目录中的 Xsd.exe 命令,生成 C# 类型类:xsd.exe SupplierBSchema.xsd /classes。

一组 C# 类型的类在 SupplierBSchema.cs 文件中生成。DateInfo 和 Product 类通过 http://schema.b.supplier 命名空间定义并限定。请参见 Download 部分关于类的完整资料。在设计完互操作性场景中最重要的部分后,接下来开始构建 .NET Web 服务实现。在 构建代理流程 部分中,SupplierASchema.xsd 和 SupplierBSchema.xsd 同样是构建 BPEL 流程的起始点。

要构建 Supplier B 的 .NET Web 服务,您可以使用 .NET Visual Studio 构建 .NET 部件,或者在 .asmx 文件中,简单地编写 C# 代码并将类型类封装在 SupplierBSchema.cs 文件中,此处将使用后一种方法。

复制 SupplierBSchema.cs 文件至C:\Inetpub\wwwroot\SupplierB\目录并重命名为 SupplierBQuoteService.asmx,在编辑器中打开。

注释掉以下行: [System.Xml.Serialization.XmlRootAttribute("productItem", Namespace="http://schema.b.supplier", IsNullable=false)] .

将构造函数添加至 Product 和 DateInfo 类中,并进行初始化。在 .NET 中,序列化类也需要缺省构造函数。public DateInfo() {} public DateInfo(DateTime date, string desc) {    _date = date;    _desc = desc; }

andpublic Product() {} public Product(string name, int qty, float price, DateInfo[] dates) {   _name = name;   _qty = qty;   _price = price;   _dates = dates; }

添加 Web 服务类 SupplierBQuoteService 并在命名空间 http://b.supplier/service 下将 getQuote 方法公开为 document/literal Web 服务方法。在 .NET 中,document/literal 是缺省绑定样式:[WebService(Namespace="http://b.supplier/service")] public class SupplierBQuoteService {  private static Hashtable fCurrentInventory = null;  private static Hashtable getCurrentInventory()  {    return fCurrentInventory;  }  public SupplierBQuoteService()  {    fCurrentInventory = new Hashtable();    Product item1 = new Product("IBM ThinkPad T40", 200, 1399.99f,     new DateInfo[] {new DateInfo(DateTime.Now, "Manufacture Date"),      new DateInfo(DateTime.Now.AddYears(3), "Expiry Date")});    Product item2 = new Product("Dell Inspiron 4000", 200, 899.99f,     new DateInfo[] {new DateInfo(DateTime.Now, "Manufacture Date"),      new DateInfo(DateTime.Now.AddYears(5), "Expiry Date")});    Product item3 = new Product("Toshiba Satellite 2210X", 200, 599.99f,     new DateInfo[] {new DateInfo(DateTime.Now, "Manufacture Date"),      new DateInfo(DateTime.Now.AddYears(10), "Expiry Date")});    getCurrentInventory().Add("IBM ThinkPad T40", item1);    getCurrentInventory().Add("Dell Inspiron 4000", item2);    getCurrentInventory().Add("Toshiba Satellite 2210X", item3); }  [WebMethod]  public Product getQuote(string quoteItemName) {    string item = quoteItemName;  

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