Xml 使用 C# 的 AWS Lambda 上的序列化程序导致方法未找到异常
Xml Serializer on AWS Lambda using C# results in method not found exception
我正在尝试在 AWS Lambda 运行ning c# 中使用 xml 序列化程序。在 AWS Lambda 上 运行 时,我不断收到以下错误:
{
"Message": "There is an error in XML document (0, 0).",
"Data": {},
"InnerException": {
"Message": "Method not found: 'System.Xml.XmlReader System.Xml.Serialization.XmlSerializationReader.get_Reader()'.",
"Data": {},
"InnerException": null,
"StackTrace": " at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderDataSetHandleParam.InitIDs()\n at System.Xml.Serialization.TempAssembly.InvokeReader(XmlMapping mapping, XmlReader xmlReader, Object events, String encodingStyle)\n at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, Object events)",
"HelpLink": null,
"Source": "Microsoft.GeneratedCode",
"HResult": -2146233069
},
"StackTrace": " at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, Object events)\n at System.Xml.Serialization.XmlSerializer.Deserialize(TextReader textReader)\n at erp.client.agility.Models.Soap.Inventory.GetItemsResponse.Load(XmlNode node)\n at erp.client.agility.AgilityErpCommunicator.Send[TK,T](String url, HttpMethod method, TK content)\n at erp.client.agility.AgilityErpCommunicator.GetInventoryForProduct(String sessionContextId, String itemCode)\n at erp.Repository.impl.Agility.AgilityRepository.GetInventoryForProduct(List`1 itemCodes)\n at erp.Handler.InventoryForProduct(Request request, ILambdaContext context)",
"HelpLink": null,
"Source": "System.Xml.XmlSerializer",
"HResult": -2146233079
}
调用代码如下:
XmlSerializer serializer = new XmlSerializer(typeof(DataSetHandleParam));
this.ItemDatasetHandle = serializer.Deserialize(reader) as DataSetHandleParam;
当我在本地 运行 时 (Windows 10),我没有收到错误。
来自package.json:
"System.Xml.XmlSerializer": "4.3.0"
知道为什么会这样吗?
编辑:我打开了 AWS 的支持票。这是一个错误——他们正在调查它。
AWS Support 刚刚回复我并确认此错误已修复。
我正在尝试在 AWS Lambda 运行ning c# 中使用 xml 序列化程序。在 AWS Lambda 上 运行 时,我不断收到以下错误:
{
"Message": "There is an error in XML document (0, 0).",
"Data": {},
"InnerException": {
"Message": "Method not found: 'System.Xml.XmlReader System.Xml.Serialization.XmlSerializationReader.get_Reader()'.",
"Data": {},
"InnerException": null,
"StackTrace": " at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderDataSetHandleParam.InitIDs()\n at System.Xml.Serialization.TempAssembly.InvokeReader(XmlMapping mapping, XmlReader xmlReader, Object events, String encodingStyle)\n at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, Object events)",
"HelpLink": null,
"Source": "Microsoft.GeneratedCode",
"HResult": -2146233069
},
"StackTrace": " at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, Object events)\n at System.Xml.Serialization.XmlSerializer.Deserialize(TextReader textReader)\n at erp.client.agility.Models.Soap.Inventory.GetItemsResponse.Load(XmlNode node)\n at erp.client.agility.AgilityErpCommunicator.Send[TK,T](String url, HttpMethod method, TK content)\n at erp.client.agility.AgilityErpCommunicator.GetInventoryForProduct(String sessionContextId, String itemCode)\n at erp.Repository.impl.Agility.AgilityRepository.GetInventoryForProduct(List`1 itemCodes)\n at erp.Handler.InventoryForProduct(Request request, ILambdaContext context)",
"HelpLink": null,
"Source": "System.Xml.XmlSerializer",
"HResult": -2146233079
}
调用代码如下:
XmlSerializer serializer = new XmlSerializer(typeof(DataSetHandleParam));
this.ItemDatasetHandle = serializer.Deserialize(reader) as DataSetHandleParam;
当我在本地 运行 时 (Windows 10),我没有收到错误。
来自package.json:
"System.Xml.XmlSerializer": "4.3.0"
知道为什么会这样吗?
编辑:我打开了 AWS 的支持票。这是一个错误——他们正在调查它。
AWS Support 刚刚回复我并确认此错误已修复。