CXF开发WebService客户端

2023-11-12

 

开发必备

1apache-cxf-2.2.6

2spring-ws-1.5.8

3eclipse-jee-galileo-SR1-win32

 

开发步骤:

一、新建一个普通的java工程,名字叫WebService_CXF_Client

二、导入apache-cxf-2.2.6 spring-ws-1.5.8 下的jar

三、启动《CXF开发WebService服务器端》所开发的WebService服务器

四、进入apache-cxf-2.2.6/bin文件夹内,运行

 wsdl2java.bat http://localhost:8080/WebService_CXF_Host/service/HelloWorld?wsdl

将会在bin文件夹内生成一个demo文件夹

注意,可以查看demo.sprint文件夹内的HelloWorld.java接口,定义的aryMyObjects方法的返回值是List<MyObject>类型,尽管在服务器端定义接口的返回值类型是数组.

五、将整个demo文件夹剪切到WebService_CXF_Client工程的src目录下

六、src目录下新建一个client-beans.xml文件,内容如下:

<?xml version="1.0" encoding="UTF-8"?>

 

<beans xmlns="http://www.springframework.org/schema/beans"

       xmlns:jaxws="http://cxf.apache.org/jaxws"

       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

       xsi:schemaLocation="

http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd

http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">

 

    <bean id="client" class="demo.spring.HelloWorld"

      factory-bean="clientFactory" factory-method="create"/>

   

    <bean id="clientFactory" class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">

      <property name="serviceClass" value="demo.spring.HelloWorld"/>

      <property name="address" value="http://localhost:8080/WebService_CXF_Host/service/HelloWorld"/>

    </bean>

 

      <jaxws:client id="client2"

                  serviceClass="demo.spring.HelloWorld"

                  address="http://localhost:8080/WebService_CXF_Host/service/HelloWorld" />

</beans>

 

注意:client client2 是两种访问webservice的写法,效果一样。

 

七、新建含main方法的Client.java类,内容中下:

 

import java.util.ArrayList;

import java.util.List;

import org.springframework.context.support.ClassPathXmlApplicationContext;

import demo.spring.HelloWorld;

import demo.spring.MyObject;

 

 

public final class Client {

 

    private Client() {

    }

 

    public static void main(String args[]) throws Exception {

        // START SNIPPET: client

        ClassPathXmlApplicationContext context

            = new ClassPathXmlApplicationContext(new String[] {"client-beans.xml"});

 

        HelloWorld client = (HelloWorld)context.getBean("client2");

 

        System.out.println("begin stringInt method");

        int num=999;

        String text="i love you";

        String response = client.stringInt(text, num);

        System.out.println("Response: " + response);

       

        System.out.println("begin aryMyObjects method");

        List<MyObject> lstSource=new ArrayList<MyObject>();

        MyObject myObject1=new MyObject();

        myObject1.setId(0);

        myObject1.setName("000");

        MyObject myObject2=new MyObject();

        myObject2.setId(1);

        myObject2.setName("111");

        lstSource.add(myObject1);

        lstSource.add(myObject2);

       

        List<MyObject> lstResponse=client.aryMyObjects(lstSource);

        for(int i=0;i<lstResponse.size();i++){

               System.out.println("id: "+lstResponse.get(i).getId()+"   name: "+lstResponse.get(i).getName());

        }

       

        System.exit(0);

       }

}

 

至此,客户端也成功开发了。

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CXF开发WebService客户端 的相关文章

