Java调用Webservice(asmx)的几个例子
2009-06-28 17:07

写了几个调用例子:

1、

import org.apache.axis.client.*;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;
import javax.xml.rpc.JAXRPCException;
import javax.xml.rpc.ServiceFactory;

public class TestWebService {

/**
* @param args
*/
public static void main(String[] args) {
   // TODO Auto-generated method stub 
   System.out.println("Start invoking....");
   try
   {
     String endPoint="http://www.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx";
     Service service = new Service();
     Call call = (Call)service.createCall();
     call.setTargetEndpointAddress(new java.net.URL(endPoint));
     call.setOperation("getVersionTime");
     call.setUseSOAPAction(true);
     call.setSOAPActionURI("");   
     call.setOperationName(new QName("www.webxml.com.cn","getVersionTime"));      
     call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);  
     String str=(String)call.invoke( new Object[]{}); 
     System.out.println(str);             
   }catch(Exception e)
   {
     e.printStackTrace();
   }   
}

}

2、

import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Vector;

import javax.xml.namespace.QName;

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

public class GetIPContent 
{
     private String url="http://www.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx";
     private String soapaction="";

public GetIPContent()
     { 
         Service service=new Service();
         try{
             Call call=(Call)service.createCall();            
             call.setTargetEndpointAddress(url);            
             call.setOperationName(new QName(soapaction,"getGeoIPContext")); 
           
             call.setReturnType(new QName(soapaction,"getGeoIPContext"),Vector.class);

call.setUseSOAPAction(true);
             call.setSOAPActionURI(soapaction + "getGeoIPContext");

Vector v=(Vector)call.invoke(new Object[]{});//调用方法并传递参数        
             for(int i=0;i<v.size();i++)
             {
                 System.out.println(v.get(i));
             }

}catch(Exception ex)
         {
         ex.printStackTrace();
         }        
     }

public static void main(String args[])
     {
     GetIPContent gip=new GetIPContent();
     }

}

3、

import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Vector;

import javax.xml.namespace.QName;

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

public class PutWeather 
{
     private String url="http://www.webxml.com.cn/WebServices/WeatherWebService.asmx";//提供接口的地址
     private String soapaction="";   //域名,这是在server定义的

public PutWeather()
     {
         String City="北京";        
         Service service=new Service();
         try{
             Call call=(Call)service.createCall();            
             call.setTargetEndpointAddress(url);            
             call.setOperationName(new QName(soapaction,"getWeatherbyCityName")); //设置要调用哪个方法
             call.addParameter(new QName(soapaction,"theCityName"), //设置要传递的参数
                     org.apache.axis.encoding.XMLType.XSD_STRING,
javax.xml.rpc.ParameterMode.IN);
             call.setReturnType(new QName(soapaction,"getWeatherbyCityName"),Vector.class); //要返回的数据类型(自定义类型)

//             call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);//(标准的类型)

call.setUseSOAPAction(true);
             call.setSOAPActionURI(soapaction + "getWeatherbyCityName");

Vector v=(Vector)call.invoke(new Object[]{City});//调用方法并传递参数        
             for(int i=0;i<v.size();i++)
             {
                 System.out.println(v.get(i));
             }

}catch(Exception ex)
         {
         ex.printStackTrace();
         }        
     }

public static void main(String args[])
     {
         PutWeather pw=new PutWeather();
     }

}

其中第三个是转载的,可惜,地址不知道了……

--!Sorry

写这个以防以后想用的时候找不到例子~~这个是个不错的webservice地址 当然是免费的了。

呵呵~~~突然发现这个东西不错,比写b/s程序好多了,给用户提供的接口多,丰富,安全,可扩展性好……现在的web技术真的是越来越好了!

黑客发明网络的第一天,就注定了网络主宰地球的一天。

