zoukankan      html  css  js  c++  java
  • Java与WCF交互(一):Java客户端调用WCF服务 (转)

    http://blog.csdn.net/downmoon/article/details/5834773

    最近开始了解WCF。写了个最简单的Helloworld,想通过java客户端实现通信。没想到以我的基础,居然花了整整两天(当然是工作以外的时间,呵呵),整个过程大费周折,特写下此文,以供有需要的朋友参考:

    第一步:生成WCF服务

    新建WCF解决方案,分别添加三个项目,HelloTimeService(类库),HelloTimehost(控制台程序),HelloTimeClient(控制台程序),项目结构如图:
    邀月工作室
    各个项目的主要代码:
    service:
    邀月工作室

    Host:
    邀月工作室

    Client:
    邀月工作室

    编译通过后,测试Host和Client分别成功:
    邀月工作室

    邀月工作室

    保持Host程序打开,这样,WCF服务就一直可以被外部程序调用。当然也包括Java客户端。

    我们看看生成的WSDL

    邀月工作室

    邀月工作室

    第二步:调用WCF生成的WSDL生成java客户端。

    首先,请允许我介绍下axis2,它的官方地址:http://ws.apache.org/axis2/

    这是一个java平台的web service解决方案。我们最常用的是WSDL2Java和Java2WSDL两个功能。

    关于Web service的另一个解决方案是xFire,我没试过。

    关于命令行执行WSDL2Java,我也没有执行成功! 我这里介绍的是Code Generator Wizard - eclipse Plug-in,一个Eclipse的插件。而且是在参考了众多解决方案才配置成功!

    特别感谢yycxbjl 的这篇文章:http://www.cnblogs.com/yycxbjl/archive/2010/06/14/1758063.html

    我的Java整个配置环境:

    1.安装JDK并配置环境变量

      JAVA_HOME=D:/2000/Java/JDKUpdate(注意,不带版本号是为了以后升级时只复制文件,而不必修改环境变量。)
    path=%JAVA_HOME%/bin;
    classpath=.;%JAVA_HOME%/lib;%JAVA_HOME%/lib/tools.jar

    2.下载并安装Eclipse3.6 ,就是大家熟悉的太阳神Helios (解压即可)
      解压到:D:/2000/Java/Eclipse

    3.下载Tomcat6.0.29 (本文中使用的是绿色版,故解压即完成)
      解压到:D:/2000/Java/tomcat(注意,不带版本号是为了以后升级时只复制文件,而不必修改环境变量。)
      由于安装的是tomcat6.0不用配置tomcat的环境变量,至于以前的版本可以查资料。
      需要设置TOMCAT_HOME,CATAlINA等环境变量


    4.从    http://ws.apache.org/axis2/download/1_4_1/download.cgi 下载 axis2-1.4.1-bin.zip
    解压到:D:/2000/Java/Axis2,注意不要下载Axis2 1.5.1,原因 yycxbjl 说: “最新版的 1.5.0 与 1.5.1 中没有 backport-util-concurrent-3.1.jar, 无法解决:使用axis2-eclipse-codegen-wizard插件,从wsdl文件生成java文件时出错无法继续的问题,故不使用。)

    5.下载1.4.1版的 axis2-eclipse-codegen-wizard 与 axis2-eclipse-service-archiver-wizard

    http://ws.apache.org/axis2/tools/1_0/eclipse/wsdl2java-plugin.html#operation1

    (但解压后里面显示是1.3.0, 解压到:D:/2000/java/Eclipse/dropins  (连压缩包中的根目录一起解压出来)。也可以用传统的link方法部署。

    复制  D:/2000/Java/Axis2/lib/backport-util-concurrent-3.1.jar 与 geronimo-stax-api_1.0_spec-1.0.1.jar
    到:D:/2000/Java/Eclipse/dropins/Axis2_Codegen_Wizard_1.3.0/lib,  并编辑:D:/2000/Java/Eclipse/dropins/Axis2_Codegen_Wizard_1.3.0/plugin.xml
    在 runtime 下 添加
          <library name="lib/backport-util-concurrent-3.1.jar">
             <export name="*"/>
          </library>
          <library name="lib/geronimo-stax-api_1.0_spec-1.0.1">
             <export name="*"/>
          </library>

    将Axis2_Codegen_Wizard_1.3.0重命名为Axis2_Codegen_Wizard_1.4.1,(这是整个部署的关键!这里邀月折腾了整整一天!)

  • 相关阅读:
    cppPrimer学习18th
    cppPrimer学习17th
    cppPrimer学习15th
    常用网站记录
    cppPrimer学习16th
    关于nfs内网穿透frp/nps的问题记录
    unp[unix 网络环境编程]学习 vscode环境搭建
    cppPrimer学习14th
    cppPrimer学习14th
    cppPrimer学习13th
  • 原文地址:https://www.cnblogs.com/quietwalk/p/2255102.html
Copyright © 2011-2022 走看看