码迷,mamicode.com
首页 > Web开发 > 详细

(三)调用web服务

时间:2017-10-11 14:05:08      阅读:232      评论:0      收藏:0      [点我收藏+]

标签:rem   soa   接口   orm   ges   myeclipse   lin   案例   oca   

  1.  使用代理模式调用,需要将服务端的接口类拷贝到客户端中。(不常用,因为不大可能拿到服务端的接口类。) 
  2.    通过客户端桩的方式。

   3.  发送原始的soap消息。

 

 

一、使用代理模式

技术分享

 

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文档地址。

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

技术分享

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

 

   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服务

标签:rem   soa   接口   orm   ges   myeclipse   lin   案例   oca   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!