【发布时间】:2019-10-27 13:34:05
【问题描述】:
我在本地主机上托管了一个肥皂网络服务,即使用 Visual Studio 的 iis express。我使用 SOAPUI 发送它的值。如果我传递了正确的值,它可以工作并调试。
但是,如果我传递一个空标签或值,即如果预期日期时间并且我传递空标签,那么它甚至在点击 webservices 方法之前就会引发错误。
那么是 webservice 错误还是 soapui 错误?
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<soap:Fault>
<soap:Code>
<soap:Value>soap:Sender</soap:Value>
</soap:Code>
<soap:Reason>
<soap:Text xml:lang="en">System.Web.Services.Protocols.SoapException: Server was unable to read request. ---> System.InvalidOperationException: There is an error in XML document (41, 34). ---> System.FormatException: String was not recognized as a valid DateTime.
at System.DateTimeParse.ParseExactMultiple(String s, String[] formats, DateTimeFormatInfo dtfi, DateTimeStyles style)
at System.DateTime.ParseExact(String s, String[] formats, IFormatProvider provider, DateTimeStyles style)
at System.Xml.Serialization.XmlCustomFormatter.ToDate(String value)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read3_Item(Boolean isNullable, Boolean checkType)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read10_Item(Boolean isNullable, Boolean checkType)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read11_DT_FunctionalLocation(Boolean isNullable, Boolean checkType)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read12_SI_FunctionalLocation_In_Async()
at Microsoft.Xml.Serialization.GeneratedAssembly.ArrayOfObjectSerializer.Deserialize(XmlSerializationReader reader)
at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)
--- End of inner exception stack trace ---
at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)
at System.Web.Services.Protocols.SoapServerProtocol.ReadParameters()
--- End of inner exception stack trace ---
at System.Web.Services.Protocols.SoapServerProtocol.ReadParameters()
at System.Web.Services.Protocols.WebServiceHandler.CoreProcessRequest()</soap:Text>
</soap:Reason>
<soap:Detail/>
</soap:Fault>
</soap:Body>
</soap:Envelope>
【问题讨论】:
-
您的肥皂需要一个日期时间参数,而您要么没有提供,要么格式不正确
-
嗨,如果我从任何测试应用程序或类似的东西传递 Datetime.Min 它不会引发错误。但是在 SOAPUI 中它确实是这样的。我需要在代码中处理它还是一种行为?
-
就是这个样子,不能再改了,因为这是客户端给我们的wsdl,用来做webservice。
-
我的问题是为什么它在去网络服务之前就失败了
-
查看 SOAPUI 中的日期时间是如何写的,例如 this related question
标签: c# web-services c#-4.0 soapui asmx