leon1509 发表于 2013-2-3 10:16:50

[JAVA]使用axis调用.NET写的WebService

参考:http://wenwen.soso.com/z/q165150846.htm?sp=1133

直接上代码,本例只调用了WebService的getRegionCountry方法:
import java.rmi.RemoteException;import javax.xml.rpc.ServiceException;import org.apache.axis.client.Call;import org.apache.axis.client.Service;public class TestWS {public static void main(String[] args) throws RemoteException,ServiceException {String endPoint = "http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx";Service service = new Service();Call call = (Call) service.createCall();call.setTargetEndpointAddress(endPoint);call.setReturnClass(java.lang.String[].class);String oName = "getRegionCountry";call.setUseSOAPAction(true);call.setSOAPActionURI("http://WebXml.com.cn/" + oName);call.setOperationName(oName);//call.addParameter("theCityCode", org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);//call.addParameter("theUserID", org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);//String[] results = (String[]) call.invoke(new Object[]{"", ""});String[] results = (String[]) call.invoke(new Object[] {});for (String c : results) {System.out.println(c);}}}

返回结果:
阿尔及利亚,3320阿根廷,3522阿曼,3170阿塞拜疆,3176埃及,3317埃塞俄比亚,3314爱尔兰,3246奥地利,3237澳大利亚,368巴基斯坦,3169巴西,3580保加利亚,3232比利时,3243波兰,3235朝鲜,3163丹麦,3245德国,3238俄罗斯,3225法国,3241菲律宾,3151芬兰,3248刚果(金),3377哥伦比亚,3524古巴,344韩国,3162荷兰,3244加拿大,347加纳,3313柬埔寨,3154捷克,3236克罗地亚,3233肯尼亚,3316拉托维亚,3228老挝,3155立陶宛,3227马达加斯加,3312马尔代夫,3166马来西亚,3158马里,3319美国,346蒙古,3165秘鲁,3578缅甸,3160莫桑比克,3311墨西哥,345南非,3310尼泊尔,3164尼日利亚,3379挪威,3250葡萄牙,3239日本,3161瑞典,3249瑞士,3242塞内加尔,3318沙特阿拉伯,3172斯里兰卡,3167泰国,3159坦桑尼亚,3315突尼斯,3321土耳其,3229委内瑞拉,342文莱,3153乌克兰,3226乌兹别克斯坦,3175西班牙,3240希腊,3230新加坡,3157新西兰,369匈牙利,3234叙利亚,3174牙买加,343伊朗,3171意大利,3231印度,3168印度尼西亚,3152英国,3247约旦,3173越南,3156智利,3523
页: [1]
查看完整版本: [JAVA]使用axis调用.NET写的WebService