import javax.xml.namespace.QName;

import org.apache.axis2.AxisFault;

import org.apache.axis2.addressing.EndpointReference;

import org.apache.axis2.client.Options;

import org.apache.axis2.rpc.client.RPCServiceClient;

public class WSClient {

/**

     * @param args

     */

    

    //通过webservice获得密码的方法

    public String getPassword(String userName,String envType){

        String result="";

        String serviceUrl="http://localhost/axis2/services/GetPassword";

        try {

        //  使用RPC方式调用WebService          

            RPCServiceClient serviceClient = new RPCServiceClient();  

            Options options = serviceClient.getOptions();  

            //  指定调用WebService的URL  

            EndpointReference targetEPR = new EndpointReference(serviceUrl);

            options.setTo(targetEPR);

            //  指定getPsw方法的参数值  

            Object[] opAddEntryArgs = new Object[] {userName,envType};  

            //  指定getPsw方法返回值的数据类型的Class对象  

            Class[] classes = new Class[] {String.class};  

            //  指定要调用的getPsw方法及WSDL文件的命名空间  

            QName opAddEntry = new QName("http://ws.apache.org/axis2", "getPsw");

            

            //  调用getPsw方法并输出该方法的返回值  

            

            result = serviceClient.invokeBlocking(opAddEntry, opAddEntryArgs, classes)[0].toString() ;

            //System.out.println("---------------Password--------------"+result);

            

        }

        catch (AxisFault e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }  

        return result;

    }

    

    public static void main(String[] args) {

        // TODO Auto-generated method stub

        

        String userName="Test";

        String envType="Test";

        String s ="";

        WSClient wsClinet = new WSClient();

        s = wsClinet.getPassword(userName, envType);

        System.out.println("-------Jake Yu S------------"+s);

        

/*        

        try {

            //  使用RPC方式调用WebService          

                RPCServiceClient serviceClient = new RPCServiceClient();  

                Options options = serviceClient.getOptions();  

                //  指定调用WebService的URL  

                EndpointReference targetEPR = new EndpointReference(  

                        "http://localhost/axis2/services/GetDBStatus");  

                options.setTo(targetEPR);  

                //  指定sayHelloToPerson方法的参数值  

                Object[] opAddEntryArgs = new Object[] {""};  

                //  指定sayHelloToPerson方法返回值的数据类型的Class对象  

                Class[] classes = new Class[] {String.class};  

                //  指定要调用的sayHelloToPerson方法及WSDL文件的命名空间  

                QName opAddEntry = new QName("http://ws.apache.org/axis2", "getStatus");  

                //  调用sayHelloToPerson方法并输出该方法的返回值  

                System.out.println(serviceClient.invokeBlocking(opAddEntry, opAddEntryArgs, classes)[0]);

            } catch (AxisFault e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }  */

        

    }

}

备注:需要导入Axis2中所有的包.

