Добрый день. Пишу агента для веб-службы используя WCF. Когда на агенте выполняется метод GetProfiles, то в ответ приходит сообщение от веб-службы об ошибке. Я сравнил soap-запросы, которые отправляет мой агент и другой агент, который умеет с этой веб-службой работать. Запрос моего агента:
| Код | <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <GetProfiles xmlns="http://www.onvif.org/ver10/media/wsdl"/> </s:Body> </s:Envelope>
|
Запрос рабочего агента:
| Код | <s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope"> <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <GetProfiles xmlns="http://www.onvif.org/ver10/media/wsdl" /> </s:Body> </s:Envelope>
|
Отличается всего в одну строчку "<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope">".
Код моего агента совсем небольшой:
| Код | BasicHttpBinding binding = new BasicHttpBinding(); EndpointAddress endPoint = new EndpointAddress("http://192.168.137.103:80/onvif/services"); MediaClient mediaClient = new MediaClient(binding, endPoint); // Здесь MediaClient - это прокси-класс для агента веб-службы. Profile[] profiles = mediaClient.GetProfiles();
|
Как мне нужно его изменить, чтобы имя пространства имён стало другим?
|