java读取asmx,给我个例子,最好有解释,434783027@qq.com

java读取.net的webservice求帮助!... java读取.net的webservice 求帮助! 展开
 我来答
隐身渐而遗忘
2014-04-17
知道答主
回答量:1
采纳率:0%
帮助的人:2.3万
展开全部
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);
}
}
百度网友294fc1c
2012-04-28 · TA获得超过635个赞
知道小有建树答主
回答量:366
采纳率:0%
帮助的人:263万
展开全部
java 调用.net webservice 吧,直接用URL的地址在你的Eclipse里 新建Web Service工程把那个WebService的地址贴过去,然后生成客户端就可以用了.

读取asmx? 解析它吗?
如过要解析,原理应该和解析XML差不多吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式