浏览 3718 次
锁定老帖子 主题:关于 WSDL 样式的两点疑问
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-01-21
对于 WSDL 样式我有两处不解。 一、Document/literal 风格的绑定所产生的 SOAP 消息中没有方法名,那它是如何判断它调用的是哪个方法呢?毕竟,WSDL 所定义的 Web Service 是单一 URL 多方法的模式。莫非是根据 soapAction 的定义。但实际上,根据 SOAP标准的定义,soapAction是可有可无的东西。 二、RPC样式的缺点在于,由于定义了SOAP客户端和服务器端之间的远程方法调用接口,所以增加了客户端与服务器之间的耦合度。而用 Document/literal-wrap 模拟的RPC实际上也包含有所调用的方法的名字。所以,Document/literal-wrap 也具有RPC的较高的耦合的缺点,而在我看来松耦合是 Document/literal 的最大优点。这么看来 Document/literal-wrap 并不是一个很好的选择。是这样吗? 请大家发表一下对这两个问题的看法。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-01-22
SSailYang 写道 这里的 WSDL 样式指的是 WSDL SOAP 绑定的样式:RPC/Encode、RPC/literal、Document/Encode和Document/literal,以及Document/literal-wrap。
对于 WSDL 样式我有两处不解。 一、Document/literal 风格的绑定所产生的 SOAP 消息中没有方法名,那它是如何判断它调用的是哪个方法呢?毕竟,WSDL 所定义的 Web Service 是单一 URL 多方法的模式。莫非是根据 soapAction 的定义。但实际上,根据 SOAP标准的定义,soapAction是可有可无的东西。 二、RPC样式的缺点在于,由于定义了SOAP客户端和服务器端之间的远程方法调用接口,所以增加了客户端与服务器之间的耦合度。而用 Document/literal-wrap 模拟的RPC实际上也包含有所调用的方法的名字。所以,Document/literal-wrap 也具有RPC的较高的耦合的缺点,而在我看来松耦合是 Document/literal 的最大优点。这么看来 Document/literal-wrap 并不是一个很好的选择。是这样吗? 请大家发表一下对这两个问题的看法。 Document/literal本来就是缺失方法名的 如果需要方法名 可以用Document/literal-wrap, 而事实上并不是每次你都需要方法名, 比如简单文档消息 client端和server端做的heartbeat Document/literal-wrap(Document/literal) 相比RPC的优势是 wsdl里会带有soap:body的schema 而在RPC里你无法对它作validation |
|
返回顶楼 | |
发表时间:2008-01-22
JAVA_ED 写道 而事实上并不是每次你都需要方法名, 比如简单文档消息 client端和server端做的heartbeat
这个是什么意思?能举具体一点的例子吗? 我上传里一个 WSDL文件(解压即可),有人能解释下像这样的 WSDL 文件用 document/literal (非 wrap的)可以吗? |
|
返回顶楼 | |
发表时间:2008-01-23
of course your wsdl's already been document/literal wrapped
如果你要用非wrapped 那不是一句话的事 eg: <xsd:element name="oper"> <xsd:complexType> <xsd:sequence> <param name="a" type="xsd:int"/> 非wrapped: <schema> <param name="a" type="xsd:int"/> 然后引用的时候改成对应的param就好了 |
|
返回顶楼 | |