加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

5天学会jaxws-webservice编程第一天:学习笔记

发布时间:2020-12-16 23:28:33 所属栏目:安全 来源:网络整理
导读:SOA( Service-Oriented Architecture 面向服务架构 )。 SOA 系统原型的一个典型例子是通用 对象请求代理 体系结构(Common Object Request Broker Architecture,CORBA)。 SOA通过使用基于 XML ( 标准通用标记语言 的子集) 的语言(称为 Web 服务描述语言

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文件修改

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读