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支持schema规范。
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.8\jaxws-ri\bin>
wsgen
-cp D:\dm\JaxWSProject\WebContent\WEB_INF\classes ctsjavacoe.ws.fromjava.Hello
-wsdl
-s D:\dm\JaxWSProject\wssrc
-d D:\dm\JaxWSProject\build
-r D:\dm\JaxWSProject\wsdl
------------------------------------------------------------------------------------------------------------>
服务端访问:http://localhost:9090/JaxWSSample/HelloService?wsdl 即xml文件。
5、发布
将webContext目录下所有文件拷到tomcat的webapps目录下,启动tomcat即完成发布。
命令启动/关闭tomcat: cd /d D:\Program Files(x86)\apache-tomcat-7.0.52\bin 切换到该目录
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-ri\bin>wsimport -keep -b D:\fft\JaxWSClient\binding.xml -d D:\fft\JaxWSClient\bin -s D:\fft\JaxWSClient\src D:\fft\JaxWSClient\wsdl\HelloService.wsdl
ile:/D:/workspace/JaxWSClient/wsdl/HelloService.wsdl |
把它们改成:
http://localhost:9090/JaxWSSample/HelloService?wsdl |
resource:http://blog.csdn.net/lifetragedy/article/details/7205832
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。