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. poj3299

                                                                                                         ...

  2. Windows无需CygWin 使用NDK开发

    无需cygwin,使用NDK进行开发   NDK从7开始自带编译器,在windows上无需配置cygwin的环境. 在eclips中配置NDK路径 在eclipse中点击菜单栏window-Perfe ...

  3. Thinkphp将中文年份转换为数字年份的问题

    今天遇到一个问题:想将中文年份转换为数字年份,例如:"二零一六"-->'2016'. 在网上搜了一下,没找到可以直接处理的函数(也许是我搜索信息的能力有限吧>_< ...

  4. Handsontable 新增一行 默认值

    效果图:

  5. VS2008 由于应用程序配置不正确,应用程序未能启动。重新安装应用程序可能会纠正这个问题。

    提示这个错误,自己的程序是在VS2008下编译的C/C++ win32程序,自己当时在win7上开发测试,都没有问题,正常使用,也在另一台xp系统上也试了,都没有问题.就发给客户了,没想到有些客户竟然 ...

  6. jqGrid源代码分析(一)

    废话少说.先上grid.base.js 整体结构图 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc3B5MTk4ODEyMDE=/font/5a6L5L2 ...

  7. .NET基础拾遗(1)类型语法基础和内存管理基础2

    二.内存管理和垃圾回收 2.1 .NET中栈和堆 每一个.NET应用程序最终都会运行在一个OS进程中,假设这个OS的传统的32位系统,那么每个.NET应用程序都可以拥有一个4GB的虚拟内存..NET会 ...

  8. asp.net 读取Excel文档

    <注:>默认读取数据从Excel的第二行开始. public DataSet ReadExcel(string Path) { string strConn = "Provide ...

  9. django Model模型二及Model模型对数据库的操作

    在django模型中负责与数据库交互的为Model层,Model层提供了一个基于orm的交互框架 一:创建一个最基本的Model from __future__ import unicode_lite ...

  10. TextField详细用法

    http://www.cnblogs.com/VincentXue/archive/2012/08/28/2660001.html