Java调用Webservice(asmx)的几个例子的更多相关文章

  1. java 调用webservice (asmx) 客户端开发示例

    这是本人第一次写博客,其实就是自己做个笔记,写的很粗糙,也希望能给跟我遇到同样问题的你一点帮助. 因为最近有个项目要调用webservice接口,之前接触的都是Java开发服务端和客户端的接口,开发前 ...

  2. Java调用WebService方法总结(9,end)--Http方式调用WebService

    Http方式调用WebService,直接发送soap消息到服务端,然后自己解析服务端返回的结果,这种方式比较简单粗暴,也很好用:soap消息可以通过SoapUI来生成,也很方便.文中所使用到的软件版 ...

  3. Java调用WebService方法总结(8)--soap.jar调用WebService

    Apache的soap.jar是一种历史很久远的WebService技术,大概是2001年左右的技术,所需soap.jar可以在http://archive.apache.org/dist/ws/so ...

  4. Java调用WebService方法总结(7)--CXF调用WebService

    CXF = Celtix + XFire,继承了Celtix和XFire两大开源项目的精华,是一个开源的,全功能的,容易使用的WebService框架.文中所使用到的软件版本:Java 1.8.0_1 ...

  5. Java调用WebService方法总结(6)--XFire调用WebService

    XFire是codeHaus组织提供的一个WebService开源框架,目前已被Apache的CXF所取代,已很少有人用了,这里简单记录下其调用WebService使用方法.官网现已不提供下载,可以到 ...

  6. Java调用WebService方法总结(5)--Axis2调用WebService

    Axis2是新一点Axis,基于新的体系结构进行了全新编写,有更强的灵活性并可扩展到新的体系结构.文中demo所使用到的软件版本:Java 1.8.0_191.Axis2 1.7.9. 1.准备 参考 ...

  7. Java调用WebService方法总结(4)--Axis调用WebService

    Axis是比较常用的WebService框架,该项目在2006实现了最终版,后面就没有更新了.文中demo所使用到的软件版本:Java 1.8.0_191.Axis 1.4. 1.准备 参考Java调 ...

  8. Java调用WebService方法总结(3)--wsimport调用WebService

    wsimport是JDK自带的把WSDL转成Java的工具,可以很方便的生成调用WebService的代码.文中所使用到的软件版本:Java 1.8.0_191. 1.准备 参考Java调用WebSe ...

  9. Java调用WebService方法总结(2)--JAX-WS调用WebService

    用JAX-WS(Java API for XML Web Services)调用WebService不需要引入其他框架,都是JDK自带的:文中所使用到的软件版本:Java 1.8.0_191.Dom4 ...

随机推荐

  1. Javascript+CSS实现影像卷帘效果

    用过Arcgis的筒子们对于Arcmap里面的一个卷帘效果肯定记忆很深刻,想把它搬到自己的WebGIS系统中去,抱着同样的想法,我也对这种比较炫的卷帘效果做了一下研究,吼吼,出来了,给大家汇报一下成果 ...

  2. lzugis—搭建属于自己的小型的版本控制SVN

    对于不了解SVN的同志们可以参考下"mh942408056"的这篇博文,SVN简介,链接地址为:http://blog.csdn.net/mh942408056/article/d ...

  3. HDU - 6041:I Curse Myself(Tarjan求环&K路归并)

    There is a connected undirected graph with weights on its edges. It is guaranteed that each edge app ...

  4. HDU - 5289:Assignment(单调队列||二分+RMQ||二分+线段树)

    Tom owns a company and he is the boss. There are n staffs which are numbered from 1 to n in this com ...

  5. HDU - 6231:K-th Number (不错的二分)

    Alice are given an array A[1..N]A[1..N] with NN numbers. Now Alice want to build an array BB by a pa ...

  6. 剑指offer-第五章优化时间和空间效率(把数组排列成最小的数)

    题目:输入一个正整数数组,将所有的数,排列起来,组成一个最小的数.

  7. 解决genymotion-arm-translation.zip无法拖拽安装的问题[转]

    1.问题由来 适用情况一:当我们启动了Genymotion模拟器后,在AndroidStudio运行app时,弹出如下错误: INSTALL_FAILED_CPU_ABI_INCOMPATIABLE ...

  8. 数据立方体----维度与OLAP

    前面的一篇文章——数据仓库的多维数据模型中已经简单介绍过多维模型的定义和结构,以及事实表(Fact Table)和维表(Dimension Table)的概念.多维数据模型作为一种新的逻辑模型赋予了数 ...

  9. ncdu 查找linux下最占空间的文件(交互式查询)

    安装 wget -c https://dev.yorhel.nl/download/ncdu-1.11.tar.gz tar xzvf ncdu-1.11.tar.gz cd ncdu-1.11 ./ ...

  10. mysql 执行批量的sql

    <?xml version="1.0" encoding="utf-8" ?> <dbconfig> <!-- 数据库驱动 --& ...