【问题标题】:How to build a web service rest in visual basic?如何在 Visual Basic 中构建 Web 服务休息?
【发布时间】:2017-03-16 13:19:09
【问题描述】:

我正在使用 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": " 在 System.Web.Script.Services.WebServiceMethodData.CallMethod(Object target, IDictionary2 parameters)\r\n in System.Web.Script.Services.WebServiceMethodData.CallMethodFromRawParams(Object target, IDictionary2 参数)\r\n 在 System.Web.Script.Services.RestHandler.InvokeMethod(HttpContext context, WebServiceMethodData methodData , IDictionary`2 rawParams)\r\n in System.Web.Script.Services.RestHandler.ExecuteWebServiceCall(HttpContext context, WebServiceMethodData methodData)", "

【问题讨论】:

    标签: vb.net web-services rest


    【解决方案1】:

    Web 服务似乎无法识别您为请求传递的数据。这可能是由于未设置属于您继承的 Base_ServerInputData 对象的变量。

    需要考虑的几个选项:

    1. 删除对象的继承
    2. 在您的发布请求中包含适当的变量
    3. 将 Web 方法签名更改为单独要求变量,因为在这种情况下您只有两个变量。

    【讨论】:

    • 谢谢你的回答,能举个例子吗?
    • @bircastri 举个例子?
    猜你喜欢
    • 2014-11-30
    • 1970-01-01
    • 1970-01-01
    • 2011-12-16
    • 1970-01-01
    • 2022-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多