java asmx是什么,让我们一起了解一下?
asmx是webservice的后缀接口,.asmx是WEB服务文件,属于B/S形式,用SOAP方式HTTP访问,用XML返回,可以返回基础类型和PUBLIC结构类型,在C/S结构中经常用到。
那webservice接口wsdl和asmx有什么区别?
没有区别,只是后缀名的区别。
Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。是通过SOAP在Web上提供的软件(服务),使用WSDL文件进行(说明),并通过(UDDI)进行注册。
WSDL:(Web Services Description Language) WSDL 文件是一个 XML 文档,用于说明一组 SOAP 消息以及如何交换这些消息。大多数情况下由软件自动生成和使用。
.asmx是webservice服务程序的后缀名,ASP.NET 使用.asmx 文件来对Web Services的支持。.asmx 文件和.aspx文件一样都属于文本文件。它包含在.aspx文件之中,成为ASP.NET应用程序的一部分。
实战操作:如何用Java调用webservice的.asmx后缀接口?
import javax.xml.namespace.QName;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
public class WebUtil {
public static final String url = "http://127.0.0.1/ToVideoWebService.asmx";
public static void main(String[] args){
Object[] params = new Object[]{"stryang",18};
String result = sendWebservice(url, params);
System.out.println(result);
}
public static String sendWebservice(Object[] params, String url) {
String soapaction = "http://tempuri.org/"; // 域名,这是在server定义的
String operationName = "VideoWebService";// 调用方法名
Service service = new Service();
String ret = "";
try {
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(url);
call.setOperationName(new QName(soapaction, operationName)); // 设置要调用哪个方法
call.addParameter(new QName(soapaction, "name"), // 设置要传递的参数
org.apache.axis.encoding.XMLType.XSD_STRING,
javax.xml.rpc.ParameterMode.IN);
call.addParameter(new QName(soapaction, "age"), // 设置要传递的参数
org.apache.axis.encoding.XMLType.XSD_STRING,
javax.xml.rpc.ParameterMode.IN);
call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);// (标准的类型)
call.setUseSOAPAction(true);
call.setSOAPActionURI(soapaction + operationName);
ret = (String) call.invoke(params);// 调用方法并传递参数
} catch (Exception ex) {
ex.printStackTrace();
}
return ret;
}
}以上就是小编今天的分享了,希望可以帮助到大家。