我需要构建 ac# web 客户端,它可以使用现有的使用 wsse 安全性的 java weblogic web 服务。更改现有的 java weblogic web 服务以使用 C# 不是一种选择。我希望很容易找到解决方案。
对于客户端,我在 VisualStudio 2010 中将 c# 与 Microsoft.Web.Services3 一起使用。我知道 Web.Services3 已被弃用,但我找不到可以添加所需 wsse:Security 标记的 WCF 解决方案,并且按照 Web 服务所需的顺序。
使用Web.Service3,生成的soap 请求在soap 主体中不包含需要的soap 属性标签。使用soapUI 进行测试,工作请求和非工作请求的唯一区别是soap 主体中缺少“wsmp:”标签。如果我能找到一种方法将“wsmp:”插入到肥皂主体的方法标记中,那么 c# 请求将起作用。
在soap 正文中,它缺少Web 服务定义的soap 标头标记“wsmp:”。有没有办法在 C# 中将此标签插入到客户端请求中?
这是需要的身体——
`<soapenv:Body>
<wsmp:getForm xmlns:wsmp="http://www.microstrat.com/wsmpServices/1.0">
<wsmp:documentid><documentid>8502</documentid><formnumpacketid /></wsmp:documentid>
</wsmp:getForm>
</soapenv:Body>`
这是生成的主体——注意 getForm 而不是 wsmp:getForm 标签:
`<soapenv:Body>
<getForm xmlns="http://www.microstrat.com/wsmpServices/1.0">
<documentid xmlns=""><documentid>8502</documentid><formnumpacketid /></documentid>
</getForm>
</soapenv:Body>`
关于如何从生成的内容到需要的内容的任何帮助或指示?