powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / The message with Action '' cannot be processed at the receiver, due to a ContractFilter...
2 сообщений из 27, страница 2 из 2
The message with Action '' cannot be processed at the receiver, due to a ContractFilter...
    #37452370
проблема разрешена. ответ найден - смотрите на скрин с обращением, которое вызвало эту ошибку
самописная софтина на PHP неверно формирует header SOAPAction - игнорируя стандарт в котором ЧЕТКО описано что надо указывать пространство имен

естественно сервер растерялся от такого чудо-запроса
ну а другой вопрос - можно ли как-то заставить сервер реагировать на такие чудо-запросы без указания предусмотренного стандартом пространства имен?
...
Рейтинг: 0 / 0
The message with Action '' cannot be processed at the receiver, due to a ContractFilter...
    #37478107
в общем ларчик этот открывается просто - глючная SVCUTIL генерит неверные атрибуты
в часности ставит атрибут ReplyAction в OperationContractAttribute - его надо убивать сразу - этот атрибут просто делает сервис неработоспособным

плюс для работы с PHP надо убирать корневой NameSpace в контракте - убивать его надо в конфигурации так <service bindingNamespace="" - ну это основное - надо добится реакции сервиса на простые SoapAction (с помощью атрибута Action для начала)

ньюансов в WCF много, но думаю, главное при обращении PHP к WCF-сервисам в том, что PHP не формирует адские составные SoapAction - а именно с такими сложными составными Action работают все обычно используемые для тестирования тестовые клиенты WCF - WcfTestClient, Альтова, Flex, ASP.NET - они вычитывают WSDL и ходят в сервис со сложными SoapAction, а PHP так не умеет и ходит только с простыми - и IIS не находит обработчика для таких Action

и вообще (по моему наблюдению) PHP-обращения к сервису ПХП-шники пишут тупо - даже не вычитывая WSDL - просто тыкаются в сервис с какой-то своей ерундой (которую сервис и близко не ожидает)
в NET чтобы так тыкнутся - надо еще потрудится - ведь у клиента в ссылке на сервис стоит уже и правильный namespace и soapaction - и чтобы их исказить - надо открыть секцию клиента вручную в конфигу и вручную изуродовать там SoapAction и NameSpace
...
Рейтинг: 0 / 0
2 сообщений из 27, страница 2 из 2
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / The message with Action '' cannot be processed at the receiver, due to a ContractFilter...
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]