中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > .NET > 临时文章
集成J2EE和.NET Web服务(二)
作者:Evelyn Hobson 时间:2006-09-30 14:07 出处:BEA 责编:月夜寒箫
              摘要:集成J2EE和.NET Web服务(二)
为J2EE Orders Web服务创建.NET客户端

到目前为止,我已经创建了一个J2EE Web服务,现在我需要创建一个将要访问该Web服务的.NET客户端。在Visual Studio .NET中,第一步是将WSDL文档导入到ASP.NET Web服务客户端,这是通过Visual Studio .NET中的向导将Web引用增加到该客户端来实现的。您可以指向您的本地系统上的一个文件或者是指向Internet上的一个Web服务的URL。我为J2EE Orders Web服务增加Web引用,而Visual Studio .NET 自动生成一个客户代理文件。该文件在客户端将WSDL文档中的所有操作和数据类型映射到一个名为Reference.cs的客户代理编码文件。然后,需要做的全部事情就是创建一个变量,它使用客户代理来调用Web服务上的方法。下列代码片断包括来自Reference.cs文件的摘录,它显示在哪里发现Web服务并且为一个特定的方法定义返回类型。

public Orders() {
            this.Url = "http://localhost:7001/Orders/Orders.jws";
            }
            public ordermasterfields[] getOrdersByID(string ID) {
            object[] results =
            this.Invoke("getOrdersByID", ne object[] {ID});
            return ((ordermasterfields[])(results[0]));
            }


到目前为止,我已经增加了Web引用并且Visual Studio .NET已经创建了一个客户代理,我需要创建Orders Web引用的一个实例,并且调用一个方法。这是调用Orders Web服务上的一个特定方法所需要编写的所有代码。

using OrderWebApplication.WebReference1;
            WebReference1.Orders orders = new WebReference1.Orders();
            WebReference1.ordermasterfields[] ordersResult =
            orders.getOrdersByID(userName);


.NET具有一个在表示和代码实现之间严格分离的概念。它们使用一个称为code-behind的文件,该文件包含所有代码并连结到WebForm页面(见图2)。所有的表示是在WebForm.aspx文件中处理的,它是一个ASP.NET页面,而所有的代码是在WebForm.aspx.cs文件中编写的。该思想与JSP文件是相同的,其中HTML是表示或静态内容,而动态内容是在JSP标签部分插入的。.NET简单地对它进行扩展,并将嵌入的代码部分转移到一个单独的代码文件中。如果想要的话,我仍然可以在同一个文件中利用合成的HTML和ASP.NET代码来实现ASP.NET页面。我也利用ASP.NET页面创建了新的表示代码,它重复了在J2EE平台上已经可用的内容,但是这并没有包括在本文中。



请求和应答代码

现在我具有一个客户端和一个Web服务,让我们来看看当我向Web服务发出请求时会发生什么。通过Web服务,SOAP请求和应答消息以同步或者异步方式被来回传送。这里我只是显示SOAP消息的一部分,它是与我正在调用的Web服务方法相关联的。我调用getOrdersByID 方法并且向它传递一个值为JANE的ID参数。

<getOrdersByID xmlns="http://www.openuri.org/">
            <ID>JANE</ID>
            </getOrdersByID>


在来自Web服务的应答中,我获得ordermasterfields数组,它表示ID为JANE的所有订单。

<ArrayOfordermasterfields xmlns="http://www.openuri.org/">
            <ordermasterfields>
            <orderNbr>1</orderNbr>
            <customerNbr>100</customerNbr>
            <employeeID>JANE</employeeID>
            <customerName>Johns Lock Shop</customerName>
            ......
            </ordermasterfields>
            </ArrayOfordermasterfields>


 
关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有