Использование веб-сервиса

    try
    {
        string xml = XMLExporter.OrderToXML(order);

        WebRequest request = WebRequest.Create("http://localhost:60159/intranet/webservice/OrderService.asmx/ReceiveOrder");
        request.Method = "POST";

        byte[] byteArray = Encoding.UTF8.GetBytes(xml);

        request.ContentType = "application/xml";
        request.ContentLength = byteArray.Length;

        Stream dataStream = request.GetRequestStream();
        dataStream.Write(byteArray, 0, byteArray.Length);
        dataStream.Close();

        WebResponse webResponse = request.GetResponse(); // ERROR HERE
    }
    catch // 500 error
    {
        return false;
    }
    return true;

Web.Config:

  <system.serviceModel>
<bindings>
  <basicHttpBinding>
    <binding name="ReceiveOrder" />
  </basicHttpBinding>
</bindings>
<client>      
  <endpoint address="http://localhost:60159/intranet/webservice/OrderService.asmx" binding="basicHttpBinding" bindingConfiguration="ReceiveOrder" contract="OrderService.ReceiveOrder" name="ReceiveOrder" />
</client>

<webServices>
  <protocols>
    <add name="HttpGet"/>
    <add name="HttpPost"/>
  </protocols>
</webServices>

"Удаленный сервер возвратил ошибку: (500) Внутренняя ошибка сервера."

когда я вызываю метод прямо из кода, он работает нормально!

Может кто-нибудь пролить свет на эту ошибку?

1 ответ

Если вы получите http 500 error, это означает, что выдает серверную часть, поэтому вам следует заглянуть внутрь метода ReceiveOrder в OrderService.asmx.

Для возобновления это не проблема звонящего, а получателя.

Другие вопросы по тегам