接受SOAP信封

时间:2017-11-22 08:36:27

标签: c# web-services asp.net-web-api soap

干杯,

我有一个用c#编写的soap webservice,它接受一个XMLDocument作为参数......

    [WebMethod]
    [SoapDocumentMethod(ResponseNamespace = "http://ns.ctb.nl/flex/2012-1")]
    public string stuurReflexBericht(XmlDocument m) //XElement m
    {
    //do something
}

我正在使用Boomerang,这是谷歌浏览器测试服务的扩展程序。

Boomerang创建此请求正文:

<x:Envelope xmlns:x="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://ctb.nl/webservices">
    <x:Header/>
    <x:Body>
        <web:stuurReflexBericht>
            <web:m>
                My XML Body
            </web:m>
        </web:stuurReflexBericht>
    </x:Body>
</x:Envelope>

这样,服务就会收到xml消息。但是,服务的使用者希望将消息发送为:

<x:Envelope xmlns:x="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://ctb.nl/webservices">
    <x:Header/>
    <x:Body>
                My XML Body
    </x:Body>
</x:Envelope>

当他们这样做时,XMLDocument为null。

消费者不想更改他们的代码,因此我可以自行调整。

我尝试将参数数据类型从XMLDocument更改为字符串,希望它可以工作,但事实并非如此。 关于如何解决这个问题的任何想法?

TIA

0 个答案:

没有答案