分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > IT知识

(三)调用web服务

发布时间:2023-09-06 01:16责任编辑:沈小雨关键词:暂无标签
  • (二)发布第一个WebService服务与DSWL文档解析 讲解了如何发布一个web服务,本章主要讲述如何调用一个web服务。
    •   这里有三种方式:
  1.  使用代理模式调用,需要将服务端的接口类拷贝到客户端中。(不常用,因为不大可能拿到服务端的接口类。) 
  2.    通过客户端桩的方式。

   3.  发送原始的soap消息。

一、使用代理模式

  • 需要将服务端的接口类拷贝到客户端中。
  • 本例所调用的服务为(二)发布第一个WebService服务与DSWL文档解析 这个章节所发布的web服务,也就是说需要把该服务的接口类拷贝到客户端中。
package test;import java.net.MalformedURLException;import java.net.URL;import javax.xml.namespace.QName;import javax.xml.ws.Service;import service.WebService_1;/** * 使用代理模式 1.需要将服务端的接口类拷贝到客户端中。 * ?* @author Administrator * */public class Test { ???public static void main(String[] args) { ???????try { ???????????// wsdlDocumentLocation是所调用服务的wsdl地址 ???????????URL wsdlDocumentLocation = new URL("http://localhost:3031/first?wsdl"); ???????????// QName构造函数的第一个参数是所调用服务的wsdl的命名空间。第二个参数是所调用的服务名 ???????????QName serviceName = new QName("http://service/", "WebService_1_implService"); ???????????Service service = Service.create(wsdlDocumentLocation, serviceName); ???????????????????????//通过getport获取到的是一个代理对象,而不是接口对象 ???????????WebService_1 webService_1 = service.getPort(WebService_1.class); ???????????int result = webService_1.add(25, 10); ???????????System.out.println("result===" + result); ???????} catch (Exception e) { ???????????e.printStackTrace(); ???????} ???}}

结果:

二、客户端桩

  • 通过wsdl地址或者wsdl文档,生成客户端的调用类,被称为客户端桩的方式。

  • 步骤:
    1.  使用eclipse/myeclipse工具来生成客户端(内部调用jdk命令)(本例中使用)。
    2.    使用jdk命令来生成客户端。
    3. 该图为jdk命令,其中 -d表示存放客户端代码的目录,http://localhost:4040/first?wsdl为要生成客户端的wsdl文档地址。

       该命令生效后,会生成目录:

  其中,客户端代码就在这个目录下。

  •  案例:(使用工具生成客户端)
    •   本例所调用的服务为(二)发布第一个WebService服务与DSWL文档解析 这个章节所发布的web服务

   1.  生成客户端。

package test;import java.rmi.RemoteException;import service.WebService_1;import service.WebService_1Proxy;public class Test { ???public static void main(String[] args) throws RemoteException { ???????WebService_1 weService_1 = new WebService_1Proxy().getWebService_1(); ???????int res = weService_1.add(20, 50); ???????System.out.println("res=" + res); ???}}

结果:

 三、发送原始的soap消息

(三)调用web服务

原文地址:http://www.cnblogs.com/shyroke/p/7649959.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved