首页 > 编程语言 > 详细

Java调用WebService

时间:2014-10-30 11:47:21      阅读:225      评论:0      收藏:0      [点我收藏+]

 package biz;

  import java.util.Date;

  import java.text.DateFormat;

  import org.apache.axis.client.Call;

  import org.apache.axis.client.Service;

  import javax.xml.namespace.QName;

  import java.lang.Integer;

  import javax.xml.rpc.ParameterMode;

  public class TempService {

  public static void main(String[] args) {

  try {

  String endpoint = "http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl";

  // 创建一个服务(service)调用(call)

  Service service = new Service();

  Call call = (Call)service.createCall();// 通过service创建call对象

  // 设置service所在URL

  call.setTargetEndpointAddress(new java.net.URL(endpoint));

  call.setOperationName(new QName("http://WebXml.com.cn/","getMobileCodeInfo"));

  //Add 是net 那边的方法 "http://tempuri.org/" 这个也要注意Namespace 的地址,不带也会报错

  call.addParameter(new QName("http://WebXml.com.cn/","mobileCode"),org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);

  call.addParameter(new QName("http://WebXml.com.cn/","userID"),org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);

  // 这就是我搞了一天的原因所在,"test" 这个就是传参数的变量,也就是NET方面的参数,一定不要带错了

  // 我当初不知道 ,以为这个参数是自己随便写的,结果总是报NULL,真是气死人了

  call.setUseSOAPAction(true);

  call.setReturnType(org.apache.axis.encoding.XMLType.SOAP_STRING); //返回参数的类型

  call.setSOAPActionURI("http://WebXml.com.cn/getMobileCodeInfo"); //这个也要注意 就是要加上要调用的方法Add,不然也会报错

  // Object 数组封装了参数,参数为"This is Test!",调用processService(String arg)

  String ret = (String)call.invoke(new Object[]{"13473211647",""});

  System.out.println("--------"+ret);

  }

  catch (Exception e)

  {

  System.err.println(e.toString());

  }

  }

  }

Java调用WebService

原文:http://www.blogjava.net/seoyouhua/archive/2014/10/28/419147.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!