Работа с SOAP-запросом без SoapAction в заголовке - PullRequest
1 голос
/ 10 октября 2011

У меня есть проблема. У меня есть веб-сервис .NET SOAP, который вызывается клиентом Axis.

Проблема в том, что в информации заголовка нет действия SOAP, а IIS просто выдает ошибку 500. Клиент говорит мне отключить проверку заголовка, но я не уверен, как это сделать в .NET. Единственное, о чем я могу думать, это написать метод для захвата и анализа запроса вручную, что кажется болезненным. Любая помощь будет оценена.

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
...
</soapenv:Body>
POST /Services/MyService.asmx HTTP/1.0
Content-Type: text/xml; charset=utf-8
Accept: application/soap+xml, application/dime, multipart/related, text/*
User-Agent: Axis/1.2.1
Host: 1.2.3.4:55
Cache-Control: no-cache
Pragma: no-cache
SOAPAction: ""
Content-Length: 1465

1 Ответ

2 голосов
/ 11 октября 2011

Решил сам. Необходимо добавить:

[SoapDocumentService(RoutingStyle=SoapServiceRoutingStyle.RequestElement)]

К определению услуги.

...