WebService 接口开发与访问

WebService 接口开发与访问@WebService@Controllerpublic class WsWebService extends SpringBeanAutowiringSupport{ @SuppressWarnings @WebMethod public

欢迎大家来到IT世界,在知识的湖畔探索吧!

@WebService(name = “fruit”)

@Controller

public class WsWebService extends SpringBeanAutowiringSupport{

@SuppressWarnings(“static-access”)

@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();

//参数添加参数,参数顺序,类型,必须和调用接口的服务端同步。不然会报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的三要素。下面,详细阐述这三大技术:

  • SOAP
  • WebService通过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的代理类代码。
  • UDDI
  • UDDI (Universal Description, Discovery, and Integration) 是一个主要针对Web服务供应商和使用者的新项目。在用户能够调用Web服务之前,必须确定这个服务内包含哪些商务方法,找到被调用的接口定义,还要在服务端来编制软件,UDDI是一种根据描述文档来引导系统查找相应服务的机制。UDDI利用SOAP消息机制(标准的XML/HTTP)来发布,编辑,浏览以及查找注册信息。它采用XML格式来封装各种不同类型的数据,并且发送到注册中心或者由注册中心来返回需要的数据。
WebService 接口开发与访问

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/76487.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信