Использование веб-сервиса
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.
Для возобновления это не проблема звонящего, а получателя.