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. UVa10815.Andy's First Dictionary

    题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  2. [置顶] Android学习系列-把文件保存到SD卡上面(6)

    Android学习系列-把文件保存到SD卡上面(5) 一般多媒体文件,大文件需要保存到SD卡中.关键点如下: 1,SD卡保存目录:mnt/sdcard,一般采用Environment.getExter ...

  3. SQLServer 循环1百万插入测试数据

    1,首先创建student表 create table student ( sno int primary key , sname VARCHAR(200) ) 2,--向数据库中插入100万条随机姓 ...

  4. C# 二叉堆

    二叉堆数据结构讲解: http://www.cnblogs.com/yc_sunniwell/archive/2010/06/28/1766751.html   C#代码实现 using System ...

  5. Top 15 Tools To Make Animated GIFs From Images & Video

    Creating an animated GIF picture from photos or video with Adobe Photoshop is easy, but not everyone ...

  6. java二维码开发

    之前就写过很多关于二维码的东西,一直没有时间整理一下,所以呢今天就先来介绍一下如何利用java开发二维码.生成二维码有很多jar包可以实现,例如Zxing,QRcode,前者是谷歌的,后者日本的,这里 ...

  7. C++ - 容器(container)的erase()函数

    容器(container)的erase()函数 本文地址: http://blog.csdn.net/caroline_wendy/article/details/23996013 容器(contai ...

  8. [Regex Expression] Confirmative -- World bundry

    String to check: As it turns out, our potential shipmates are extremely superstitious. As such, we d ...

  9. MongoDB学习笔记04

    创建索引使用ensureIndex方法,对于同一个集合,同样的索引只需要创建一次,反复创建是徒劳的. 对某个键的索引会加速对该键的查询,然而,对于其它查询可能没有帮助,即便是查询中包含了被索引的键.实 ...

  10. No redirect found in host configuration file (C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet.config).

    Configuration Error Description: An error occurred during the processing of a configuration file req ...