我正在将传统web服务转换为WCF服务。此服务当前正由前端应用程序使用。
当我生成wsdl并将其添加到soapUI项目中时。主体被包装在一个带有方法名("UserVerification“是操作契约名)的标记中,有没有办法在不使用消息契约的情况下处理这个问题(我对输入参数使用的是遗留类型,所以无法更改它们)
现在它是这样来的:
<soapenv:Body>
<wes:UserVerification>
<!--Optional:-->
<wes:userVerificationRequest wes:Direction="Request" >
</wes:userVerificationRequest>
</wes:UserVerificatio>
</soapenv:Body>我希望是这样的
<soapenv:Body>
<wes:UserVerificationRequest wes:Direction="Request" >
</wes:UserVerificationRequest>
</soapenv:Body>发布于 2015-04-09 02:02:06
默认情况下,WCF使用“包装”消息样式。如果您希望能够控制消息的序列化方式,则可以通过使用MessageContractAttribute进行修饰来定义显式消息。对于显式消息协定,可以将IsWrapped属性设置为false。
在您的例子中,我认为EchoRequest和EchoResponse根本不应该是DataContracts,而应该是MessageContracts。对我来说,他们看起来很像MessageContracts。
https://stackoverflow.com/questions/29521733
复制相似问题