Tag: messagecontract

WCF MessageContract包装和列表

我收到了客户关于他们的网络服务客户端如何工作的规范。 规范是从服务发送和接收的实际SOAP XML消息以及相应的XSD。 客户希望我实施符合客户要求的Web服务。 客户端使用axis2 ws-stack编写,我想要做的是在WCF中创建一个Web服务,它将接受客户端发出的请求并返回符合他们期望的XML的响应。 在这个问题中,我将只发布与请求相关的XML和XSD,因为如果我可以使用它,响应将以类似的方式进行。 我收到的XML如下: POST /axis2/services/SampleService HTTP/1.1 Content-Type: text/xml; charset=UTF-8 SOAPAction: “sendCommand” User-Agent: Axis2 Host: 127.0.0.1:7777 Content-Length: 347 5 这是相应的XSD的样子: 我已经开始用WCF / MessageContract格式编写类型了,但是我在列表等方面遇到了困难,因为它们是双重包装的。 我的MessageContracts看起来像这样: [MessageContract(WrapperName = “SendCommandRequest”, WrapperNamespace = “http://something.org/”)] public class SendCommandRequest { [MessageBodyMember(Name=”CMD”)] public CMD cmd = new CMD(); } [MessageContract(IsWrapped=false)] public class CMD { [MessageBodyMember(Name=”Station”)] public List stations […]

在WCF中自定义SOAP Header名称空间前缀

我写过关于在wcf生成的SOAP消息中自定义名称空间和名称空间前缀的方法。 但是,我找不到在Message类中重写的正确方法,以便自定义消息的SOAP标头。 我想发这个消息: IFD_1.4 看起来像这样: IFD_1.4 区别在于第一个标题的名称空间是“if”而不是“f”。 有没有办法使用自定义MessageFormatter与自定义Message类?