随机推荐

  • 大数据技术架构:构建大数据处理流程图

    随着大数据的快速发展 构建高效的大数据技术架构成为了现代企业的一个重要任务 在本文中 我们将详细介绍如何构建一个大数据技术架构 并使用流程图展示其各个组成部分和数据处理流程 大数据技术架构的目标是处理和分析海量的数据 并从中提取有价值的信息
  • mmocr初体验

    目录 1 安装mmocr 1 1 首先安装pytorch 1 2 安装mmcv 1 3 安装mmdetection 1 4 安装mmocr 2 训练 2 1 准备数据 2 2 开启训练 2 3 测试 1 安装mmocr 官方依赖 pytor
  • 解决js中 replace()使用的时候只替换一个 不替换全部的方法

    今天在写代码的时候 使用 replace 进行替换 但是只替换了前一个 于是我就找了下 解决方法是给你需要替换的加上个g 原来的代码 这是将空格替换成 但是只替换第一个 replace 改良后的代码 replace g 这样就能全部替换了
  • Pytorch之经典神经网络RNN(三) —— LSTM(simple data)(手写LSTM&反向传播)

    1997年提出的 LSTM是一种特殊的RNN 表现突出 很好地解决了训练RNN过程中的各种问题 在几乎各类问题中都展现出远好于Vanilla RNN的表现 LSTM 和基本的 RNN 是一样的 他的参数也是相同的 长期依赖 Long Ter
  • 开发常见问题汇总

    1 git的问题 在团队开发中使用git作为项目的版本管理和团队协作的工具 避免不了会出现问题 在我们的项目中 由于idea整合了git 所以 配置idea即可使用git 具体配置是在 File gt settings gt Git中 配置
  • 前端vue项目埋点方案

    前端埋点方案 前端埋点主要分为以下三类 代码埋点 在需要埋点的地方添加埋点逻辑代码或自定义属性实现 可视化埋点 使用可视化的工具进行埋点 即无痕埋点 前端页面加载时根据埋点配置 自动调用接口上传埋点数据 无埋点 前端自动采集全部事件并上报埋
  • python框架专栏-Flask框架篇①-基本介绍和安装

    1 Flask简介 Flask诞生于2010年 是Armin ronacher 人名 用 Python 语言基于 Werkzeug 工具箱编写的轻量级Web开发框架 Flask 本身相当于一个内核 其他几乎所有的功能都要用到扩展 邮件扩展F
  • LTE 网络UE端测量

    在LTE网络发生切换时首先需要激活UE端测量过程 UE端用户可采用以下方法实现 1 直接通过eNB的RRC实体实现 也是本文介绍 2 通过已有切换算法配置测量 3 开发新的切换算法并对其配置 首先需要研究测量的内容是什么 NS3通过LteR
  • 求二叉树第k层的结点个数

    tag 二叉树 层次遍历 思路 用层次遍历思路求解 辅助 队列 package com zhaochao tree import java util ArrayList import java util LinkedList import
  • Node.js EventEmitter事件

    Node js EventEmitter Node js 所有的异步 I O 操作在完成时都会发送一个事件到事件队列 Node js 里面的许多对象都会分发事件 一个 net Server 对象会在每次有新连接时触发一个事件 一个 fs r
  • Hibernate-操作数据库-类对象插入-1

    1为非带注解版本 框架 1为非带注解版本 工程框架 Student类 hibernate cfg xml log4j properties Student hbm xml StudentTest类 数据库结构以及表的设计 基于hiberna
  • allegro中pcb文件检查之dangling--line,danging--via

    在日常中 将PCB绘制完成后经常需要对于断线进行检查 在allegro中 可以快速进行检查并修改 步骤 tools quick report dangling lines via and antenna report 即可查看文件中的断线
  • CentOS8.4 配置本地yum源

    目录 挂载光盘 清除原仓库配置文件 配置本地仓库配置文件 查询本地已启用的仓库 尝试安装服务 此处以bind服务为例 易错点 下载链接 挂载光盘 root CentOS8 mkdir p mnt dvd root CentOS8 mount
  • 如何在IDEA中创建Web项目

    棒棒有言 也许我一直照着别人的方向飞 可是这次 我想要用我的方式飞翔一次 人生 既要淡 又要有味 凡事不必太在意 一切随缘 缘深多聚聚 缘浅随它去 凡事看淡点看开些 顺其自然 无意于得 就无所谓失 人生 看轻看淡多少 痛苦就远离你多少 本章
  • 强化学习12——动态规划与策略迭代和值迭代

    上一节我们说了马尔可夫决策过程 它是对完全可观测的环境进行描述的 也就是观测到的内容完整决定了决策所需要的特征 马尔可夫决策过程可以用方程组求解简单问题 但是对于复杂一点的问题 一般通过迭代的思想对其进行求解 动态规划是非常有效的求解马尔可
  • 计算着色器中线程的编号

    ID3D11DeviceContext Dispatch Method Execute a command list from a thread group Syntax void Dispatch in UINT ThreadGroupC
  • Rstudio与R的绑定和更新

    遇到新安装的R与Rstudio没有匹配或者想要更改R的版本 一些老的版本的安装包在新版R上可能不适用 可以如下操作 一 Rstudio与R的绑定 1 选择Tools里的Global Options选项 2 选择General更改R vers
  • webpack配置本地TypeScript编译环境和开启本地服务

    目录 1 创建一个文件夹 2 初始化一个package json文件对我们安装包进行记录 3 安装webpack 4 配置webpack config js文件 1 创建一个文件夹 2 初始化一个package json文件对我们安装包进行
  • pip安装pandas总是失败的解决办法

    先卸载numpy和pandas pip uninstall numpy pip uninstall pandas 再重新安装 按numpy pandas的顺序 1 pip install numpy i https pypi douban
  • CXF开发WebService客户端

    开发必备 1 apache cxf 2 2 6 2 spring ws 1 5 8 3 eclipse jee galileo SR1 win32 开发步骤 一 新建一个普通的java工程 名字叫WebService CXF Client