Я вызываю конкретный метод c webservice
из моего android телефонного приложения, и это всегда приводит к ошибке:
Ссылка на объект не установлена на экземпляр объекта
Я вызываю МНОГИЕ различные методы в этом сервисе без проблем, это единственный, который вызывает у меня проблему, и я не могу отследить ее. webservice
написано в VB.NET
, телефонное приложение C#
. Точки останова подтверждают, что все данные передаются правильно, есть данные NO null
.
Я создал систему "log"
, где я могу записывать сообщения в свою базу данных в определенных местах в моем коде. Сообщения заносятся в базу данных, но метод, по-видимому, выдает ошибки при вызове функции внутри метода. Я настроил веб-сервис, чтобы иметь возможность удаленно тестировать его в производственной среде, и он работает ВСЕ ВРЕМЯ, однако, когда я вызываю его из своего приложения для телефона, я получаю сообщение об ошибке. Я в тупике. Это сообщение об ошибке, которое я получаю:
Источник: System.Web.Services Описание: Серверу не удалось обработать запрос. В экземпляре объекта не задана ссылка на объект. Целевой сайт: System.Object [] ReceiveResponse (System. Net .WebResponse, System.Web.Services.Protocols.SoapClientMessage, System.Web.Services.Protocols.SoapExtension []) Стек вызовов: в System.Web.Services. Protocols.SoapHttpClientProtocol.ReceiveResponse (ответ System. Net .WebResponse, сообщение System.Web.Services.Protocols.SoapClientMessage, расширения System.Web.Services.Protocols.SoapExtension []) 0x001edf0: df5d5fd6: 0d5fd6 .Web.Services. , System.String list3, System.String list4, System.String list5, System.String list6, System.String list7, System.String list8, System.String list9, System.String list10, System.String list11, System.String list12, System.String list12 , System.String list13, System.String list14, System.Stri ng list15, System.String list16, System.String list17, System.String list18, System.String list19) [0x00001] в C: \ Users \ HP \ source \ repos \ Projects \ MyAndroidApp \ MyAndroidApp \ Веб-ссылки \ DataInterfaceWeb \ Reference.cs: 2308 at (обертка remoting-invoke-with-check) MyAndroidApp.DataInterfaceWeb.DataInterface.ProcessSubscription (строка, строка, строка, строка, строка, строка, строка, строка, строка, строка, строка, строка, строка, строка , строка, строка, строка, строка, строка, строка) в MyAndroidApp.Subscription + <> c__DisplayClass24_0.b__1 (отправитель System.Object, System.EventArgs e) [0x001ee] в C: \ Users \ HP \ source \ repos \ Проекты \ MyAndroidApp \ MyAndroidApp \ Subscription.cs: 211
Это веб-метод:
<WebMethod()>
Public Function ProcessSubscription(ByVal list1 As String, ByVal list2 As String,
ByVal list3 As String, ByVal list4 As String,
ByVal list5 As String, ByVal list6 As String,
ByVal list7 As String, ByVal list8 As String,
ByVal list9 As String, ByVal list10 As String,
ByVal list11 As String, ByVal list12 As String,
ByVal list13 As String, ByVal list14 As String,
ByVal list15 As String, ByVal list16 As String,
ByVal list17 As String, list18 As String, list19 As String) As String
Dim LogErrors As String = ConfigurationManager.AppSettings("LOG")
Dim MyResponse As ANetApiResponse
If LogErrors = "TRUE" Then
LogError("Processing Subscription") '<-- this line is executed as this message appears in the database
End If
Try
Dim amount As Decimal = Convert.ToDecimal(list16)
' I believe that this is the call that causes the error, yet calling
' the method directly via the browser works every time! Just won't
' work when I call the method from the android app.
MyResponse = ChargeCreditCard.Run(amount.ToString, list11, list12, list19, list3, list4, list6, list7, list8, list9)
Catch ex As Exception
LogError(ex.Message) ' <--- never hits this line as nothing is logged after the "Processing subscription" log message
End Try
Dim returnmessage As String
If MyResponse.messages.resultCode = messageTypeEnum.Ok Then
returnmessage = "SUCCESSFUL"
PaySubFee(list1, list2, list13)
Else
returnmessage = "The card was declined: " & "Error Code: " & MyResponse.messages.message(0).code
End If
Return returnmessage 'MyResponse.messages.resultCode ' 0 = ok, 1 = error
Return result
End Function
Чего мне не хватает?