WebService CXF学习(5)
例子 Java代码
1. POST /item HTTP/1.1
2. Content-Type: application/soap+xml; charset=utf-8 3. Content-Length: 250
一个 SOAP 实例
在下面的例子中,一个 GetStockPrice 请求被发送到了服务器。此请求有一个 StockName 参数,而在响应中则会返回一个 Price 参数。此功能的命名空间被定义在此地址中: \SOAP 请求: Java代码
1. POST /InStock HTTP/1.1 2. Host: www.example.org
3. Content-Type: application/soap+xml; charset=utf-8 4. Content-Length: nnn 5.
6.
8. xmlns:soap=\
9. soap:encodingStyle=\10.
11.
13.
17.
SOAP 响应: Java代码
1. HTTP/1.1 200 OK
2. Content-Type: application/soap+xml; charset=utf-8 3. Content-Length: nnn 4.
5.
7. xmlns:soap=\
8. soap:encodingStyle=\9.
10.
16.
WebService CXF学习(进阶篇2):JAX-WS讲解
JAX-WS规范是一组XML web services的JAVA API。JAX-WS允许开发者可以选择RPC-oriented或者message-oriented 来实现自己的web services。
在 JAX-WS中,一个远程调用可以转换为一个基于XML的协议例如SOAP。在使用JAX-WS过程中,开发者不需要编写任何生成和处理SOAP消息的代码。JAX-WS的运行时实现会将这些API的调用转换成为对于SOAP消息。
在服务器端,用户只需要通过Java语言定义远程调用所需要实现的接口SEI (service endpoint interface),并提供相关的实现,通过调用JAX-WS的服务发布接口就可以将其发布为WebService接口。
在客户端,用户可以通过JAX-WS的API创建一个代理(用本地对象来替代远程的服务)来实现对于远程服务器端的调用。
通过web service所提供的互操作环境,我们可以用JAX-WS轻松实现JAVA平台与其他编程环境(.net等)的互操作。
JAX-WS工作原理如下图所示:
JAX-WS与JAX-RPC之间的关系
Sun最开始的web services的实现是JAX-RPC 1.1 (JSR 101)。这个实现是基于Java的RPC,并不完全支持schema规范,同时没有对Binding和Parsing定义标准的实现。
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规范。
WebService CXF学习(进阶篇3):对象传递
前面几节都是讲一些理论知识,现在又用一个例子来说明一下,这一节我们就CXF框架对象传递进行讲解。 第一步:创建传输对象Customer Java代码
1. @XmlRootElement(name=\2. @XmlAccessorType(XmlAccessType.FIELD) 3. @XmlType(propOrder = {\4. public class Customer { 5.
6. private int age; 7. private String name; 8.
9. public int getAge() { 10. return age; 11. } 12.
13. public void setAge(int age) { 14. this.age = age; 15. } 16.
17. public String getName() { 18. return name; 19. } 20.
21. public void setName(String name) { 22. this.name = name; 23. } 24. 25. }
@XmlRootElement-指定XML根元素名称(可选) @XmlAccessorType-控制属性或方法序列化 四种方案:
FIELD-对每个非静态,非瞬变属性JAXB工具自动绑定成XML,除非注明XmlTransient
NONE-不做任何处理
PROPERTY-对具有set/get方法的属性进行绑定,除非注明XmlTransient
PUBLIC_MEMBER -对有set/get方法的属性或具有共公访问权限的属性进行绑定,除非注 明XmlTransient
@XmlType-映射一个类或一个枚举类型成一个XML Schema类型
第二步:创建WebService接口 Java代码
1. @WebService
2. public interface HelloService { 3.
4. public void save(Customer c1,Customer c2); 5.
6. public void test(String args); 7.
8. public Customer get(int id); 9. } 10. 11.
每三步:创建WebService接口实现类 Java代码
1. @WebService
2. public class HelloServiceImpl implements HelloService { 3.
4. public void save(Customer c1, Customer c2) { 5.
6. System.out.println(c1.getAge()+\7. System.out.println(c1.getName()+\8. } 9.
10. public void test(String args) { 11. System.out.println(args); 12. 13. } 14.
15. public Customer get(int id) { 16. Customer cus = new Customer(); 17. cus.setAge(100);
18. cus.setName(\19. return cus; 20. } 21. 22. 23. 24. } 25.
第四步:创建服务端 Java代码
1. public class SoapServer { 2.
3. ublic static void main(String[] args){ 4. //两种方法,任选一种发布WebService接口
5. //Endpoint.publish(\6. HelloServiceImpl());
7. JaxWsServerFactoryBean factory = new JaxWsServerFactoryBean(); 8. factory.setAddress(\9. factory.setServiceClass(HelloServiceImpl.class);
10. factory.getInInterceptors().add(new LoggingInInterceptor()); 11. factory.getOutInterceptors().add(new LoggingOutInterceptor()); 12. factory.create(); 13. 14. } 15.
第五步:创建客户端 Java代码
1. public class SoapClient { 2.
3. public static void main(String[] args){
4. JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean(); 5. factory.setAddress(\6. factory.setServiceClass(HelloService.class);
7. factory.setServiceClass(HelloServiceImpl.class);
8. factory.getInInterceptors().add(new LoggingInInterceptor());
…… 此处隐藏:1866字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [互联网资料]2022年厦门大学机电工程系824机械设计
- [互联网资料]东南大学2022年硕士研究生拟录取名单公
- [互联网资料]能源调研报告(精选多篇)
- [互联网资料]初三英语下学期 中考英语 语法填空训练
- [互联网资料]2022内蒙古选调生行测常识备考:新事物
- [互联网资料]自驾必备!在新西兰租什么样的车自驾游
- [互联网资料]佛教素食菜谱44页未完
- [互联网资料]盈利能力分析外文翻译
- [互联网资料]2022年南昌航空大学音乐学院736马克思
- [互联网资料]优选外贸跟单实习报告总结(精品版)
- [互联网资料]银行新员工培训总结
- [互联网资料]2_year_visa_new_guidance_190316
- [互联网资料]天津市五校宝坻一中静海一中杨村一中芦
- [互联网资料]2007--2008学年第一学期高三数学宁波市
- [互联网资料]Chromatic framework for vision in ba
- [互联网资料]幼儿园大班上学期美术教案《心愿树》含
- [互联网资料]2022年华中农业大学信息学院820微型计
- [互联网资料]硬盘坏道的表现 __硬盘使用久了
- [互联网资料]江苏省2016年会计从业资格考试《会计基
- [互联网资料]公共场所卫生监督试卷全解
- 高级英语第一册所有修辞方法及例子总结
- 综合交通枢纽规划与城市发展
- 沃尔玛的企业文化案例分析
- 美国Thanksgiving Day 感恩节 介绍
- PEP六年级英语上册Unit6How do you fee
- 最齐全的中国大型商场购物中心名单
- 数据结构实验报告八—哈夫曼编译码
- 杭州市余杭区人民政府(通知)
- 七年级语文成语运用专项训练
- 微观经济学第三章 消费者行为 课后习题
- 对_钱学森之问_的思考
- Excel_三级联动_下拉菜单
- 办公用品需求计划申请表
- 对外汉语教材必须要知道的发展史
- 挑战杯大学生学术科技作品竞赛作品申报
- 举办民办教育培训机构应具备下列条件
- 太阳能路灯项目设计方案
- 2013年八年级上最新人教版新教材Unit3I
- 【历史】 6-4 《近代科学之父牛顿》 课
- 高中生物《第四章 第二节 探讨加酶洗衣




