快速业务通道

设计与开发JAX-WS 2.0 Web服务 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-20
       "http://jawxs.ibm.tutorial/jaxws/orderprocess", "OrderProcess");    public static void main(String[] args) {      if (args.length != 1) {        System.out            .println("Specify the URL of the OrderProcess Web Service");        System.exit(-1);      }      URL url = getWSDLURL(args[0]);      OrderClient client = new OrderClient();      client.processOrder(url);    }    private static URL getWSDLURL(String urlStr) {      URL url = null;      try {        url = new URL(urlStr);      } catch (MalformedURLException e) {        e.printStackTrace();        throw new RuntimeException(e);      }      return url;    }    public void processOrder(URL url) {      OrderProcess orderProcessingService = new OrderProcess(url, qName);      System.out.println("Service is" + orderProcessingService);      OrderBean order = populateOrder();      OrderProcessService port = orderProcessingService.getOrderProcessPort();      OrderBean orderResponse = port.processOrder(order);      System.out.println("Order id is " + orderResponse.getOrderId());    }    private OrderBean populateOrder() {      OrderBean order = new OrderBean();      Customer customer = new Customer();      customer.setCustomerId("A123");      customer.setFirstName("John");      customer.setLastName("Smith");      order.setCustomer(customer);      // Populate Order Item.      OrderItem item = new OrderItem();      item.setItemId("11");      item.setQty(11);      order.getOrderItems().add(item);      return order;    } }

上面列出的 Web 服务客户机代码执行以下任务:

通过传入 OrderProcess Web 服务的 WSDL URL 和服务的 QName 创建 OrderProcess 类的实例。

创建 OrderBean 的实例,并使用 populateOrder() 方法填充订单信息。

对服务调用 getOrderProcessPort(),以检索到服务的代理(也称为端口)。端口实现服务所定义的接口。

调用端口的 processOrder 方法,并同时传入在上面的第二个列表项目中创建的 OrderBean 实例。

从服务获得 OrderBean 响应并输出订单 ID。

设计与开发JAX-WS 2.0 Web服务(8)

时间:2011-01-26 IBM Naveen Balani

运行 Web 服务客户机

要运行 Web 服务客户机,请首先从 JAXWS-Tutorial 文件夹运行以下命令来编译 Web 服务客户机:

javac com\ibm\jaxws\tutorial\service\client\OrderClient.java

通过使用以下命令提供订单处理 Web 服务的 WSDL URL 来运行 Web 服务客户机:

java com.ibm.jaxws.tutorial.service.client.OrderClient http://localhost:8080/OrderProcessWeb/orderprocess?wsdl

运行 Web 服务客户机时,会在控制台看到以下输出(OrderWebServicePublisher 在控制台中运行):

processOrder called for customer A123

Number of items is 1

在运行 Web 服务客户机的控制台中,会得到以下输出:

Order id is A1234

如上面的客户机代码中所示,并不会处理调用 Web 服务操作时使用的任何基于 SOAP 或 XML 的格式;相反,需要处理的是输入和输出消息的 JAXB 生成类,并使用服务接口和服务类对象

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