5天学会jaxws-webservice编程第一天:学习笔记
SOA(Service-Oriented Architecture 面向服务架构)。 SOA 系统原型的一个典型例子是通用对象请求代理体系结构(Common Object Request Broker Architecture,CORBA)。 SOA通过使用基于XML(标准通用标记语言的子集) 的语言(称为 Web 服务描述语言(Web Services Definition Language,WSDL))来描述接口,服务已经转到更动态且更灵活的接口系统中,非以前 CORBA 中的接口描述语言(Interface Definition Language,IDL)可比了。 SOA 服务用消息进行通信,该消息通常使用XML Schema来定义(也叫做XSD, XML Schema Definition)。 EAI(Enterprise Application Integration),是企业应用集成。?EAI是将的异构应用集成的一种方法和技术。EAI通过建立底层结构,来联系横贯整个企业的异构系统、应用、数据源等,完成在企业内部的 ERP、CRM、SCM、数据库、数据仓库,以及其他重要的内部系统之间无缝地共享和交换数据的需要。 JAX-WS(全称为 Java API for XML-Based Webservices?)规范是一组XML web services的JAVA API。 在服务器端,用户只需要通过Java语言定义远程调用所需要实现的接口SEI(service endpoint interface),并提供相关的实现。 JAX-WS2.0 (JSR 224)是Sun新的web services协议栈,是一个完全基于标准的实现。在binding层,使用的是the Java Architecture for XML Binding (JAXB,JSR 222),在parsing层,使用的是the Streaming API for XML (StAX soap:简单对象访问协议. WS-Addressing规范定义了一种将消息寻址信息综合到Web services消息中的标准。 消息传输优化机制:MTOM(Message Transmission Optimization Mechanism)MTOM是一种机制,用来以原始字节形式传输包含SOAP消息的较大二进制附件,从而使所传输的消息较小。 ? 1、安装jaxws-ri-2.2.8和配置环境变量
非安装版软件:jaxws-ri-2.2.8解压即可使用 环境变量:JAXWS_HOME=D:Program Files(x86)jaxws-ri-2.2.8 ---------》服务端 2、新建web工程JaxWSProject,写Hello.java 3、通过Java类编译Webservice 我们选用Server端通过Java Class生成webservice,而客户端通过wsdl生成Java调用类的做法。 JAXWS为我们提供了两个工具: ü? wsgen 主要用于Server端通过Java类编译成Webservice及相关的wsdl文件 ü? wsimport 主要用于Client端(调用端)通过wsdl编译出调用Server端的Java文件 ------------------------------------------------------------------------------------------------------------>目录及命令(使用完整路径)如下 D:Program Files(x86)jaxws-ri-2.2.8jaxws-ribin> wsgen? -cp D:dmJaxWSProjectWebContentWEB_INFclasses ? ?ctsjavacoe.ws.fromjava.Hello ?-wsdl? -s D:dmJaxWSProjectwssrc -d D:dmJaxWSProjectbuild ?? -r D:dmJaxWSProjectwsdl ------------------------------------------------------------------------------------------------------------> 4、将生成的wssrc目录下的文件cut到src目录 服务端访问:http://localhost:9090/JaxWSSample/HelloService?wsdl? ? ? ? ? ? ? ? ? ? ? ? ?即xml文件。 5、发布
将webContext目录下所有文件拷到tomcat的webapps目录下,启动tomcat即完成发布。 命令启动/关闭tomcat: ?cd /d ?D:Program Files(x86)apache-tomcat-7.0.52bin ? ? ? ? ? ? ? ? ? ? ? ? 切换到该目录 catalina ?start/stop ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?启动 6、访问 webservice ? ?http://localhost:8080/JaxWSSample/HelloService?wsdl? ? ?,服务端完成。原理: ? ? ? ?java(Service)----wsgen------>wsdl//xsd-------wsimport------>java(client) 一个是wsdl文件,这个就是我们的webservice的entry(相当与入口、接口),一个是xsd文件,这个是什么? 这个就是我们java的方法里的参数的对应,或者换句话说,它就是xml格式的java bean,在webservice的世界里,xsd是作为数据结构描述用的。 ----------》客户端 1、新建java工程J阿小WSClient,将Server端的wsdl及xsd都手工copy到客户端工程的wsdl目录下 2、执行生客户端代码的wsimport命令如下: ?(Hello.java与HelloService.java是wsimport给我们生成的供客户端调用的java文件。) D:Program Files(x86)jaxws-ribin>wsimport -keep -b D:fftJaxWSClientbinding.xml ?-d D:fftJaxWSClientbin -s D:fftJaxWSClientsrc D:fftJaxWSClientwsdlHelloService.wsdl 3、HelloService.java文件修改
把它们改成:
resource:http://blog.csdn.net/lifetragedy/article/details/7205832 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |