博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SOAP1.1 VS SOAP1.2
阅读量:5116 次
发布时间:2019-06-13

本文共 1912 字,大约阅读时间需要 6 分钟。

 SOAP提升:

目前WebService的协议主要有SOAP1.1和1.2。

两者的命名空间不同。

 

见下页对比

 

SOAP1.1版本与SOAP1.2版本在头信息上存在差异。

SOAP1.1存在SOAPAction的请求头。
SOAP1.2没有SOAPAction的请求头。
基于SOAP1.1生成的WSDL和基于SOAP1.2生成的WSDL也不一样。

 

主要看命名空间

在CXF中两种协议请求的方式也不一样。
1.1为content-Type:text/xm;charset=UTF-8
1.2为content-Type:application/soap+xml;charset=UTF-8

命名空间:

Soap1.1的命名空间:

xmlns:soap=“http://schemas.xmlsoap.org/soap/envelope/ “

Soap1.2 命名空间:

xmlns:soap="http://www.w3.org/2003/05/soap-envelope“

SOAP1.1的HTTP请求头:

POST /xe_cxf2.4_soap12_spring_web/ws/helloworldsoap12?wsdl HTTP/1.1Content-Type: text/xml; charset=UTF-8Accept: */*SOAPAction: ""User-Agent: Apache CXF 2.4.0Cache-Control: no-cachePragma: no-cacheHost: localhost:6767Connection: keep-aliveContent-Length: 216

 

注意上面包含SOAPAction且请求方式为text/xml。

 

SOAP1.2的请求头:

POST /xe_cxf2.4_soap12_spring_web/ws/helloworldsoap12?wsdl HTTP/1.1Content-Type: application/soap+xml; charset=UTF-8Accept: */*User-Agent: Apache CXF 2.4.0Cache-Control: no-cachePragma: no-cacheHost: localhost:6767Connection: keep-aliveContent-Length: 214

 

注意上面没有SOAPAction且类型为soap+xml.

SOAP1.1和1.2的WSDL文件的差别:

在定义Service部分差别如下:

Soap1.1是以:soap:address定义。
Soap1.2是以: soap12:address定义。-jdk1.6不支持12形式的访问。

通过BindingType将项目转到1.2:

在类上面添加以下注解可以使用soap1.2的协议:

@BindingType(value=SOAPBinding.SOAP12HTTP_BINDING)或在applicationContext.xml中使用binding

SOAP1.2的调用:

当使用了SOAP12以后,wsimport和Eclipse的WSExplorer都不可以正常使用了。

必须,使用cxf提供的wsdl2java工具生成本地代码。
生成本地代码后,通过cxf内置的拦截器,拦截到以下头信息说明是soap12.

SOAP11与SOAP12的调用关系:

CXF中两种协议请求的方式也不一样 

Soap1.1以普通方式访问:

使用JaxWsProxyFactoryBean

Soap1.2以指定wsdl地址和命名空间的形式访问:

Service service = Service.create(new URL(“wsdlUrl”),new QName(“namespace”,”ServiceName”));SomeClass sc = service.getPort(new QName(“namespace”,”PortName”),SomeClass.class);sc.someMethod(someParam);

通过Ajax形式访问:

1、指定contentType:’application/soap+xml;charset=“UTF-8”‘2、组织使用XML数据,使用SOAP12的命名空间.(由于代码太多,请见下面的备注)

 

转载于:https://www.cnblogs.com/biaogejiushibiao/p/10351276.html

你可能感兴趣的文章
【题解】[P4178 Tree]
查看>>
QML学习笔记之一
查看>>
WPF中实现多选ComboBox控件
查看>>
IO—》Properties类&序列化流与反序列化流
查看>>
Codeforces 719B Anatoly and Cockroaches
查看>>
关于TFS2010使用常见问题
查看>>
聚合与组合
查看>>
ionic2+ 基础
查看>>
Screening technology proved cost effective deal
查看>>
【2.2】创建博客文章模型
查看>>
Jsp抓取页面内容
查看>>
大三上学期软件工程作业之点餐系统(网页版)的一些心得
查看>>
Java语言概述
查看>>
关于BOM知识的整理
查看>>
使用word发布博客
查看>>
微服务之初了解(一)
查看>>
GDOI DAY1游记
查看>>
MyBaits动态sql语句
查看>>
HDU4405(期望DP)
查看>>
拉格朗日乘子法 那些年学过的高数
查看>>