Серверу SoapException не удалось обработать запрос на веб-сервисе ASMX на сайте MVC - PullRequest
7 голосов
/ 09 марта 2011

Я получаю исключение при попытке доступа к веб-сервису .asmx на сайте MVC. Я пробовал множество вещей, таких как обновление веб-ссылки в консольном приложении и создание другого быстрого приложения для тестирования, но не смог обойти эту проблему. Если я извлекаю URL из переменной svc, я могу перейти к нему напрямую.

Сведения об исключении

System.Web.Services.Protocols.SoapException произошло сообщение = сервер не смог обработать запрос. ---> Значение не может быть нулевым Имя параметра: uriString
Source = System.Web.Services Actor = "" Lang = "" Node = "" Role = ""
Трассировки стека: в System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse (SoapClientMessage сообщение, ответ WebResponse, поток responseStream, Boolean asyncCall) в System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke (String methodName, Object [] параметры) в ClarityIntegration.SendTrackerDataToClarity () в [УДАЛЕНО] .Reference.cs: строка 78 в [УДАЛЕНО] .Program.Main (String [] args) в [УДАЛЕНО] .Program.cs: строка 33
InnerException:

КОНСОЛЬНОЕ ПРИЛОЖЕНИЕ КОД

var svc = new TrackerClarityService.ClarityIntegration()
    {
        Url = url,
        Credentials =
            new System.Net.NetworkCredential("user", "pass", "domain")
    };
svc.SendTrackerDataToClarity();
svc.Dispose(); 

Устранена проблема

Исключение исходило от самой веб-службы. Некоторые глобальные переменные не были инициализированы напрямую через вызов .asmx, который инициализировался самим приложением.

Некоторые простые проверки переменных в веб-службе и установка того, что необходимо установить, устранили проблему.

Ответы [ 3 ]

2 голосов
/ 10 марта 2011

Устранена проблема

Исключение исходило из самой веб-службы.Существовали некоторые глобальные переменные, которые не инициализировались напрямую через вызов .asmx, который инициализировался самим приложением.

Некоторые простые проверки переменных в веб-службе и установка того, что необходимо установить, устранили проблему.

1 голос
/ 09 марта 2011

Если использовать базовую аутентификацию, это решило мои проблемы в прошлом:

NetworkCredential nc = new NetworkCredential();
nc.Domain = "domain"
nc.UserName = "user"
nc.Password = "pwd"

Uri uri = new Uri(svc.Url);
ICredentials credentials = nc.GetCredential(uri, "Basic");
svc.Credentials = credentials;
0 голосов
/ 03 июня 2015

Капитан, это сообщение, когда создается экземпляр WebReference, но URL-адрес которого не определен, или данный URL-адрес имеет значение null, и вызывается метод.Источником пустого URL может быть отсутствующее значение в файле app / web.config.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...