Xml 在代码中创建SOAP信封的最佳实践?
我有一个大的肥皂包身体 在我的应用程序表单旅程中,它的值累积在3个不同的模型中,由用户输入填充 我使用的是meanstack(mongoexpressnodejs)…typescript就是这种语言 构建此XML的最佳方式应该是什么,它将作为SOAP请求的主体传递Xml 在代码中创建SOAP信封的最佳实践?,xml,typescript,express,soap,nodes,Xml,Typescript,Express,Soap,Nodes,我有一个大的肥皂包身体 在我的应用程序表单旅程中,它的值累积在3个不同的模型中,由用户输入填充 我使用的是meanstack(mongoexpressnodejs)…typescript就是这种语言 构建此XML的最佳方式应该是什么,它将作为SOAP请求的主体传递 如果这是程序化的,那么请建议一个图书馆 我应该使用字符串的concat来完成这个任务吗 还有别的办法吗?就像将原始格式存储在某个模板文件中一样 30887 B11944 1. 11006 117944P 4502 2022714
- 如果这是程序化的,那么请建议一个图书馆
- 我应该使用字符串的concat来完成这个任务吗
- 还有别的办法吗?就像将原始格式存储在某个模板文件中一样
30887
B11944
1.
11006
117944P
4502
20227141272095
阿米特
123
不
amit@gmail.com
阿米特
2020-08-14
0
30887
0
苏尼尔·库马尔
30887
Paytm
PG21967
1234
电磁干扰
0
以下是用于序列化的网络代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Xml.Serialization;
using System.IO;
namespace ConsoleApplication1
{
class Program
{
const string INPUT_FILENAME = @"c:\temp\test.xml";
const string OUTPUT_FILENAME = @"c:\temp\test1.xml";
static void Main(string[] args)
{
string soap = File.ReadAllText(INPUT_FILENAME);
StringReader sReader = new StringReader(soap);
XmlReader xReader = XmlReader.Create(sReader);
XmlSerializer serializer = new XmlSerializer(typeof(Envelope));
Envelope envelope = (Envelope)serializer.Deserialize(xReader);
XmlSerializerNamespaces namespaces = new XmlSerializerNamespaces();
namespaces.Add("soapenv", "http://schemas.xmlsoap.org/soap/envelope/");
namespaces.Add("b2b", "http://www.abcd.com/B2BService");
namespaces.Add("ser", "http://schemas.datacontract.org/2004/07/ServiceObjects");
namespaces.Add("pol", "http://schemas.datacontract.org/2004/07/Policy");
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
XmlWriter writer = XmlWriter.Create(OUTPUT_FILENAME, settings);
serializer.Serialize(writer, envelope, namespaces);
}
}
[XmlRoot(ElementName = "Envelope", Namespace = "http://schemas.xmlsoap.org/soap/envelope/")]
public class Envelope
{
[XmlElement(ElementName = "Header", Namespace = "http://schemas.xmlsoap.org/soap/envelope/")]
public Header Header { get; set; }
[XmlElement(ElementName = "Body", Namespace = "http://schemas.xmlsoap.org/soap/envelope/")]
public Body Body { get; set; }
}
public class Header
{
}
public class Body
{
[XmlArray(ElementName = "IssuePolicy", Namespace = "http://www.abcd.com/B2BService")]
[XmlArrayItem(ElementName = "PolicyIssuanceRequest", Namespace = "http://www.abcd.com/B2BService")]
public List<Policy> Policy { get; set; }
}
public class Policy
{
[XmlElement(ElementName = "PaymentDetails", Namespace = "http://schemas.datacontract.org/2004/07/Policy")]
public Payment Payment { get; set; }
}
public class Payment
{
[XmlArray(ElementName = "ApplicationDetails", Namespace = "http://schemas.datacontract.org/2004/07/ServiceObjects")]
[XmlArrayItem(ElementName = "PartnerApplicationDetails", Namespace = "http://schemas.datacontract.org/2004/07/ServiceObjects")]
public List<Application> Application { get; set; }
[XmlElement(Namespace = "http://schemas.datacontract.org/2004/07/ServiceObjects")]
public int BankCode { get; set; }
[XmlElement(Namespace = "http://schemas.datacontract.org/2004/07/ServiceObjects")]
public long BankRefNo { get; set; }
[XmlElement(Namespace = "http://schemas.datacontract.org/2004/07/ServiceObjects")]
public string CardHolderName { get; set; }
[XmlElement(Namespace = "http://schemas.datacontract.org/2004/07/ServiceObjects")]
public int ChildID { get; set; }
[XmlElement(Namespace = "http://schemas.datacontract.org/2004/07/ServiceObjects")]
public string CrossSellCommonCode { get; set; }
[XmlElement(Namespace = "http://schemas.datacontract.org/2004/07/ServiceObjects")]
public string CustomerEmail { get; set; }
[XmlElement(Namespace = "http://schemas.datacontract.org/2004/07/ServiceObjects")]
public string CustomerName { get; set; }
[XmlElement(Namespace = "http://schemas.datacontract.org/2004/07/ServiceObjects")]
public DateTime DateofReceipt { get; set; }
[XmlElement(Namespace = "http://schemas.datacontract.org/2004/07/ServiceObjects")]
public int EduCess { get; set; }
[XmlElement(Namespace = "http://schemas.datacontract.org/2004/07/ServiceObjects")]
public int GrossTxnAmount { get; set; }
[XmlElement(Namespace = "http://schemas.datacontract.org/2004/07/ServiceObjects")]
public int HigherEduCess { get; set; }
[XmlElement(Namespace = "http://schemas.datacontract.org/2004/07/ServiceObjects")]
public string InsuredName { get; set; }
[XmlElement(Namespace = "http://schemas.datacontract.org/2004/07/ServiceObjects")]
public int NetAmountPaid { get; set; }
[XmlElement(Namespace = "http://schemas.datacontract.org/2004/07/ServiceObjects")]
public string PGType { get; set; }
[XmlElement(Namespace = "http://schemas.datacontract.org/2004/07/ServiceObjects")]
public string ParentID { get; set; }
[XmlElement(Namespace = "http://schemas.datacontract.org/2004/07/ServiceObjects")]
public int PaymentNumber { get; set; }
[XmlElement(Namespace = "http://schemas.datacontract.org/2004/07/ServiceObjects")]
public string PaymentType { get; set; }
[XmlElement(Namespace = "http://schemas.datacontract.org/2004/07/ServiceObjects")]
public int ServiceTax { get; set; }
}
public class Application
{
public int Amount { get; set; }
public string ApplicationNumber { get; set; }
public int BusinessType { get; set; }
public int ProductCode { get; set; }
public string ProposalNumber { get; set; }
}
}
使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用系统文本;
使用System.Xml;
使用System.Xml.Serialization;
使用System.IO;
命名空间控制台应用程序1
{
班级计划
{
常量字符串输入\u文件名=@“c:\temp\test.xml”;
常量字符串输出\u文件名=@“c:\temp\test1.xml”;
静态void Main(字符串[]参数)
{
字符串soap=File.ReadAllText(输入文件名);
StringReader sReader=新的StringReader(soap);
XmlReader=XmlReader.Create(sReader);
XmlSerializer serializer=新的XmlSerializer(typeof(信封));
信封=(信封)序列化程序。反序列化(xReader);
XmlSerializerNamespaces=新的XmlSerializerNamespaces();
名称空间。添加(“soapenv”http://schemas.xmlsoap.org/soap/envelope/");
名称空间。添加(“b2b”http://www.abcd.com/B2BService");
名称空间。添加(“ser”http://schemas.datacontract.org/2004/07/ServiceObjects");
名称空间。添加(“pol”http://schemas.datacontract.org/2004/07/Policy");
XmlWriterSettings=新的XmlWriterSettings();
settings.Indent=true;
XmlWriter=XmlWriter.Create(输出文件名、设置);
序列化(编写器、信封、名称空间);
}
}
[XmlRoot(ElementName=“信封”,命名空间=”http://schemas.xmlsoap.org/soap/envelope/")]
公共类信封
{
[XmlElement(ElementName=“Header”,命名空间=”http://schemas.xmlsoap.org/soap/envelope/")]
公共标头{get;set;}
[XmlElement(ElementName=“Body”,命名空间=”http://schemas.xmlsoap.org/soap/envelope/")]
公共机构主体{get;set;}
}
公共类标题
{
}
公共阶级团体
{
[XmlArray(ElementName=“IssuePolicy”,命名空间=”http://www.abcd.com/B2BService")]
[XmlArrayItem(ElementName=“PolicyIssuanceRequest”,命名空间=”http://www.abcd.com/B2BService")]
公共列表策略{get;set;}
}
公共阶级政策
{
[XmlElement(ElementName=“PaymentDetails”,命名空间=”http://schemas.datacontract.org/2004/07/Policy")]
公共支付{get;set;}
}
公共类支付
{
[XmlArray(ElementName=“ApplicationDetails”,命名空间=”http://schemas.datacontract.org/2004/07/ServiceObjects")]
[XmlArrayItem(ElementName=“PartnerApplicationDetails”,命名空间=”http://schemas.datacontract.org/2004/07/ServiceObjects")]
公共列表应用程序{get;set;}
[XmlElement(命名空间=”http://schemas.datacontract.org/2004/07/ServiceObjects")]
公共整数银行代码{get;set;}
[XmlElement(命名空间=”http://schemas.datacontract.org/2004/07/ServiceObjects")]
公共长BankRefNo{get;set;}
[XmlElement(命名空间=”http://schemas.datacontract.org/2004/07/ServiceObjects")]
公共字符串名称{get;set;}
[XmlElement(命名空间=”http://schemas.datacontract.org/2004/07/ServiceObjects")]
public int ChildID{get;set;}
[XmlElement(命名空间=”http://schemas.datacontract.org/2004/07/ServiceObjects")]
公共字符串CrossSellCommonCode{get;set;}
[XmlElement(命名空间=”http://schemas.datacontract.org/2004/07/ServiceObjects")]
公共字符串CustomerEmail{get;set;}
[XmlElement(命名空间=”http://schemas.datacontract.org/2004/07/ServiceObjects")]
公共字符串CustomerName{get;set;}
[XmlElement(命名空间=”http://schemas.datacontract.org/2004/07/ServiceObjects")]
公共DateTime DateofReceipt{get;set;}
[XmlElement(命名空间=”http://schemas.datacontract.org/2004/07/ServiceObjects")]
公共整数访问{get;set;}
[XmlElement(命名空间=”http://schemas.datacontract.org/2004/07/ServiceObjects")]
public int GrossTxnAmount{get;set;}
[XmlElement(命名空间=”http://schemas.datacontract.org/2004/07/ServiceObjects")]
公共int高等教育{get;set;}
[XmlElement(命名空间=”http://schemas.datacontract.org/2004/07/ServiceObjects")]
公共字符串保险名称{get;set;}
[XmlElement(命名空间=”http://schemas.datacontract.org/2004/07/ServiceObjects")]
公共整数{get;set;}
[XmlElement(命名空间=”http://schemas.datacontract.org/2004/07/ServiceObjects")]
公共字符串类型{get;set;}
[XmlElement(命名空间=”http://schemas
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Xml.Serialization;
using System.IO;
namespace ConsoleApplication1
{
class Program
{
const string INPUT_FILENAME = @"c:\temp\test.xml";
const string OUTPUT_FILENAME = @"c:\temp\test1.xml";
static void Main(string[] args)
{
string soap = File.ReadAllText(INPUT_FILENAME);
StringReader sReader = new StringReader(soap);
XmlReader xReader = XmlReader.Create(sReader);
XmlSerializer serializer = new XmlSerializer(typeof(Envelope));
Envelope envelope = (Envelope)serializer.Deserialize(xReader);
XmlSerializerNamespaces namespaces = new XmlSerializerNamespaces();
namespaces.Add("soapenv", "http://schemas.xmlsoap.org/soap/envelope/");
namespaces.Add("b2b", "http://www.abcd.com/B2BService");
namespaces.Add("ser", "http://schemas.datacontract.org/2004/07/ServiceObjects");
namespaces.Add("pol", "http://schemas.datacontract.org/2004/07/Policy");
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
XmlWriter writer = XmlWriter.Create(OUTPUT_FILENAME, settings);
serializer.Serialize(writer, envelope, namespaces);
}
}
[XmlRoot(ElementName = "Envelope", Namespace = "http://schemas.xmlsoap.org/soap/envelope/")]
public class Envelope
{
[XmlElement(ElementName = "Header", Namespace = "http://schemas.xmlsoap.org/soap/envelope/")]
public Header Header { get; set; }
[XmlElement(ElementName = "Body", Namespace = "http://schemas.xmlsoap.org/soap/envelope/")]
public Body Body { get; set; }
}
public class Header
{
}
public class Body
{
[XmlArray(ElementName = "IssuePolicy", Namespace = "http://www.abcd.com/B2BService")]
[XmlArrayItem(ElementName = "PolicyIssuanceRequest", Namespace = "http://www.abcd.com/B2BService")]
public List<Policy> Policy { get; set; }
}
public class Policy
{
[XmlElement(ElementName = "PaymentDetails", Namespace = "http://schemas.datacontract.org/2004/07/Policy")]
public Payment Payment { get; set; }
}
public class Payment
{
[XmlArray(ElementName = "ApplicationDetails", Namespace = "http://schemas.datacontract.org/2004/07/ServiceObjects")]
[XmlArrayItem(ElementName = "PartnerApplicationDetails", Namespace = "http://schemas.datacontract.org/2004/07/ServiceObjects")]
public List<Application> Application { get; set; }
[XmlElement(Namespace = "http://schemas.datacontract.org/2004/07/ServiceObjects")]
public int BankCode { get; set; }
[XmlElement(Namespace = "http://schemas.datacontract.org/2004/07/ServiceObjects")]
public long BankRefNo { get; set; }
[XmlElement(Namespace = "http://schemas.datacontract.org/2004/07/ServiceObjects")]
public string CardHolderName { get; set; }
[XmlElement(Namespace = "http://schemas.datacontract.org/2004/07/ServiceObjects")]
public int ChildID { get; set; }
[XmlElement(Namespace = "http://schemas.datacontract.org/2004/07/ServiceObjects")]
public string CrossSellCommonCode { get; set; }
[XmlElement(Namespace = "http://schemas.datacontract.org/2004/07/ServiceObjects")]
public string CustomerEmail { get; set; }
[XmlElement(Namespace = "http://schemas.datacontract.org/2004/07/ServiceObjects")]
public string CustomerName { get; set; }
[XmlElement(Namespace = "http://schemas.datacontract.org/2004/07/ServiceObjects")]
public DateTime DateofReceipt { get; set; }
[XmlElement(Namespace = "http://schemas.datacontract.org/2004/07/ServiceObjects")]
public int EduCess { get; set; }
[XmlElement(Namespace = "http://schemas.datacontract.org/2004/07/ServiceObjects")]
public int GrossTxnAmount { get; set; }
[XmlElement(Namespace = "http://schemas.datacontract.org/2004/07/ServiceObjects")]
public int HigherEduCess { get; set; }
[XmlElement(Namespace = "http://schemas.datacontract.org/2004/07/ServiceObjects")]
public string InsuredName { get; set; }
[XmlElement(Namespace = "http://schemas.datacontract.org/2004/07/ServiceObjects")]
public int NetAmountPaid { get; set; }
[XmlElement(Namespace = "http://schemas.datacontract.org/2004/07/ServiceObjects")]
public string PGType { get; set; }
[XmlElement(Namespace = "http://schemas.datacontract.org/2004/07/ServiceObjects")]
public string ParentID { get; set; }
[XmlElement(Namespace = "http://schemas.datacontract.org/2004/07/ServiceObjects")]
public int PaymentNumber { get; set; }
[XmlElement(Namespace = "http://schemas.datacontract.org/2004/07/ServiceObjects")]
public string PaymentType { get; set; }
[XmlElement(Namespace = "http://schemas.datacontract.org/2004/07/ServiceObjects")]
public int ServiceTax { get; set; }
}
public class Application
{
public int Amount { get; set; }
public string ApplicationNumber { get; set; }
public int BusinessType { get; set; }
public int ProductCode { get; set; }
public string ProposalNumber { get; set; }
}
}