首页 » 99链接平台 » WebService 接口开发与访问(调用接口服务协议应用程序)

WebService 接口开发与访问(调用接口服务协议应用程序)

乖囧猫 2024-11-06 23:42:31 0

扫一扫用手机浏览

文章目录 [+]

@Controller

public class WsWebService extends SpringBeanAutowiringSupport{

@SuppressWarnings(\"static-access\")

WebService 接口开发与访问(调用接口服务协议应用程序) 99链接平台
(图片来自网络侵删)

@WebMethod

public Object getListByType(@WebParam(name = \"userid\",@WebParam(name = \"type\") String type) String userid,

) throws Exception {

Map<String, Object> mapReturn = new HashMap<String, Object>();

mapReturn.put(\"apple \", 108);

mapReturn.put(\"pear \", 120);

mapReturn.put(\"apricot \", 128);

mapReturn.put(\"peach \", 130);

return XmlHelper.map2Xmlstring(mapReturn);//返回xml格式数据

}

public static void main(String[] args) {

try {

//请求webservice接口

URL url = new URL(\"http://127.0.0.1:8880/project/services/fruit?wsdl\"); //webservice 接口地址

Service service = new Service();

Call call = (Call)service.createCall();

call.setTargetEndpointAddress(url);

call.setOperationName(\"getListByType\"); //方法名,和请求接口方法名称一致

call.setTimeout(100000);

//参数添加参数,参数顺序,类型,必须和调用接口的服务端同步。
不然会报unexpected element (uri:\"\", local:\"appmark\"). Expected elements are <{}jsonStr>

call.addParameter(\"userid\",XMLType.XSD_STRING, ParameterMode.IN);

call.addParameter(\"type\",XMLType.XSD_STRING, ParameterMode.IN);

call.setReturnType(XMLType.XSD_STRING);

call.setUseSOAPAction(true);

//这是的顺序和参数名称一一对应。

Object obj [] =new Object[] {\"userid\",\"type\"};//请求参数

String ret = null;

ret = (String) call.invoke(obj);

logger.info(\"getApasInfoCount Count====\"+ret);

} catch (Exception e) {

e.printStackTrace();

}

}

}

PS:

一、WebService到底是什么?

先来看下标准的定义:Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。
是:通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行注册。

其实,一言以蔽之:WebService是一种跨编程语言和跨操作系统平台的远程调用技术。

还可以从多个角度来理解WebService,从表面看,WebService就是一个应用程序向外界暴露出一个能通过Web进行调用的API,也就是说能用编程的方法通过Web来调用这个应用程序。
我们把调用这个WebService的应用程序叫做客户端,而把提供这个WebService的应用程序叫做服务端。
从深层次看,WebService是建立可互操作的分布式应用程序的新平台,是一个平台,是一套标准。
它定义了应用程序如何在Web上实现互操作性,你可以用任何你喜欢的语言,在任何你喜欢的平台上写Web service ,只要我们可以通过Web service标准对这些服务进行查询和访问。

二、WebService平台技术

SOAP、WSDL、UDDI(UniversalDescriptionDiscovery andIntegration)三者构成了WebService的三要素。
下面,详细阐述这三大技术:

SOAPWebService通过HTTP协议发送请求和接收结果时,发送的请求内容和结果内容都采用XML格式封装,并增加了一些特定的HTTP消息头,以说明HTTP消息的内容格式,这些特定的HTTP消息头和XML内容格式就是SOAP协议。
SOAP提供了标准的RPC方法来调用Web Service。
SOAP协议组成: SOAP协议 = HTTP协议 + XML数据格式 SOAP协议定义了SOAP消息的格式,SOAP协议是基于HTTP协议的,SOAP也是基于XML和XSD的,XML是SOAP的数据编码方式。
打个比喻:HTTP就是普通公路,XML就是中间的绿色隔离带和两边的防护栏,SOAP就是普通公路经过加隔离带和防护栏改造过的高速公路。
WSDL好比我们去商店买东西,首先要知道商店里有什么东西可买,然后再来购买,商家的做法就是张贴广告海报。
WebService也一样,WebService客户端要调用一个WebService服务,首先要有知道这个服务的地址在哪,以及这个服务里有什么方法可以调用,所以,WebService务器端首先要通过一个WSDL文件来说明自己家里有啥服务可以对外调用,服务是什么(服务中有哪些方法,方法接受的参数是什么,返回值是什么),服务的网络地址用哪个url地址表示,服务通过什么方式来调用。
WSDL(Web Services Description Language)就是这样一个基于XML的语言,用于描述Web Service及其函数、参数和返回值。
它是WebService客户端和服务器端都能理解的标准格式。
因为是基于XML的,所以WSDL既是机器可阅读的,又是人可阅读的,这将是一个很大的好处。
一些最新的开发工具既能根据你的Web service生成WSDL文档,又能导入WSDL文档,生成调用相应WebService的代理类代码。
UDDIUDDI (Universal Description, Discovery, and Integration) 是一个主要针对Web服务供应商和使用者的新项目。
用户能够调用Web服务之前,必须确定这个服务内包含哪些商务方法,找到被调用的接口定义,还要在服务端来编制软件,UDDI是一种根据描述文档来引导系统查找相应服务的机制。
UDDI利用SOAP消息机制(标准的XML/HTTP)来发布,编辑,浏览以及查找注册信息。
它采用XML格式来封装各种不同类型的数据,并且发送到注册中心或者由注册中心来返回需要的数据。

相关文章