WCF SOAP有方法名的名称空间,但没有参数的名称空间



我有以下SOAP请求:

<your:SendCount>
<Parameter>
<Count>12345</Count>
</Parameter>
</your:SendCount>

方法SendCount有一个命名空间,而Parameter没有。

我需要创建一个Service来接收这些类型的调用。到目前为止,我有这个:

[ServiceContract(Namespace = "")]
[WebServiceBindingAttribute(Name = "CountBinding", Namespace = "http://yourserver/")]
public interface ICountServer
{
[OperationContract(Action = "", Name = "SendCount")]
[return: XmlElementAttribute("return")]
long SendCount([MessageParameter(Name = "Parameter")] CountClass Parameter);
}

所以包含:SendCount的原始请求失败,因为名称空间不匹配。如何添加命名空间(您的:)只有SendCount方法,而不是其他元素?

尝试了以上操作,收到:

<SendCount>
<Parameter>
<Count>12345</Count>
</Parameter>
</SendCount>

根据您的描述,我认为您可以使用消息检查器。客户端收到soap请求后,执行该操作。

如果对你有帮助的话,你可以照着做。