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

  • 相关阅读:
    javascript获得浏览器工作区域的大小
    javascript禁止输入数字
    Extjs之遍历Store内的数据
    Extjs之rowEditing编辑状态时列不对齐
    Extjs中numberfield小数位数设置
    【转】vscode常用快捷键整理
    【转】如何提高WEB的性能?
    【转】echarts 使用示例
    uni-app页面配置和跳转
    【转】.NetCore如何将特性和依赖注入有效结合
  • 原文地址:https://www.cnblogs.com/riskyer/p/3243770.html
Copyright © 2011-2022 走看看