我正在使用 Fedex 的网络服务,并在我真正到达任何地方之前就遇到了一个恼人的错误。
序列化消息 addressValidationRequest1 的正文时出错:'无法生成临时类(结果 = 1)。
错误 CS0030:无法将类型“FedEx.InterOp.AddressValidationServiceReference.ParsedElement[]”转换为“FedEx.InterOp.AddressValidationServiceReference.ParsedElement”
错误 CS0029:无法将类型“FedEx.InterOp.AddressValidationServiceReference.ParsedElement”隐式转换为“FedEx.InterOp.AddressValidationServiceReference.ParsedElement[]”
'。有关更多详细信息,请参阅 InnerException。
我正在使用 .NET 3.5 并为我生成了一个可怕的命名类(我不确定为什么它不仅仅是 AddressValidationService):AddressValidationPortTypeClient addressValidationService = new ...;
在这门课上,我进行了网络服务调用:addressValidationService.addressValidation(request);
这是我收到此错误的时候。
我能找到的这个错误的唯一引用来自古老的 1.1 项目。就我而言,我的 DLL 引用了 System.Web 和 System.Web.Services,这在当时似乎是一个问题。
最佳答案
您只需要更改 [][],而不是单个 []。
在 Reference.cs 更改
private ParsedElement[][] parsedStreetLineField;
to
private ParsedElement[] parsedStreetLineField;
and
public ParsedElement[][] ParsedStreetLine {
to
public ParsedElement[] ParsedStreetLine {
关于.net - '序列化正文时出错'。通过 .NET 3.5 调用 Fedex Web 服务时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/345411/