我创建了Web服务来接受此肥皂请求。 我测试了并且没有标题就可以正常工作 如果我添加标题仍适用于s:mustUnderstand =“ 0”,但 如果我将其更改为1,则会破坏
动作s:mustUnderstand =“ 1”
为了接受标头,我需要在Web服务上进行哪些更改? 预先感谢
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <s:Header>
<Action s:mustUnderstand="1" xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none">http://www.xxxx-ccc.co.uk/Integration/SaveApplication</Action> </s:Header>
<s:Body> applicant>
<title>Mr</title>
<forename>dd</forename>
<surname>ee</surname>
<address>
<street1>ppp</street1>
<town>dd</town>
<county>cc</county>
<postcode>rtrtr</postcode>
</address>
</applicant>
</s:Body> </s:Envelope>
这是我的网络服务代码
[WebService(Namespace = "http://www.xxxx-ccc.co.uk/Integration/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
public class CG_ADNContact : System.Web.Services.WebService
{
[WebMethod(Description = "")]
public XmlDocument SaveApplication()
{ //Do some thing }
}
答案 0 :(得分:3)
http://schemas.microsoft.com/ws/2005/05/addressing/none
命名空间对于Action
元素无效。它永远不应出现在肥皂消息中。您从哪里得到消息?您是否可能从wcf跟踪日志中复制了它?
如果mustUnderstand
属性设置为true(或1),则这基本上意味着所涉及的元素必须是服务合同的一部分。您可以使用MustUnderstand
属性的MessageHeader
属性来控制它。
有关使用此属性的示例服务合同,请参见here。