2012-06-23 36 views
0

我想知道是否可以爲Web服務請求輸入參數分配默認值。下面是在WSDL我的輸入參數:是否可以爲Web服務請求輸入參數分配默認值

<element name="pensionType" default="0" type="int"> 

在代碼方面我檢查pensionType像這樣的值:

if (pensionType!=0) 
{ TODO code here} 
else 
{ return warning that no data found} 

我在Mozilla測試海報此。因此,我預計如果我沒有給養老金提供任何價值,我會得到這個警告。我弄了半天錯誤:

 
System.Web.Services.Protocols.SoapException: Server was unable to read request. ---> 
    System.InvalidOperationException: There is an error in XML document (13, 39). ---> System.FormatException: Input string was not in a correct format. at 
    System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal) at 
    System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info) at System.Xml.XmlConvert.ToInt32(String s) at 
    Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read44_getFileTypesRequest(Boolean isNullable, Boolean checkType) at 
    Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read45_getFileTypes(Boolean isNullable, Boolean checkType) at 
    Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read62_getFileTypes() at 
    Microsoft.Xml.Serialization.GeneratedAssembly.ArrayOfObjectSerializer24.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.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle) 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(

回答

1

你可以這樣做:

if(pensionType != null) 
{ 
    if (pensionType!=0) 
    { TODO code here} 
    else 
    { return warning that no data found} 
} 

這可能會幫助你.. !!