WCF - Remove wrapper from XML

6 days ago 5
ARTICLE AD BOX

I have a WCF application. I need to remove this wrapper

<getSystemNameResponse xmlns=""> ... </getSystemNameResponse>

Here is my code:

public GetSystemNameResult getSystemName(GetSystemNameRequest request) { return new GetSystemNameResult { Result = Result.Ok(), SystemName = "xxx" }; } [XmlRoot(ElementName = "GetSystemNameResult", Namespace = "")] public class GetSystemNameResult { public Result Result { get; set; } [XmlElement] public string SystemName { get; set; } } public class Result { [XmlElement] public IsTransactionOkEnum IsTransactionOk { get; set; } [XmlElement(IsNullable = true)] public string Message { get; set; } public static Result Ok() => new Result { IsTransactionOk = IsTransactionOkEnum.IS_OK }; public static Result Warning(string message) => new Result { IsTransactionOk = IsTransactionOkEnum.IS_WARNING, Message = message }; public static Result Error(string message) => new Result { IsTransactionOk = IsTransactionOkEnum.IS_FATAL_ERROR, Message = message }; }

Here is the XML response I get:

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <s:Header /> <s:Body> <getSystemNameResponse xmlns=""> <getSystemNameResult xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> <a:Result> <a:IsTransactionOk>IS_OK</a:IsTransactionOk> <a:Message i:nil="true" /> </a:Result> <a:SystemName>DMIS</a:SystemName> </getSystemNameResult> </getSystemNameResponse> </s:Body> </s:Envelope>
Read Entire Article