Java如何访问Axis2服务端的更多相关文章

  1. JAVA通过http访问其他服务端API

    项目要实现这么一个功能,用户通过点击按钮,通过axios来访问python的API(算法,java不好做)得到一个结果存储到数据库并且返回到页面. 但是python不是在tomcat上面运行的,所以不 ...

  2. CAS 5.1.x 的搭建和使用(四)—— 配置使用HTTP协议访问的服务端

    CAS单点登录系列: CAS 5.1.x 的搭建和使用(一)—— 通过Overlay搭建服务端 CAS5.1.x 的搭建和使用(二)—— 通过Overlay搭建服务端-其它配置说明 CAS5.1.x ...

  3. java开源即时通讯软件服务端openfire源码构建

    java开源即时通讯软件服务端openfire源码构建 本文使用最新的openfire主干代码为例,讲解了如何搭建一个openfire开源开发环境,正在实现自己写java聊天软件: 编译环境搭建 调试 ...

  4. java http post/get 服务端和客户端实现json传输

    注:本文来源于<java http post/get 服务端和客户端实现json传输> 最近需要写http post接口所以学习下. 总的还是不难直接上源码! PostHttpClient ...

  5. webservice -- cxf客户端调用axis2服务端

    背景: 有个项目, 需要由第三方提供用户信息, 实现用户同步操作, 对方给提供webservice接口(axis2实现)并也使用axis2作主客户端调用我方提供的webservice接口 起初, 由于 ...

  6. Java的oauth2.0 服务端与客户端的实现

    oauth原理简述 oauth本身不是技术,而是一项资源授权协议,重点是协议!Apache基金会提供了针对Java的oauth封装.我们做Java web项目想要实现oauth协议进行资源授权访问,直 ...

  7. [Java]Hessian客户端和服务端代码例子

    简要说明:这是一个比较简单的hessian客户端和服务端,主要实现从客户端发送指定的数据量到服务端,然后服务端在将接收到的数据原封不动返回到客户端.设计该hessian客户端和服务端的初衷是为了做一个 ...

  8. 允许浏览器跨域访问web服务端的解决方案

    今天和同事探讨了前后端如何真正实现隔离开发的问题,如果前端单独作为服务发布,势必会涉及到无法直接调用后端的接口的问题,因为浏览器是不允许跨域提交请求的. 所谓跨域访问,就是在浏览器窗口,和某个服务端通 ...

  9. Java网络编程(TCP服务端)

    /* * TCP服务端: * 1.创建服务端socket服务,并监听一个端口 * 2.服务端为了给客户端提供服务,获取客户端的内容,可以通过accept方法获取连接过来的客户端对象 * 3.可以通过获 ...

随机推荐

  1. IOS开发错误提示原因集合-----长期更新

    "[__NSCFConstantString size]: unrecognized selector sent to instance." =>将NSString类型的参数 ...

  2. 关于qt学习的一点小记录(2)

    嗯...这次接了个单 要求图形界面,刚好可以巩固并学习下QT.毫不犹豫的就接了 下面记录下出现的问题: 1. QWidget和QDialog QDialog下的槽函数有accept()与reject( ...

  3. Hive 2、Hive 的安装配置(本地MySql模式)

    一.前提条件 安装了Zookeeper.Hadoop HDFS HA  安装方法: http://www.cnblogs.com/raphael5200/p/5154325.html 二.安装Mysq ...

  4. php利用pdo进行mysql的事务处理机制

    想进行php的事务处理有下面几个步骤 1.关闭自动提交 2.开启事务处理 3.有异常就自动抛出异常提示再回滚 4.开启自动提交 下面是一个小示例利用pdo进行的php mysql事务处理,注意mysq ...

  5. Scala-Partial Functions(偏函数)

    如果你想定义一个函数,而让它只接受和处理其参数定义域范围内的子集,对于这个参数范围外的参数则抛出异常,这样的函数就是偏函数(顾名思异就是这个函数只处理传入来的部分参数). 偏函数是个特质其的类型为Pa ...

  6. blockUI

    组件主页 主要使用到 blockUI 组件实现 将jquery和组件的JS下载到本地 然后直接就可以实现遮罩层功能 显示遮罩层:$.blockUI(); 隐藏遮罩层:$.unblockUI(); 该网 ...

  7. samba服务器概述

    一.samba服务器概述 Samba是一个能让Linux系统应用Microsoft网络通信协议的软件.而SMB是Server Message Block的缩写,即为服务器消息块.SMB主要作为Micr ...

  8. iOS面试题集

    现在寒假时间在家里面无法敲代码了,但是自己总要找些事情来做,回头想想马上就要开始就业了,所以不免要参加面试,于是便开始了面试题集的浏览和探索,今天下午我看了一部分的面试题感觉还是挺实用的,所以以后还是 ...

  9. jquery selector

    jquery的选择器功能 1 :lt(index) selector 一组元素选择index之前的元素,若index<0 则倒着选过来 http://api.jquery.com/lt-sele ...

  10. 如何排版 微信公众号「代码块」之 MarkEditor

    前段时间写过一篇文章 如何排版微信公众号「代码块」,讲的是如何使用浏览器插件 Markdown Here 来排版代码块.虽然用 Markdown Here 排版出来的样式还不错,但存在一个问题,就是代 ...