Vid*_*d L 16 soap wsdl soapheader
我的问题与此类似.当WSDL没有定义它时,如何传递肥皂头?但是不同.
对于我使用的Web服务,所有方法都需要在SOAP标头内以明文形式发送的身份验证.但是,我的WSDL不包含任何soap标头信息.我有一个自定义平台工具,我必须使用它来从WSDL生成代码.由于标题信息不可用,我无法直接使用生成的类 - 我不想手动修改代码以适应标题.
我尝试在WSDL中指定SOAP标头但是我无法获得正确的名称空间.WSDL在这里https://stage.totalcheck.sensis.com.au/service/webservice?wsdl,SOAP标头如下:
<soapenv:Header>
<wsse:Security>
<wsse:UsernameToken>
<wsse:Username>username</wsse:Username>
<wsse:Password>password</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</soapenv:Header>
Run Code Online (Sandbox Code Playgroud)
有人能帮我吗?谢谢!
van*_*nto 20
从概念的角度来看,WSDL不应该定义头.WSDL仅用于定义服务的功能方面,如操作,消息,绑定和端点.消息和绑定定义了消息的有效负载应如何编码和格式化.
但是,SOAP消息的头部不属于有效负载.它们通常用于配置SOAP处理器的非功能属性.安全是一种非功能性的财产.有效载荷的功能方面不受影响.只保证通信是安全的,WS工具堆栈而不是服务实现应该解决这个问题.
因此,缺少的部分现在是允许将一些非功能性需求附加到WSDL服务的标准,以便代码生成器可以自动派生需要发送和/或理解的头部,以便根据需要实现非功能性属性 - - 无需手动处理标题字段.该标准存在并称为WS-Policy.策略通常包含一组备选方案,这些方案公开了提供者和消费者都应该能够实现的一组要求.当两个服务相互交互时,采取两种策略并计算所谓的"有效策略".它定义了常见的非功能性需求.使用此信息,提供者和使用者可以自行配置以添加所需的标头,例如WS-Security标头.WS-SecurityPolicy还定义了一组可以使用的策略.WS-PolicyAttachment定义了如何将这些策略附加到WSDL.
有代码生成器可以处理WS-Policies,例如Metro或Axis2
| 归档时间: |
|
| 查看次数: |
50614 次 |
| 最近记录: |