zoukankan      html  css  js  c++  java
  • Java如何访问Axis2服务端

    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中所有的包.

  • 相关阅读:
    Centos 7 运行出错:cannot find a valid basecrl for repo:base/7/x86_64
    nc 使用
    linux uniq去重,awk输出(可用于爆破字典优化)
    关于fixedsys字体 FSEX300.ttf FSEX300-L.ttf FSEX301-L2.ttf
    MyAtoi
    viplugin eclipse
    资源获取即初始化RAII
    阈值分割技术
    图像类型转换
    形态学
  • 原文地址:https://www.cnblogs.com/riskyer/p/3243770.html
Copyright © 2011-2022 走看看