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; } }
以上就是小编今天的分享了,希望可以帮助到大家。