如何在visual basic中构建Web服务?

时间:2017-03-16 13:19:09

标签: vb.net web-services rest

我正在使用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"
}

这是错误:

  

{     “消息”:“Chiamata是一个servizio Web无效的.Valore mancante per il parametro'inputData'。”,     “StackTrace”:在System.Web.Script.Script.Services.RestHandler.InvokeMethod中的System.Web.Script.Services.WebServiceMethodData.CallMethod(对象目标,IDictionary 2 parameters)\r\n in System.Web.Script.Services.WebServiceMethodData.CallMethodFromRawParams(Object target, IDictionary 2参数)\ r \ n中(HttpContext上下文, WebServiceMethodData methodData,IDictionary`2 rawParams)\ r \ n在System.Web.Script.Services.RestHandler.ExecuteWebServiceCall(HttpContext context,WebServiceMethodData methodData)“中,     “

1 个答案:

答案 0 :(得分:1)

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

要考虑的几个选项:

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