扫码咨询 电话咨询
023-68661681
返回
顶部

Loding the player....

本视频来由慧都网提供   查看原视频>>

开发JAX-WS Web Services for WebSphere

开发JAX-RPC Web Services for WebSphere(上)一文中,小编为大家介绍了如何创建一个Web服务项目、如何创建一个服务类和Web服务,以及部署项目等内容。接下来小编将为大家介绍另外两节内容,希望能够帮助到大家。

5. 连接到Web服务来进行测试

(1)通过点击相应图标加载Web服务浏览器。

(2)在Web服务资源管理器工具栏上单击相应图标,然后点击单击WSDL Main链接来打开Open WSDL页面。

开发JAX-RPC Web Services for WebSphere(下)
打开WSDL页面

(3)在WSDL URL字段中输入http://localhost:9080/WebServiceProject/services/Calculator?WSDL,然后点击Go。

URL被分解成以下组件:

  • http://localhost:9080—服务器在本地主机上运行,Web项目的端口被绑定为默认的9080端口。为了证实这一点,当服务器部署一个新的Web项目时,您可以在控制台视图中看到端口已经绑定到部署它的端口上了。
  • /WebServiceProject—在默认情况下,Web上下文根目录用于部署与Web项目匹配的项目名称,因为我们没有为这个项目定制Web上下文根目录,它与项目名称相同。
  • /services/Calculator—正如在第3节中的截图所示,当生成JAX-RPC Web服务时,在 theweb.xml文件中它使用了servlet-mapping到/services/Calculator路径中。
  • ?WSDL—这是一个普遍的查询字符串参数,当添加到Web服务末尾时,Web服务会返回全部WSDL给调用者。在这种情况下,WSDL被返回到Web服务资源管理器工具上,它加载并显示公开操作的Web服务。

Web服务资源管理器加载从这个Web服务中分解的所有操作。

开发JAX-RPC Web Services for WebSphere(下)
公开的Web服务操作

(4)为了测试Web服务,请在导航器中单击Add操作来使用浏览器测试它。调用WSDL操作页面出现在资源管理器中。该页面显示您正在测试的端点(运算器),同时每个参数操作需要一个字段输入测试值。

(5)在a和b字段中输入值10和20,然后单击Go。

开发JAX-RPC Web Services for WebSphere(下)
测试添加操作

在这种情况下,从Web服务的状态会显示30的响应。

6. 为Web服务创建一个客户端

Web服务客户端允许您直接与Web服务及其分解操作进行交互,而无需编写所有的编组或连接代码。

在MyEclipse中,当您生成一个Web服务时,您将在同一时间得到生成Web服务客户端的选项。您可以在任何时间使用此功能,但是在本教程中,我们认为更典型的情况时需要对一个已部署的Web服务创建一个Web服务客户端,而不是为正在生成的服务。

在本节中,您在一个单独的Java项目中生成一个Web服务客户端,因为Web服务已经部署并挂钩到它上面了。在本教程中,这使得Web服务和Web服务客户端创建之间的界限非常清楚地分开。

(1)单击下拉箭头,选择Java项目。

(2)在项目名称字段中输入WebServiceClientProject,然后单击完成。

开发JAX-RPC Web Services for WebSphere(下)
新的Java项目窗口

(3)单击下拉箭头,然后选择New Web Service Client。

(4)从项目的下拉菜单中选择您的Web服务客户端,选择AX-RPC框架选项,并选择WebSphere服务器作为目标服务器。这提供了MyEclipse调用来创建JAX-RPC客户端的Web服务代服务。然后单击下一步。

开发JAX-RPC Web Services for WebSphere(下)
创建一个新的Web服务客户端

(5)请务必选择WSDL URL选项,并输入http://localhost:9080/WebServiceProject/services/Calculator?WSDL在WSDL URL字段中。

您可以使用命名空间来打包映射列表定制基于源WSDL文件中定义的命名空间中产生的包。如果不指定映射,生成工具会选择一个合适的默认映射。

开发JAX-RPC Web Services for WebSphere(下)
为客户端指定WSDL URL

(6)单击下一步。MyEclipse加载Web服务验证的WSDL,让您知道WSDL可能存在的问题。

注意:如果使用验证发生任何错误,请确保Web服务部署和应用服务器托管正在运行。如果您想生成客户端的第三方Web服务,并且在验证过程中出错,将其带到了Web服务的作者请注意,如果可能的话,这样就能够纠正错误。

开发JAX-RPC Web Services for WebSphere(下)
验证状态

(7)单击完成所有MyEclipse生成的客户端都为您服务。

已经生成客户端后,一个新的包出现在您的src目录中,同时还有一些新的类可以同Web服务一起工作。

开发JAX-RPC Web Services for WebSphere(下)
在SRC文件夹中生成的类

随着新资源的生成,您可以使用运算器的ServiceLocator类访问引用到Web服务,然后执行您的公开操作(加,减,乘,除)。

举个例子说,您要计算以下4个运算:

  • 3和7相加
  • 12和2相减
  • 9和9相乘
  • 40和2相除
6.1 使用Web服务操作

在这个示例中,添加从Web服务中使用操作来确保这些计算的代码。首先,您需要在他的主函数中创建一个新的类。

(1)右键单击com.myeclipseide.ws包,并选择New> Class。

(2)将它命名为WebServiceClient,选择Public static void main复选框,然后单击完成。

开发JAX-RPC Web Services for WebSphere(下)
新的Java类包含的主要函数

当您创建类之后,您需要将提供上述四个数学计算的主要实现方法同Web服务一起执行这些计算,然后输出到控制台结果的代码如下:

package com.myeclipseide.ws;
import java.rmi.RemoteException;
import javax.xml.rpc.ServiceException;

public class WebServiceClient {

public static void main(String[] args) throws ServiceException, RemoteException {
/* Create a locator instance */
CalculatorServiceLocator locator = new CalculatorServiceLocator();
/* Get access to the service using the locator */
Calculator_SEI calculator = locator.getCalculator();
/* Using the web service, perform the 4 calculations */
System.out.println("1. 3+7=" + calculator.add(3, 7));
System.out.println("2. 12-2=" + calculator.subtract(12, 2));
System.out.println("3. 9*9=" + calculator.multiply(9, 9));
System.out.println("4. 40/2=" + calculator.divide(40, 2)); }
}

注意:之所以定义的主要函数抛出ServiceException和RemoteException是为了避免在主要函数中实现try-catch块。在写一个真正的客户端时,捕捉和处理异常的情况也是编写好的代码的重要组成部分。

(3)在上面显示代码的Java类文件中替换默认代码,然后点击保存。

开发JAX-RPC Web Services for WebSphere(下)

(4)通过右键单击来运行类,选择Run As(或Debug As)>Java Application。

开发JAX-RPC Web Services for WebSphere(下)
为一个Java应用程序运行类

该客户端运行代码后,使用它生成的定位器类访问Web服务,然后再控制台中会出现下面的输出:

开发JAX-RPC Web Services for WebSphere(下)