`
lovetocool
  • 浏览: 19896 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Java6 WebService客户端封装

阅读更多
在开发WebService客户端应用的时候,面临的最大挑战是事先不知道服务端要部署在哪里,端口是什么,因此Hello World的例子并不适合生产环境,还需要进一步的做改进。
 
改进的总体思想是将静态的部分替换为动态的,也就是说,将服务的ip和端口,做成动态参数,然后根据服务端的部署灵活改变这些配置参数。
 
下面针对前面的例子对客户端做一个改进。
 
1、写WebService服务的配置参数文件
 
wscfg.properties
#Java6WS服务的配置
Java6WS.wsip=192.168.14.117
Java6WS.wsport=8888
 
2、写配置参数获取工具
 
SysParamsToolkit.java
package lavasoft.common;

import java.io.IOException;
import java.util.Properties;

/**
* 媒资系统配置文件参数获取工具
*
* @author leizhimin 2009-11-16 15:21:22
*/


public final class SysParamsToolkit {
        private static Properties prop;

        private SysParamsToolkit() {
        }

        static {
                reload();
        }

        public static boolean reload() {
                boolean flag = true;
                prop = new Properties();
                try {
                        prop.load(SysParamsToolkit.class.getResourceAsStream("/wscfg.properties"));
                        flag = false;
                } catch (IOException e) {
                        e.printStackTrace();
                }
                return flag;
        }

        public static Properties getSysProperties() {
                return prop;
        }

        /**
         * 获取指定的系统属性值
         *
         * @param key 指定的属性名称
         * @return 指定的系统属性值
         */

        public static String getProperty(String key) {
                return prop.getProperty(key);
        }

        /**
         * 获取指定的系统属性值
         *
         * @param key                指定的属性名称
         * @param defaultVal 默认值
         * @return 指定的系统属性值
         */

        public static String getProperty(String key, String defaultVal) {
                return prop.getProperty(key, defaultVal);
        }

        public static void main(String[] args) {
                Properties prop = getSysProperties();
        }
}
 
3、修改Java6工具生成的代码,改静态的IP和端口为动态的参数。
 
这一步是最关键的一步,前面的都是准备工作,这一步才是实质性的工作,首先你要找到所生成客户端代码的服务接口实现类,在此是Java6WSService类。
@WebServiceClient(name = "Java6WSService", targetNamespace = "http://server.lavasoft/", wsdlLocation = "http://192.168.14.117:8080/java6ws/Java6WS?wsdl")
public class Java6WSService
                extends Service {
        private final static URL JAVA6WSSERVICE_WSDL_LOCATION;
        private final static Logger logger = Logger.getLogger(lavasoft.wsclient.Java6WSService.class.getName());

        static {
                String wsip = SysParamsToolkit.getProperty("wsip", "192.168.14.117");
                String wsport = SysParamsToolkit.getProperty("wsport", "8888");
                URL url = null;
                try {
                        URL baseUrl;
                        baseUrl = lavasoft.wsclient.Java6WSService.class.getResource(".");
                        url = new URL(baseUrl, "http://" + wsip + ":" + wsport + "/java6ws/Java6WS?wsdl");
                } catch (MalformedURLException e) {
                        logger.warning("Failed to create URL for the wsdl Location: '"+"http://" + wsip + ":" + wsport + "/java6ws/Java6WS?wsdl"+"', retrying as a local file");
                        logger.warning(e.getMessage());
                }
                JAVA6WSSERVICE_WSDL_LOCATION = url;
        }

......
 
到此,大功告成了,你的客户端代码具有了可配置功能了。可以不再担心服务端如何部署了。
 
运行一把看看:
 
由于客户端生成的代码超多,不能一一贴出,也没必要,详细源码请查看附件。

本文出自 “熔 岩” 博客,请务必保留此出处http://lavasoft.blog.51cto.com/62575/228026

分享到:
评论

相关推荐

    java版WebService生成客户端和服务端的实例

    本实例将详细讲解如何使用Apache Axis1.4工具来生成Java版的WebService服务端和客户端。 首先,让我们理解WebService的基本概念。WebService是一种基于HTTP协议的网络服务,它通过SOAP(Simple Object Access ...

    WebService客户端

    WebService客户端是基于Web服务技术的一种应用程序,它允许不同的系统之间通过互联网进行通信和交互。在分布式计算环境中,WebService客户端扮演着关键角色,使得各种应用程序能够跨平台、跨语言地共享数据和服务。 ...

    webservice客户端简单实例

    总结来说,本实例涉及的是在Windows 7环境下,使用Apache Tomcat和JDK创建一个基于JAX-WS的WebService客户端。这个过程包括获取WSDL文件,生成客户端代码,编写应用程序,部署和运行。理解并掌握这些步骤对于开发与...

    java调用WebService客户端.pdf

    在Java中调用WebService客户端是开发中常见的任务,主要用于与远程服务器进行数据交互。这篇PDF文档主要介绍了四种调用WebService的方式:HttpGet、HttpPost、HttpSoap和Documentation,并且提供了一个使用Apache ...

    清风教你手把手-写WebService客户端代码(Java版本)

    本教程将聚焦于如何使用Java语言来编写一个WebService客户端。我们将不涉及过多理论,而是侧重实践,一步步教你如何实现。 首先,理解WebService客户端的基本工作原理是必要的。客户端通常会通过SOAP(Simple ...

    webservice客户端生成工具

    客户端生成工具是实现Web服务交互的关键组件,它能够帮助开发者自动创建与WebService接口进行通信的客户端代码,大大简化了开发流程。本文将详细介绍关于Web服务客户端生成工具的相关知识点。 1. **Web服务标准与...

    JAVA调用webservice并解析xml

    2. **创建WebService客户端**:使用WSDL(Web Service Description Language)文件,你可以自动生成Java客户端代码。Eclipse和MyEclipse都有工具可以做到这一点。WSDL文件描述了Web服务的接口、操作、消息格式等。 ...

    XFire Java Web Service 客户端

    《XFire Java Web Service 客户端详解》 在当今的软件开发中,Web服务已经成为分布式系统间交互的重要手段。XFire,作为一个历史悠久的Java Web Service框架,为开发者提供了便捷的方式来创建、部署和消费Web服务。...

    Eclipse根据wsdl文件逆向生成webservice客户端项目源码

    本文将详细介绍如何在Eclipse环境中,利用WSDL文件逆向生成WebService客户端项目的源码。 首先,WSDL文件是一个XML格式的文档,它描述了Web服务的接口、操作、消息格式以及服务的位置。这个文件是服务提供者发布的...

    SAP&Java的Webservice实例

    在 Java 中,可以使用 Eclipse 和 Axis2 工具来创建 Webservice 客户端,然后使用该客户端来调用 SAP 的 Webservice。 首先,需要下载Axis2 的 jar 包,然后在 Eclipse 中创建一个新的 Java 项目,添加 Axis2 的 ...

    java调用WebService(客户端).pdf

    【Java调用WebService客户端详解】 在Java开发中,与远程服务进行交互是常见的需求,而WebService作为基于标准的跨平台通信方式,提供了多种调用方式。本文将详细讲解如何使用Java来作为客户端调用WebService,主要...

    java webservice服务端及客户端简单示例

    简单的webservice示例,及使用java工具生成客户端 在JDK1.6版本以后,在<JAVA_HOME>/bin目录下有一个wsimport.exe工具,该工具可以根据wsdl文件自动生成webservice接口调用的java客户端代码,十分方便。而自己仅需要...

    java 调用 webService工具类

    总的来说,"java 调用 webService工具类"是一个用于简化Java应用程序调用SOAP WebService的实用工具,它封装了请求构建、发送、响应处理等复杂流程,让开发者能更专注于业务逻辑而不是底层通信细节。了解并熟练使用...

    WebService接口封装代码

    1. **创建WebService客户端**:这是调用远程WebService的第一步,通常需要根据WSDL文件生成客户端代理类。在Java中,可以使用JAX-WS的wsimport工具,而在.NET中,有Visual Studio的Add Service Reference功能。 2. ...

    webservice在java中客户端调用

    在Java中,调用WebService客户端通常涉及以下步骤: 1. **理解SOAP协议**:WebService主要基于SOAP(Simple Object Access Protocol)协议,它是XML格式的消息传输协议,用于交换结构化和类型化的信息。理解SOAP...

    webservice 和android 调用客户端

    以上就是关于"webservice和android调用客户端"的相关知识点,涵盖了WebService的基本原理、Android客户端调用WebService的流程、以及可能涉及的安全和优化措施。理解并掌握这些内容对于开发Android应用与服务器的...

    WebService客户端调用服务器数据库

    【WebService客户端调用服务器数据库】 在信息技术领域,WebService是一种基于开放标准(如XML、WSDL和SOAP)的互操作协议,允许不同系统之间交换数据。本文将深入探讨如何使用WebService客户端来调用服务器上的...

    Java webService服务端封装

    在Java开发中,WebService是一种基于XML的通信标准,它允许不同系统之间进行数据交换,不受平台限制。本项目主要关注的是在服务端如何对WebService进行封装,以提高代码的复用性和可维护性。 首先,我们需要理解...

    jax webservice 服务器和客户端示例程序

    - **生成客户端代理**:使用`wsimport`工具,根据服务的WSDL生成客户端所需的Java类,这些类封装了与服务交互的逻辑。 - **实例化客户端代理**:创建客户端代理类的实例,通过调用其方法来执行Web服务请求。 - **...

    客户端编程方式调用webservice

    本篇文章将详细介绍如何通过客户端编程方式使用Java调用WebService。 首先,让我们理解Java中调用WebService的基本步骤: 1. **获取WSDL文件**:WSDL是WebService的接口定义,它描述了服务的位置、服务提供的操作...

Global site tag (gtag.js) - Google Analytics