如何在asmx类中接收类作为参数?并且我可以验证该类包含数据吗?
我的课程:
public class ws_loginViewModel
{
public int user { get; set; }
public string pass { get; set; }
}
我在asmx类中的方法
public int Login(ws_loginViewModel user)
在没有send参数的情况下使用此方法时,我有下一个错误
肥皂:客户端 System.Web.Services.Protocols.SoapException:El servidor no puede leer la solicitud。 ---> System.InvalidOperationException:错误文档XML(7,41)。 ---> System.FormatException:La cadena de entrada no tiene el formato correcto。 en System.Number.StringToNumber(String str,NumberStyles options,NumberBuffer& number,NumberFormatInfo info,Boolean parseDecimal)zh_cn System.Number.ParseInt32(String s,NumberStyles style,NumberFormatInfo info)...
我使用SoapUi软件并生成此xml
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:vac="">
<soapenv:Header/>
<soapenv:Body>
<vac:Login>
<!--Optional:-->
<vac:user>
<vac:user>?</vac:user>
<!--Optional:-->
<vac:pass>?</vac:pass>
</vac:user>
</vac:Login>
</soapenv:Body>
</soapenv:Envelope>
答案 0 :(得分:2)
基于您在评论中提供的XML:
<soapenv:Envelope xmlns:soapenv="schemas.xmlsoap.org/soap/envelope/"; xmlns:vac="vacaciones">
<soapenv:Header/>
<soapenv:Body>
<vac:Logeo>
<!--Optional:-->
<vac:usuario>
<vac:usuario>?</vac:usuario>
<!--Optional:-->
<vac:clave>?</vac:clave>
</vac:usuario>
</vac:Logeo>
</soapenv:Body>
</soapenv:Envelope>
特别注意这一部分:
<vac:usuario>?</vac:usuario>
你班上的这一部分:
public int user { get; set; }
A&#34;?&#34;字符无法转换为整数。理想情况下,有一些模式验证,消费客户端应该使用它来确保请求有效。但是,无论如何,请求无效。您需要为整数属性提供整数值。