[英]Creating custom soap object in WCF XML serialization
I am trying to create a SOAP object from WCF by XML serialization, For that am facing issue like some serialization doesn't met my expected output. 我正在尝试通过XML序列化从WCF创建SOAP对象,为此面临的问题是某些序列化未达到我的预期输出。 I want to create a same WSDL file to support my old clients.
我想创建一个相同的WSDL文件来支持我的旧客户端。
This is what I am getting soap request: 这是我收到的肥皂请求:
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<areStatusComplete xmlns="http://tempuri.org/">
<listIds>
<string>12258</string>
<string>478526</string>
</listIds>
</areStatusComplete>
</s:Body>
Expected output is : 预期输出为:
<soap:Body>
<ns1:areStatusComplete xmlns:ns1="http://tempuri.org/">
<listIds>88355</listIds>
<listIds>88356</listIds>
</ns1:areStatusComplete>
</soap:Body>
C# code for data contract is: 数据合同的C#代码为:
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.7.2612.0")]
[System.SerializableAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(Namespace = "")]
[System.ServiceModel.MessageContractAttribute(WrapperName = "areStatusComplete", WrapperNamespace = "", IsWrapped = true)]
public class areStatusComplete
{
[System.ServiceModel.MessageBodyMemberAttribute(Namespace = "", Order = 0)]
[System.Xml.Serialization.XmlElementAttribute("listIds", Form = System.Xml.Schema.XmlSchemaForm.Unqualified, IsNullable = true, Order = 1)]
public string[] listIds { get; set; }
[System.ServiceModel.MessageBodyMemberAttribute(Namespace = "", Order = 1)]
[System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
public string system;
[System.ServiceModel.MessageBodyMemberAttribute(Namespace = "", Order = 2)]
[System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
public string user;
public areStatusComplete ()
{
}
public areStatusComplete (string[] listIds, string system, string user)
{
this.listIds = listIds;
this.system = system;
this.user = user;
}
}
Service Contract code: 服务合同代码:
[OperationContract]
areStatusCompleteResponse areStatusComplete (string[] listIds, string system, string user);
Let us know the exact error message. 让我们知道确切的错误消息。 from what i see it is expecting an array of listIds a custom C# class with the name listids needs to be created, and that needs to be a inner property of areStatusComplete class
从我所看到的是期望一个listIds数组需要创建一个名称为listids的自定义C#类,并且该类必须是areStatusComplete类的内部属性
public class areStatusComplete
{
public ListIds listIds {..}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.