package cn.test;
import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;
import javax.xml.rpc.encoding.XMLType;
import org.apache.axis.client.Service;
import org.apache.axis.client.Call;
public class DBService {
public String[] getInfo1(String sid){
String[] temp = null;
String endpoint = "http://webservice.webxml.com.cn/WebServices/weatherws.asmx";
try{
Service sc = new Service();
Call cl = (Call) sc.createCall();
cl.setTargetEndpointAddress(new java.net.URL(endpoint));
cl.setOperationName(new QName("http://WebXml.com.cn/", "getRegionProvince"));
cl.setUseSOAPAction(true);
cl.setReturnClass(String[].class);
cl.setSOAPActionURI("http://WebXml.com.cn/getRegionProvince");
temp = (String[]) cl.invoke(new Object[]{});
}catch (Exception e) {
e.printStackTrace();
}
return temp;
}
public String[] getInfo2(String sid){
String[] temp = null;
String endpoint = "http://webservice.webxml.com.cn/WebServices/weatherws.asmx";
try{
Service sc = new Service();
Call cl = (Call) sc.createCall();
cl.setTargetEndpointAddress(new java.net.URL(endpoint));
cl.setOperationName(new QName("http://WebXml.com.cn/", "getSupportCityString"));
cl.setUseSOAPAction(true);
cl.setReturnClass(String[].class);
cl.setSOAPActionURI("http://WebXml.com.cn/getSupportCityString");
//cl.addParameter("theRegionCode", XMLType.XSD_STRING, ParameterMode.IN);这样写会报错对象为空
cl.addParameter(new QName("http://WebXml.com.cn/", "theRegionCode"),XMLType.XSD_STRING,ParameterMode.IN);
System.out.println("===>>" + sid);
temp = (String[]) cl.invoke(new Object[]{sid});
}catch (Exception e) {
e.printStackTrace();
}
return temp;
}
public static void showInfo(String[] arr){
for(String tmp : arr){
System.out.println("-->"+tmp);
}
}
@SuppressWarnings("static-access")
public static void main(String[] args) {
try{
DBService ds = new DBService();
//ds.showInfo(ds.getInfo1(""));
System.out.println("=========");
ds.showInfo(ds.getInfo2("3113"));
}catch (Exception e) {
e.printStackTrace();
}
}
}