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. 四种简单的排序算法的php实现

    无聊,用php写几个排序算法,算法介绍请移步这里,这里使用php实现了几个简单的,如下 //选择排序 function selection_sort($arr){ $len = count($arr) ...

  2. [置顶] java ant 配置及构建项目

      Ant是一种基于Java的构建工具.Ant文件是配置构建目标过程的XML文件,也称为Ant脚本.                     (因为对这个不是很了解,所以用词方面可能于个人的理解有偏差 ...

  3. poj 2229 Sumsets DP

    题意:给定一个整数N (1<= N <= 1000000),求出以 N为和 的式子有多少个,式子中的加数只能有2的幂次方组成 如5 : 1+1+1+1+1.1+1+1+2.1+2+2.1+ ...

  4. 【转】Linux下socket keep alive讲解

    [需求]不影响服务器处理的前提下,检测客户端程序是否被强制终了.[现状]服务器端和客户端的Socket都设定了keepalive属性.服务器端设定了探测次数等参数,客户端.服务器只是打开了keepal ...

  5. C++第15周(春)项目3 - OOP版电子词典(一)

    课程首页在:http://blog.csdn.net/sxhelijian/article/details/11890759.内有完整教学方案及资源链接 [项目3-OOP版电子词典](本程序中须要的相 ...

  6. Leetcode 238 Product of Array Except Self 时间O(n)和空间O(1)解法

    1. 问题描写叙述 给定一个n个整数的数组(n>1n>1)nums,返回一个数组output,当中的元素outputioutput_i的值为原数组nums中除numsinums_i之外的全 ...

  7. iOS8 Core Image In Swift:自动改善图像以及内置滤镜的使用

    iOS8 Core Image In Swift:自动改善图像以及内置滤镜的使用 iOS8 Core Image In Swift:更复杂的滤镜 iOS8 Core Image In Swift:人脸 ...

  8. [Spring入门学习笔记][Spring的AOP原理]

    AOP是什么? 面向切面编程 软件工程有一个基本原则叫做“关注点分离”(Concern Separation),通俗的理解就是不同的问题交给不同的部分去解决,每部分专注于解决自己的问题.这年头互联网也 ...

  9. NET中级课--浅谈委托,事件,异步调用,回调等概念

    直接说题. 委托         首先明确它是什么,其实就是一个类,定义一个委托即定义一个类,那么它是什么类?用来说明方法的类型的类.字段有类型,那么方法其实也有类型,就是委托.       委托是某 ...

  10. (转)javascript中 window.location= window.location;是什么意思

    重载当前页面.但是,重载后,一些$_GET或者$_POST $_REQUEST 表单提交的数据会清空.   重新加载当前页面的资源,就是刷新本页面