微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

利用axis2调用带用户名和密码的webservice接口实例java

          因工作需要,需要调用合作公司的一些接口方法。调了一下午才调通,记下来,以作备忘,不废话,直接代码。        

 

import javax.xml.namespace.QName;

import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
public class OrderProcessClient {
        
        public static int getRes(String user,String pwd,String orderNo,String xmlStr){
                try {
                    
                    //xml地址(wsdl结尾)
                    String endpoint = "http://wcf.v-grow.com/eTrade/OrderProcess.svc?wsdl";
                   
                    Service service = new Service();
                    Call call = (Call) service.createCall();
                    //用户名密码验证
                    call.setUsername(user);
                    call.setPassword(pwd);
                    //call.getMessageContext().setUsername(user);
                    //call.getMessageContext().setPassword(pwd);    
                    
                    call.setTargetEndpointAddress(endpoint);
                    //a:首行targetNamespace值  b:调用方法名
                    call.setoperationName(new QName("http://tempuri.org/","Accept")); 
                    call.setUseSOAPAction(true); 
                    //所调用方法里面的wsdl:input wsaw:Action值
                    call.setSOAPActionURI("http://tempuri.org/IOrderProcess/Accept"); 
                    
                    //a:首行targetNamespace值  b:参数名,必须与.net设置的参数名相同
                    call.addParameter(new QName("http://tempuri.org/","msgid"),org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.OUT);//接口的参数
                    call.addParameter(new QName("http://tempuri.org/","orderNo"),javax.xml.rpc.ParameterMode.IN);//接口的参数
                    call.addParameter(new QName("http://tempuri.org/","xmlStr"),javax.xml.rpc.ParameterMode.IN);//接口的参数
                    
                  //设置返回类型  
                    call.setReturnType(org.apache.axis.encoding.XMLType.XSD_INT);
    
                    //给方法传递参数,并且调用方法
                    int i = (Integer)call.invoke(new Object[]{orderNo,xmlStr});
                    return i;
             }
             catch (Exception e) {
                    e.printstacktrace();
             }
             return 2;
        }
    
        public static void main(String[] args) {
              String user = "username";
              String pwd  = "password";
              String orderNo = "123";
              StringBuilder xmlString = new StringBuilder(); 
              xmlString.append("<Order orderid='123456'/>");
              System.out.println(getRes(user,pwd,orderNo,xmlString.toString()));
        }
}

           jar包下载地址:http://download.csdn.net/detail/xlb744868186/8410873

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