SoapException в веб-сервисе - PullRequest
0 голосов
/ 13 июля 2011

У меня есть вкладка управления. 1-я вкладка имеет сетку, один из столбцов - флажок. Пользователь выбирает его и нажимает «Далее» на вкладке, затем переходит на следующую вкладку.

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

Но когда я нажимаю «Далее», происходит обратная передача, и он пытается снова связать сетку, тогда ссылка выдает «SoapExpection». Вот подробности:

-> Я выбираю строку, затем нажимаю «Далее»:

protected void gridView_HtmlRowCreated(object sender, ASPxGridViewTableRowEventArgs e)
        {
            if (e.RowType == GridViewRowType.Data)
            {
                   //bla bla bla
                   //I get the error here:
                   ClassEntity tmpObjects = webService.callObjects(rowID);
                   //bla bla bla
            {
        {

-> И функция с именем callObjects (int ID) (In Reference.cs)

[System.Web.Services.Protocols.SoapDocumentMethodAttribute("...", RequestNamespace="...", ResponseNamespace="...", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ClassEntity callObjects(int ID) {
            object[] results = this.Invoke("callObjects", new object[] {
                        ID});
            return ((ClassEntity)(results[0]));

И точная ошибка: «SoapException: серверу не удалось обработать запрос. Ссылка на объект не установлена ​​для экземпляра объекта»

Есть идеи, предложения или ... решения? Заранее спасибо.

1 Ответ

1 голос
/ 13 июля 2011

Я использовал имя пользователя и пароль для доступа к веб-ссылке в классе, который наследуется от System.Web.Services.Protocols.SoapHeader.

Я определял имя пользователя и пароль в Page_Load, но, похоже, это былоочистка этих значений после того, как я нажму «Далее».Поэтому я сделал те же изменения в событии gridView_HtmlRowCreated, и это сработало.

Надеюсь, что это поможет любому, как я.

...