maven版axis2调用cxf服务端开发客户端(三)

一、新建一个maven项目

二、pom.xml引入axis2依赖

<dependency>
    <groupId>org.apache.axis2</groupId>
    <artifactId>axis2</artifactId>
    <version>1.6.2</version>
</dependency>
<dependency>
    <groupId>org.apache.axis2</groupId>
    <artifactId>axis2-adb</artifactId>
    <version>1.6.2</version>
</dependency>
<dependency>
    <groupId>org.apache.axis2</groupId>
    <artifactId>axis2-transport-http</artifactId>
    <version>1.6.2</version>
</dependency>
<dependency>
    <groupId>org.apache.axis2</groupId>
    <artifactId>axis2-transport-local</artifactId>
    <version>1.6.2</version>
</dependency>
<dependency>
    <groupId>org.apache.axis2</groupId>
    <artifactId>axis2-kernel</artifactId>
    <version>1.6.2</version>
</dependency>

三、编写接口调用测试类

public static void main(String[] args) throws Exception {
    //本机tomcat端口默认为8080
    EndpointReference targetEPR = new EndpointReference("http://localhost:8080/CxfWSServer/webservice/helloWorld");
    RPCServiceClient sender = new RPCServiceClient();
    Options options = sender.getOptions();
    options.setTimeOutInMilliSeconds(2*20000L);//超时时间20s
    options.setTo(targetEPR);  

    QName qname = new QName("http://ws.xie.com/", "sayHi");
    String str = "April";
    Object[] param = new Object[]{str};
    Class<?>[] types = new Class[]{String.class};  //这是针对返值类型的
    /**
     * RPCServiceClient类的invokeBlocking方法调用了WebService中的方法。
     * invokeBlocking方法有三个参数
     * 第一个参数的类型是QName对象,表示要调用的方法名;
     * 第二个参数表示要调用的WebService方法的参数值,参数类型为Object[];
     * 第三个参数表示WebService方法的返回值类型的Class对象,参数类型为Class[]。
     *
     * 当方法没有参数时,invokeBlocking方法的第二个参数值不能是null,而要使用new Object[]{}。
     */
    Object[] response = sender.invokeBlocking(qname, param, types);
    System.out.println(response[0]);
}

注意:代码中标红的地方分别对应如图所示三个地方

时间: 2024-10-20 01:36:54

maven版axis2调用cxf服务端开发客户端(三)的相关文章

java axis调用WebService 服务端,客户端

服务端: 1.Calculator package ws; public class Calculator { public int add(int a, int b) { return (a + b); } public int subtract(int a, int b) { return (a - b); } public int multiply(int a, int b) { return (a * b); } public int divide(int a, int b) { ret

服务端开发笔记三:pemelo开发过程中遇到的问题

一 登录顶号 问题: 首先需要弄明白的是,一个客户端只有一个pomelo实例. 当用户登录之后,不退出,重启客户端. 服务器检测到玩家已经登录,会将之前的登录踢下线,客户端会触发disconnect事件,在disconnect中断开pomelo链接. 这样导致当前的链接也被断掉了. 解决方案: 目前处理方式是在disconnect中不断开链接.但这样处理有个问题,当服务器链接不上时,会有一个报错. 原因目前还在查找,找到了再来更新,有路过的小伙伴儿有其他的解决方案也欢迎留言讨论. 二 数据库触发

关于一个WCF调用的服务端和客户端的配置信息集合

客户端的配置我知道. 但是: httpTransport maxReceivedMessageSize="2147483647" <dataContractSerializer maxItemsInObjectGraph="2147483647"/> <httpRuntime maxRequestLength="2097151"/> 上述三个还真没有如何用过! http://www.cnblogs.com/xuezhi/a

DSAPI多功能组件编程应用-HTTP监听服务端与客户端_指令版

前面介绍了DSAPI多功能组件编程应用-HTTP监听服务端与客户端的内容,这里介绍一个适用于更高效更快速的基于HTTP监听的服务端.客户端. 在本篇,你将见到前所未有的超简化超傻瓜式的HTTP监听服务,与前篇中的不同,在DSAPI中,指令版同时包含了服务端与客户端. 先来看一下使用方法,几乎不需要太多的说明,当然,它是支持事件的.所谓指令版,即服务端和客户端收发都是基于短字串的,比如客户端发一个"hello",服务端收到这个指令后返回一个"Hi".为确保传输的数据有

使用Apache CXF开发WebServices服务端、客户端

在前一篇的博客中,我使用Xfire1.x来开发了WebServies的服务端. 但是如果你访问Apache的官网,可以看到xfire已经被合并了. 最新的框架叫做CXF. Apache CXF = Celtix + XFire. CXF 继承了 Celtix 和 XFire 两大开源项目的精华, 提供了对 JAX-WS 全面的支持,并且提供了多种 Binding .DataBinding.Transport 以及各种 Format 的支持,并且可以根据实际项目的需要,采用代码优先(Code Fi

现代Java服务端开发核心技术栈

现代Java服务端开发核心技术栈 现代Java服务端开发核心技术 Java语言基础篇 互联网生态下的Java Java开发工具箱 Java基础项目搭建 Java数据存储 Java数据运算 Java程序流程控制 Java数组 Java面向对象程序设计 Java异常处理 Java枚举 Java注解 Java 泛型 Java集合 Java IO Java NIO Java操作数据库 Java日志 Java操作XML Java正则表达式 Java8新特性实战 Java9新特性实战 Java10新特性实战

现代Java服务端开发核心技术之开发工具箱

现代Java服务端开发核心技术之开发工具箱 现代Java服务端开发核心技术 2.1 开发工具概述 俗话说,工欲善其事必先利其器,掌握一些日常开中常用的工具软件能够大大提开发效率,工具本身的目的也是解放生产力.在安装各种软件时注意如果没有特殊需要不必使用最新版本,尤其是操作系统,例如当前(2018/10/12)最新版的macOS是10.14,但是运行在macOS之上的其他应用软件可能还没有及时做兼容新系统的版本,可能在系统升级之后无法正常使用,因此推荐在新系统正式推出半年后再升级最为稳妥. 而且软

从架构师视角看是否该用Kotlin做服务端开发?

前言 自从Oracle收购Sun之后,对Java收费或加强控制的尝试从未间断,谷歌与Oracle围绕Java API的官司也跌宕起伏.虽然Oracle只是针对Oracle JDK8的升级收费,并释放了OpenJDK一直开源这份善意,但是如果没有各个大非Oracle的JVM.JDK和众多其它基于JVM的语言,Oracle这份善意能维持到什么时候可不好说. 大厂要从JVM和JDK的层面早做打算,而广大中小企业,就只能先从Java语言的层面,先找到Oracle以外的备胎.自从被谷歌钦定为Android

grpc(3):使用 golang 开发 grpc 服务端和客户端

1,关于grpc-go golang 可以可以做grpc的服务端和客户端. 官网的文档: http://www.grpc.io/docs/quickstart/go.html https://github.com/grpc/grpc-go 和之前写的java的grpc客户端调用相同.也需要使用protobuf的配置文件. 但是golang下面的类库非常的简单,而且golang的性能也很强悍呢. 有些简单的业务逻辑真的可以使用golang进行开发. 性能强悍而且,消耗的资源也很小.java感觉上已