A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 冯盼 中级黑马   /  2012-12-4 17:07  /  959 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

        /**
         * 设置webservice头部传入参数
         * @param userName 用户名
         * @param userPwdMD5 密码
         * @return
         */
        public Element[] setHeader(String userName,String userPwdMD5)
        {
                Element[] header = new Element[1];
        header[0] = new Element().createElement(NAMESPACE, "AuthAPI");

        Element username = new Element().createElement(NAMESPACE, "UserName");
        username.addChild(Node.TEXT, userName);
        header[0].addChild(Node.ELEMENT, username);
        Element pass = new Element().createElement(NAMESPACE, "PassWord");
        pass.addChild(Node.TEXT, userPwdMD5);
        header[0].addChild(Node.ELEMENT, pass);
        
        System.out.println("Header:"+header[0].getChildCount());
        return header;
        }

/**
         * 带有信息头(授权)的取得返回数据方法
         * @param methodName webservice方法名
         * @param userName 登录用户名
         * @param userPwdMD5 以MD5加密的用户密码
         * @return webservice返回的数据
         */
        public Object getSoap(String methodName,String userName,String userPwdMD5)
        {
                SoapObject rpc = new SoapObject(NAMESPACE, methodName);
                setSoapProperty(rpc);
                SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER12);
                envelope.headerOut = this.setHeader(userName, userPwdMD5);
                envelope.bodyOut = rpc;
                envelope.dotNet = true;
//                envelope.
                envelope.setOutputSoapObject(rpc);
                HttpTransportSE ht = new HttpTransportSE(URL);
                try
                {
                        ht.call(NAMESPACE + "/" + methodName, envelope);
                        return envelope.getResponse();
                } catch (SoapFault e)
                {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                } catch (IOException e)
                {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                } catch (XmlPullParserException e)
                {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                }
                return null;
        }
这只是初学菜鸟测试使用的,有问题帮忙改正,谢谢。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马