
2个回答
展开全部
package com.iotmap.util;
import java.util.ArrayList;
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 WebService_Asmx {
/**
* 接口URL、域名、接口参数Object[]数组、接口方法名、接口参数名()List<String>集合----如无参数
* 可传递空Object[]数组 返回信息 Object
* */
public Object webServiceAsmx(String url, String soapaction, Object[] City,
String method, List<String> parameter) {
Object obj = null;
Service service = new Service();
int i = 0;
try {
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(new java.net.URL(url));
call.setOperationName(new QName(soapaction, method)); // 设置要调用哪个方法
for (; i < parameter.size(); i++) {
call.addParameter(new QName(soapaction, parameter.get(i)),
org.apache.axis.encoding.XMLType.XSD_STRING,
javax.xml.rpc.ParameterMode.IN);
}
call.setUseSOAPAction(true);
call.setSOAPActionURI(soapaction + method);
if (i != 0) {//指定返回类型 根据ASMX返回类型指定
call.setReturnType(new QName(soapaction, method), Vector.class);
// call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);//(标准的类型)
obj = (Vector) call.invoke(City);
} else {//无参数输入调用 根据ASMX返回类型指定
obj = (String) call.invoke(City);
}
} catch (Exception ex) {
ex.printStackTrace();
}
return obj;
}
/**
* 在这里写入读取的ASMX信息*/
public Object webService() {
WebService_Asmx addTest111 = new WebService_Asmx();
List<String> parameter = new ArrayList<String>();
String url = "http://www.webxml.com.cn/WebServices/WeatherWebService.asmx";// 提供接口的地址
String soapaction = "http://WebXml.com.cn/"; // 域名,这是在server定义的
Object[] City = { "海南", null };//多个参数请直接在{a,b,c,d,}内加 无参数{null}
String method = "getWeatherbyCityNamePro";
parameter.add("theCityName");//ASMX参数名称 如无参数请把parameter.add("");都注释掉
parameter.add("theUserID");//多个参数直接parameter.add("在这加");
// parameter.add("");
// parameter.add("");
// parameter.add("");
Object list1 = addTest111.webServiceAsmx(url, soapaction, City, method,
parameter);
return list1;
}
public static void main(String[] args) {
WebService_Asmx addTest111 = new WebService_Asmx();
Object a = addTest111.webService();
System.out.println(a);
}
}
import java.util.ArrayList;
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 WebService_Asmx {
/**
* 接口URL、域名、接口参数Object[]数组、接口方法名、接口参数名()List<String>集合----如无参数
* 可传递空Object[]数组 返回信息 Object
* */
public Object webServiceAsmx(String url, String soapaction, Object[] City,
String method, List<String> parameter) {
Object obj = null;
Service service = new Service();
int i = 0;
try {
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(new java.net.URL(url));
call.setOperationName(new QName(soapaction, method)); // 设置要调用哪个方法
for (; i < parameter.size(); i++) {
call.addParameter(new QName(soapaction, parameter.get(i)),
org.apache.axis.encoding.XMLType.XSD_STRING,
javax.xml.rpc.ParameterMode.IN);
}
call.setUseSOAPAction(true);
call.setSOAPActionURI(soapaction + method);
if (i != 0) {//指定返回类型 根据ASMX返回类型指定
call.setReturnType(new QName(soapaction, method), Vector.class);
// call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);//(标准的类型)
obj = (Vector) call.invoke(City);
} else {//无参数输入调用 根据ASMX返回类型指定
obj = (String) call.invoke(City);
}
} catch (Exception ex) {
ex.printStackTrace();
}
return obj;
}
/**
* 在这里写入读取的ASMX信息*/
public Object webService() {
WebService_Asmx addTest111 = new WebService_Asmx();
List<String> parameter = new ArrayList<String>();
String url = "http://www.webxml.com.cn/WebServices/WeatherWebService.asmx";// 提供接口的地址
String soapaction = "http://WebXml.com.cn/"; // 域名,这是在server定义的
Object[] City = { "海南", null };//多个参数请直接在{a,b,c,d,}内加 无参数{null}
String method = "getWeatherbyCityNamePro";
parameter.add("theCityName");//ASMX参数名称 如无参数请把parameter.add("");都注释掉
parameter.add("theUserID");//多个参数直接parameter.add("在这加");
// parameter.add("");
// parameter.add("");
// parameter.add("");
Object list1 = addTest111.webServiceAsmx(url, soapaction, City, method,
parameter);
return list1;
}
public static void main(String[] args) {
WebService_Asmx addTest111 = new WebService_Asmx();
Object a = addTest111.webService();
System.out.println(a);
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询