当前位置:首页 > 开发 > 编程语言 > Web Service > 正文

Axis 下 的WebService 客户端接入

发表于: 2012-11-13   作者:crazywen2011   来源:转载   浏览:
摘要: //Axis 下 的WebService 客户端接入 简单模版 import java.rmi.RemoteException; import javax.xml.namespace.QName; import javax.xml.rpc.ParameterMode; import javax.xml.rpc.ServiceException; import javax.xml.so

//Axis 下 的WebService 客户端接入 简单模版

import java.rmi.RemoteException;

import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;
import javax.xml.rpc.ServiceException;
import javax.xml.soap.SOAPException;

import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.message.SOAPHeaderElement;

public class WSUnit2 {

 public WSUnit2() {
 }
 
 /**
  * @param args
  */
 public static void main(String[] args) {
  try {
   // 服务端的url,需要根据情况更改
   String endpointURL  = "http://www.xxx.cn/xxxServiceTest/WebService.asmx";
   String namespace = "http://www.xxx.cn/";
   String methodName = "GetDestCityList";
   
   Service service = new Service();
   Call call = (Call) service.createCall();
   call.setTargetEndpointAddress(endpointURL);
   call.setSOAPActionURI(namespace + methodName);
   call.setOperationName(new QName(namespace, methodName));
   call.setUseSOAPAction(true);
   
   // 由于需要认证,故需要设置调用的用户名和密码。
   SOAPHeaderElement soapHeaderElement = new SOAPHeaderElement(
     namespace, "StationServiceHeader");
   soapHeaderElement.setNamespaceURI(namespace);
   try {
    soapHeaderElement.addChildElement("UserName").setValue("xxx");
    soapHeaderElement.addChildElement("PassWord").setValue("xxx");
   } catch (SOAPException e) {
    e.printStackTrace();
   }
   call.addHeader(soapHeaderElement);
            
   //设置返回类型
   call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);
   //参数类型
   call.addParameter(new QName(namespace, "start_city"),
     org.apache.axis.encoding.XMLType.XSD_STRING,
     ParameterMode.IN);
   call.addParameter(new QName(namespace, "end_city"),
     org.apache.axis.encoding.XMLType.XSD_STRING,
     ParameterMode.IN);
   
   //执行调用
   String start_city = "浙江";
   String end_city = "hz";
   String result = (String) call.invoke(new Object[] { start_city,
     end_city });
   System.out.println("result = " + result);
  } catch (ServiceException e) {
   e.printStackTrace();
  } catch (RemoteException e) {
   e.printStackTrace();
  }
 }
}
 

 

Axis 下 的WebService 客户端接入

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号