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, JSR 173),同时它还完全支持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

------------------------------------------------------------------------------------------------------------>

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.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

3、HelloService.java文件修改

ile:/D:/workspace/JaxWSClient/wsdl/HelloService.wsdl

把它们改成:

http://localhost:9090/JaxWSSample/HelloService?wsdl

4、 创建一个调用类,叫:HelloAsyncPollingClient.java   或  HelloAsyncCallBackClient.java

resource:http://blog.csdn.net/lifetragedy/article/details/7205832













  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值