我正在用Visual basic构建一个简单的Web服务。此 Web 服务应输入 JSON 并返回值。此 Web 服务的方法是 POST。
这是代码:
<WebMethod()>
Public Function MB_InsertBeetrader(ByVal inputData As AMAServerInputData) As AMAServerOutputData
Dim returnData As New AMAServerOutputData()
Try
Catch ex As Exception
returnData.Messages.AddExceptionMessage(ex)
End Try
Return returnData
End Function
End Class
Public Class AMAServerInputData
Inherits Base_ServerInputData
Public Username As String
Public Password As String
End Class
如果我尝试从我的 PostMan 客户端调用此方法,则会出现错误。这是我的电话:
{ "Username": 656,
"Password": "128"
}
这是错误:
{ "Message": "Chiamata a servizio Web non valida.Valore mancante per il parametro 'inputData'.", "StackTrace": " in System.Web.Script.Services.WebServiceMethodData.CallMethod(Object target, IDictionary
2 parameters)rn in System.Web.Script.Services.WebServiceMethodData.CallMethodFromRawParams(Object target, IDictionary
2 个参数(\r in System.Web.Script.Services.RestHandler.InvokeMethod(HttpContext context, WebServiceMethodData methodData, IDictionary'2 rawParams(\r in System.Web.Script.Services.RestHandler.ExecuteWebServiceCall(HttpContext context, WebServiceMethodData methodData(", ">
Web 服务似乎无法识别您为请求传入的数据。这可能是由于未设置属于您从中继承的Base_ServerInputData对象的变量。
需要考虑的几个选项:
- 删除对象上的继承
- 在帖子请求中包含适当的变量
- 将 Web 方法签名更改为单独需要变量,因为在这种情况下您只有两个变量。