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 读出,StringB