2015-07-22 4 views
0

Сценарий:Создание запроса POST в C#

У меня есть WebMethod на server1. Я пытаюсь вызвать Webmethod1 в server1 с другого сервера server2, используя C#/vb.net (не jQuery) в качестве обработки бэкэнд.

Ниже приведен веб-метод, который у меня есть на сервере1.

<WebMthod> _ 
Public Function WebMethod1(Param1 As String, Param2 As MyComplexType) As Boolean 
    Try 
    // Do somethidn somewhere and return boolean 
    Catch ex As Exception 
    // log something somewhere and throw appropriate error 
    End Try 
End Function 

Я использую Rest Sharp/HttpClient, чтобы сделать пост-вызов. Ниже приведен пример кода с использованием RestClient:

Dim request As New RestRequest("WebMethod1", Method.POST) 

Dim client As New RestClient(url) 
request.RequestFormat = DataFormat.Json 

request.AddParameter("Param1", 1) 
request.AddParameter("Param2", JsonConvert.SerializeObject(MyComplexObject)) 

request.RequestFormat = DataFormat.Json 
request.OnBeforeDeserialization = Function(resp) 
               resp.ContentType = "application/json" 
               Return Nothing 
              End Function 

Dim response As RestResponse = client.Execute(request) 

Проблема:

Итак, у меня нет каких-либо ошибок/исключение, но проблема в том, что он бросает InternalException 500. Что может быть Возможная проблема?

Что мне не хватает?

+2

Какое фактическое исключение выбрано сервером? 500 просто означает, что что-то пошло не так, но не дает никаких указаний относительно того, что это было. – christophano

+0

Я получаю «Использование тематических файлов css требует управления заголовком на странице». поскольку web-метод является частью кода .aspx. – Immortal

+0

Имеет ли [этот вопрос] (http://stackoverflow.com/questions/2783545/using-themed-css-files-requires-a-header-control-on-the-page-eg-head-runat) помощь вообще ? – christophano

ответ

0

Возможно, это связано с тем, что в вашем веб-методе вы ожидаете, что string в качестве первого аргумента, но вы проходите 1, что не является строкой!

+0

Спасибо за ваш ответ. Я проверил его параметр, все типы данных совпадают. Как я уже говорил, веб-метод находится на странице .aspx, например, как рудиментарные веб-службы выполнялись в .net 2.0. Http: //ServiceUrl/SomePage.aspx/Webmethod1. Я использовал postman для передачи значений и проверки его, и я получаю сообщение об ошибке: «Использование тематических файлов css требует управления заголовком на странице». – Immortal

+0

это может помочь http://stackoverflow.com/questions/2783545/using-themed-css-files-requires-a-header-control-on-the-page-eg-head-runat @Immortal – Neel

+0

, но моя проблема не то, спасибо за вашу помощь. – Immortal

Смежные вопросы