You try the following code,
public Response processRequest(Routing routing, Message msg)
{
StringBuilder payload = new StringBuilder();
payload.Append("<message>");
payload.Append("<routing>");
payload.Append("<subscriptionid>");
payload.Append(routing.subscriptionID);
payload.Append("</subscriptionid>");
payload.Append("<touserid>");
payload.Append(routing.ToUserID);
payload.Append("</touserid>");
payload.Append("<todomain>");
payload.Append(routing.ToDomain);
payload.Append("</todomain>");
payload.Append("<tochannel>");
payload.Append(routing.ToChannel);
payload.Append("</tochannel>");
payload.Append("<type>");
payload.Append(msg.type.ToString());
payload.Append("</type>");
payload.Append("</routing>");
payload.Append(msg.getXmlPayload());
payload.Append("</message>");
String xmlString =
@"
<!-- This is a sample XML document -->
<items>
<item>test with a child element <more /> stuff</item>
</items>";
using (XmlReader reader = XmlReader.Create(new StringReader(xmlString)))
{
XmlWriterSettings ws = new XmlWriterSettings();
ws.Indent = true;
using (XmlWriter writer = XmlWriter.Create(output, ws))
{
while (reader.Read())
{
switch (reader.NodeType)
{
case XmlNodeType.Element:
writer.WriteStartElement(reader.Name);
break;
case XmlNodeType.Text:
writer.WriteString(reader.Value);
break;
case XmlNodeType.XmlDeclaration:
case XmlNodeType.ProcessingInstruction:
writer.WriteProcessingInstruction(reader.Name, reader.Value);
break;
case XmlNodeType.Comment:
writer.WriteComment(reader.Value);
break;
case XmlNodeType.EndElement:
writer.WriteFullEndElement();
break;
}
}
}
}
return this.GetResponse(this.InvokeWebMethod(payload.ToString()));
}
Hope be helpful.
Theingi win