Java调用Webservice(asmx)的几个例子
写了几个调用例子:
1、
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.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.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)的几个例子的更多相关文章
- java 调用webservice (asmx) 客户端开发示例
这是本人第一次写博客,其实就是自己做个笔记,写的很粗糙,也希望能给跟我遇到同样问题的你一点帮助. 因为最近有个项目要调用webservice接口,之前接触的都是Java开发服务端和客户端的接口,开发前 ...
- Java调用WebService方法总结(9,end)--Http方式调用WebService
Http方式调用WebService,直接发送soap消息到服务端,然后自己解析服务端返回的结果,这种方式比较简单粗暴,也很好用:soap消息可以通过SoapUI来生成,也很方便.文中所使用到的软件版 ...
- Java调用WebService方法总结(8)--soap.jar调用WebService
Apache的soap.jar是一种历史很久远的WebService技术,大概是2001年左右的技术,所需soap.jar可以在http://archive.apache.org/dist/ws/so ...
- Java调用WebService方法总结(7)--CXF调用WebService
CXF = Celtix + XFire,继承了Celtix和XFire两大开源项目的精华,是一个开源的,全功能的,容易使用的WebService框架.文中所使用到的软件版本:Java 1.8.0_1 ...
- Java调用WebService方法总结(6)--XFire调用WebService
XFire是codeHaus组织提供的一个WebService开源框架,目前已被Apache的CXF所取代,已很少有人用了,这里简单记录下其调用WebService使用方法.官网现已不提供下载,可以到 ...
- Java调用WebService方法总结(5)--Axis2调用WebService
Axis2是新一点Axis,基于新的体系结构进行了全新编写,有更强的灵活性并可扩展到新的体系结构.文中demo所使用到的软件版本:Java 1.8.0_191.Axis2 1.7.9. 1.准备 参考 ...
- Java调用WebService方法总结(4)--Axis调用WebService
Axis是比较常用的WebService框架,该项目在2006实现了最终版,后面就没有更新了.文中demo所使用到的软件版本:Java 1.8.0_191.Axis 1.4. 1.准备 参考Java调 ...
- Java调用WebService方法总结(3)--wsimport调用WebService
wsimport是JDK自带的把WSDL转成Java的工具,可以很方便的生成调用WebService的代码.文中所使用到的软件版本:Java 1.8.0_191. 1.准备 参考Java调用WebSe ...
- Java调用WebService方法总结(2)--JAX-WS调用WebService
用JAX-WS(Java API for XML Web Services)调用WebService不需要引入其他框架,都是JDK自带的:文中所使用到的软件版本:Java 1.8.0_191.Dom4 ...
随机推荐
- react privateRoute
import React from 'react'; import PropTypes from 'prop-types'; import {Route,Redirect,withRouter} fr ...
- Agilent RF fundamentals (2)- fundamental units of RF
1Amplitude AM调制 2 Frequency FM调制 3Phase Phase 调制 复合调制 三者关系:
- boost库做什么用呢?
1.C++标准库不是已经很全面了吗?Boost又不是界面库,它主要解决些什么问题呢?哪类问题?2.Boost的开发人员都是C++标准委员会的吧,为什么没把它列做标准库,有什么不完善的问题吗? 3.Bo ...
- 深度学习(六十二)SqueezeNet网络设计思想笔记
- Date扩展 正则匹配
<script> Date.prototype.format=function(){ var d=this; //严格匹配 yyyy-mm-dd hh-mm-ss var reg1=/yy ...
- Raspberry Pi 配置
资料 教程 <树莓派使用指南> 系统盘制作 插上电源,连上HDML线,计科
- 【英语】Bingo口语笔记(83) - hell系列
- static才是对代码的提升
static才是对代码的提升 static的作用有如下三条: 1):隐藏. 当编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性. 一个是a.c,另一个是main.c. 下面是a ...
- python库之threading
This module constructs higher-level threading interfaces on top of the lower level python库之_threadmo ...
- NET Core中使用MediatR实现命令和中介者模式
NET Core中使用MediatR实现命令和中介者模式 https://www.cnblogs.com/yilezhu/p/9866068.html 在本文中,我将解释命令模式,以及如何利用基于命令 ...