Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

webservice - unknown web method parameter name methodname

I called a webservice for fetching items in fullcalendar. The method is never called and firebug gives this error:

*"POST [http]://localhost:50536/FullCalendar/ServicioFullCalendar.asmx/GetEventosCalendario POST [http]://localhost:50536/FullCalendar/ServicioFullCalendar.asmx/GetEventosCalendario

500 Internal Server Error 1.01s" "unknown web method parameter name methodname"*

Here is the asmx.vb code:

    <System.Web.Script.Services.ScriptService()> _
<System.Web.Services.WebService(Namespace:="http://localhost/uva/")> _
<System.Web.Services.WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _
<ToolboxItem(False)> _
Public Class ServicioFullCalendar
    Inherits System.Web.Services.WebService

    <ScriptMethod(ResponseFormat:=ResponseFormat.Json)> _
    <WebMethod(MessageName:="ObtieneEventos")> _
    Public Shared Function GetEventosCalendario(ByVal startDate As String, ByVal endDate As String) As String
        Try
            Return CalendarioMensualDAO.Instance.getEventos(startDate, endDate)

        Catch ex As Exception
            Throw New Exception("FullCalendar:GetEventos: " & ex.Message)
        Finally

        End Try
    End Function

The webservice is "loaded" from the fullcalendar as follows:

events: "ServicioFullCalendar.asmx/GetEventosCalendario",
like image 937
ch3r1f Avatar asked Dec 12 '22 17:12

ch3r1f


2 Answers

That was the mistake: the method had to be "not Shared", and without the "Messagename":

<ScriptMethod(ResponseFormat:=ResponseFormat.Json)> _
<WebMethod()> _
Public Function GetEventosCalendario(ByVal startDate As String, ByVal endDate As String) As String
    Try
        Return CalendarioMensualDAO.Instance.getEventos(startDate, endDate)

    Catch ex As Exception
        Throw New Exception("FullCalendar:getEventos: " & ex.Message)
    Finally

    End Try
End Function
like image 120
ch3r1f Avatar answered Jan 05 '23 15:01

ch3r1f


I recommend you use Fiddler to look at the network traffic and see what's being sent to the service. Then figure out why it's being sent that way.

It seems likely that you really are somehow sending a parameter named "methodname".

like image 39
John Saunders Avatar answered Jan 05 '23 15:01

John Saunders