【问题标题】:System.FormatException Input String was not in correct formatSystem.FormatException 输入字符串格式不正确
【发布时间】:2023-03-14 23:01:01
【问题描述】:

我正在调用网络服务 (http://codes.eglencefabrikasi.com/Services/service.php?wsdl),当我通过 Wizdler 或 Soap-ui 进行调用时,我没有问题。但是当我从我的源代码调用时,比如

            var service = new EFDigitalCodesWebServicesV16
            {
                Url =http://codes.eglencefabrikasi.com/Services/service.php,
                Timeout = 50000
            };

var response = service.finalizeDay(14, "13-03-2017");

我收到以下错误。有任何想法吗?预先感谢


System.InvalidOperationException:XML 文档中存在错误 (1, 858)。 ---> System.FormatException:输入字符串不在 正确的格式。在 System.Number.StringToNumber(字符串 str, NumberStyles 选项,NumberBuffer& 数字,NumberFormatInfo 信息, Boolean parseDecimal) 在 System.Number.ParseInt32(String s, NumberStyles 样式,NumberFormatInfo 信息)在 System.Xml.Serialization.XmlSerializationReader.ReadTypedPrimitive(XmlQualifiedName 类型,布尔元素CanBeType)在 System.Xml.Serialization.XmlSerializationReader.ReadReferencingElement(字符串 name, String ns, Boolean elementCanBeType, String& fixupReference)
在 Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderEFDigitalCodesWebServicesV16.Read4_NullableOfInt32(布尔 检查类型)在 Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderEFDigitalCodesWebServicesV16.Read3_transactions() 在 System.Xml.Serialization.XmlSerializationReader.ReadReferencingElement(字符串 name, String ns, Boolean elementCanBeType, String& fixupReference)
在 System.Xml.Serialization.XmlSerializationReader.ReadArray(字符串 typeName, String typeNs) 在 System.Xml.Serialization.XmlSerializationReader.ReadReferencingElement(字符串 name, String ns, Boolean elementCanBeType, String& fixupReference)
在 Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderEFDigitalCodesWebServicesV16.Read6_finalize() 在 System.Xml.Serialization.XmlSerializationReader.ReadReferencingElement(字符串 name, String ns, Boolean elementCanBeType, String& fixupReference)
在 System.Xml.Serialization.XmlSerializationReader.ReadArray(字符串 typeName, String typeNs) 在 System.Xml.Serialization.XmlSerializationReader.ReadReferencingElement(字符串 name, String ns, Boolean elementCanBeType, String& fixupReference)
在 Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderEFDigitalCodesWebServicesV16.Read32_finalizeDayResponse() 在 System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader、字符串 encodingStyle、XmlDeserializationEvents 事件)
--- 内部异常堆栈跟踪结束 --- 在 System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader、字符串 encodingStyle、XmlDeserializationEvents 事件)
在 System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage 消息、WebResponse 响应、流 responseStream、布尔值 asyncCall) 在 System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(字符串 方法名,对象 [] 参数)在 Intertech.Application.Operation.EFDigital.EFDigitalCodesWebServicesV16.finalizeDay(Int32 instutionId,字符串日期)在 C:\Tfs\DFHG\DEV\FastPayBackEnd\Intertech.Fortuna.Layers\Application.Layer\Intertech.Application.Operation\Web References\EFDigital\Reference.cs:第 590 行,位于 Intertech.MobileMoneyTransfer.Utility.FastPayUtility.FunFactoryDailyReconciliation() 在 C:\Tfs\DFHG\DEV\FastPayBackEnd\Intertech.Fortuna.Layers\MobileMoneyTransfer.Layer\Intertech.MobileMoneyTransfer.Utility\FastPayUtility.cs:line 522 在 Intertech.MobileMoneyTransfer.WebApp.FastPay.FunFactoryDailyReconciliation() 在 C:\Tfs\DFHG\DEV\FastPayBackEnd\Intertech.Fortuna.Layers\MobileMoneyTransfer.Layer\Intertech.MobileMoneyTransfer.WebApp\FastPay.asmx.cs:line 第1317章

【问题讨论】:

  • 什么是service
  • 我看到一个由 StringToNumber 方法触发的异常。这里应该转换成数字的字符串在哪里?
  • 您缺少 xml 标识行(第一行)。我有时会在 xml 字符串的开头添加以下内容:
  • 我用“服务”定义编辑了问题,

标签: c# xml string serialization


【解决方案1】:

我想建议你使用Url作为

var url = new Url("http://codes.eglencefabrikasi.com/Services/service.php");

这样您就不会遇到任何字符串格式错误。

【讨论】:

    猜你喜欢
    • 2011-11-23
    • 2022-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多