У меня есть Dataobject, который выглядит следующим образом
namespace WCFDemo
{
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)]
[System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
public partial class pricinginput
{
/// <remarks/>
public aRequest request;
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)]
public partial class aRequest
{
/// <remarks/>
[System.Xml.Serialization.XmlAttributeAttribute()]
public string input1;
/// <remarks/>
[System.Xml.Serialization.XmlAttributeAttribute()]
public string input2;
/// <remarks/>
[System.Xml.Serialization.XmlAttributeAttribute()]
public string input3;
}
}
и Service Operation, как
public string pricinginput(pricinginput sourceValue)
{
return string.Format("You entered: {0}", 2323);
}
, чтобы вызвать службу, которую я должен сделать
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://Server/Service" xmlns:wcf="http://schemas.datacontract.org/2004/07/WCFDemo">
<soapenv:Header/>
<soapenv:Body>
<ser:pricinginput>
<!--Optional:-->
<ser:sourceValue>
<wcf:request>
<wcf:input1>?</wcf:input1>
<wcf:input2>?</wcf:input2>
<wcf:input3>?</wcf:input3>
</wcf:request>
</ser:sourceValue>
</ser:pricinginput>
</soapenv:Body>
</soapenv:Envelope>
Как преобразовать значение источника в xmlelemet, который выглядит как belwo, мой datacontext уже определяет элемент данных как атрибут для input1, inptu2 ...
<pricinginput>
<sourcevalue>
<request input1="" input2="" input3=""/>
<sourcevalue>
</pricinginput>