我的svc服务如下:
[ServiceContract(Namespace = "http://my.service.com/rem")]
[XmlSerializerFormat]
public interface IRemitTest
{
[OperationContract]
void Report(Block[] Block);
}
它想要一个按类发送的XML,如下所示:
public class Block
{
public string Name { get; set; }
}
非常简单,当有人使用我的服务时,他们应该发送一个肥皂信封,并使用一系列名称不同的Block
我的问题是我尝试发送
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:rem="http://my.service.com/rem">
<soapenv:Header/>
<soapenv:Body>
<rem:Report>
<rem:Block>
<rem:Name>Michael Lancoln</rem:Name>
</rem:Block>
<rem:Block>
<rem:Name>Luis Wholecast</rem:Name>
</rem:Block>
<rem:Block>
<rem:Name>Richard Berns</rem:Name>
</rem:Block>
</rem:Report>
</soapenv:Body>
</soapenv:Envelope>
这不起作用。它需要
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:rem="http://my.service.com/rem">
<soapenv:Header/>
<soapenv:Body>
<rem:Report>
<rem:Block>
<rem:Block>
<rem:Name>Michael Lancoln</rem:Name>
</rem:Block>
</rem:Block>
<rem:Block>
<rem:Block>
<rem:Name>Luis Wholecast</rem:Name>
</rem:Block>
</rem:Block>
<rem:Block>
<rem:Block>
<rem:Name>Richard Berns</rem:Name>
</rem:Block>
</rem:Block>
</rem:Report>
</soapenv:Body>
</soapenv:Envelope>
请注意双重rem:Block
如果我将服务更改为不使用数组作为输入:
[ServiceContract(Namespace = "http://my.service.com/rem")]
[XmlSerializerFormat]
public interface IRemitTest
{
[OperationContract]
void Report(Block Block);
}
这很好用,但只有一个块..但是我不必像数组那样必须加倍。.
我已经进行了2天,无法弄清楚如何删除第二个方块
有可能吗?
任何受到高度赞赏的帮助:D!