Wsdl 绑定样式与 soap 消息结构
Wsdl 的 绑 定 样 式 有 四 种 : RPC/encoded 、 RPC
/literal、document/literal、document/literal wrapped 其中 RPC /encoded 基本要被淘汰。
下面结合例子阐述下后四种样式的的优缺点和结构:
例子中的 wsdl 是通过 java2wsdl 生成的。该 java 类包含两个方法:
public StringBean complex(StringBean a,StringBean b,int beginIndex,int endIndex);
public String complexStr(String a,String b,int cutBegin,int cutEnd)。其中 StringBean 是另
一个 java 类,它有三个属性和一些 get/set 方法。complex()方法的四个参数有两个对象向
类型的,两个基本类型的;而 complexStr()的四个参数都是基本类型的。
RPC /encoded 的 wsdl 绑定样式:
Wsdl 的 RPC/encoded 的绑定样式与其对应的 SOAP 消息结构映射如下图所示:
图表 1 RPC /encoded 的 wsdl 与 SOAP 消息对应关系
图 中 左 方 是 wsdl 部 分 服 务 描 述 , 右 边 是 其 相 应 的 SOAP 消 息 。 SOAP 消 息 体
(soapenv:body)下第一个元素对应 wsdl 中定义的操作(wsdl:operation),接下来的元
素就是操作需要的输入消息(wsdl:message),他们分别与 wsdl:part 相对应。
如果消息的某个 part 是复杂类型如 a,则要列出 a 的每个属性,这些属性从 a 的类型,
本例中是 str:StringBean 读出,StringBean 类型在 wsdl 中的定义如下图所示:
- 1
- 2
- 3
- 4
前往页