У меня проблема с клиентом WCF. Собственный запрос WebService, который я получаю от компании, выглядит следующим образом:
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://mycompany.pl/MyCompanyWCF/Requests" xmlns:ns2="http://holding.pl/HOLDINGWCF" xmlns:wsa="http://www.w3.org/2005/08/addressing">
<env:Header>
<wsa:Action>http://esb.mycompany/MYCOMPANYWCF/IService/GetNameOfDB</wsa:Action>
<wsa:To>https://esb.mycompany.pl:8081/WcfServiceProd.svc/CompanyWcf</wsa:To>
</env:Header>
<env:Body>
<ns2:GetNameOfDB>
<ns2:MyMethod>
<ns1:atri>NEX001</ns1:atri>
<ns1:matri>2017-12-11 10:51:02.000</ns1:matri>
<ns1:tatri>09ab7624-0775-4d01-ad49-d481e2eb35c7</ns1:tatri>
</ns2:MyMethod>
</ns2:GetNameOfDB>
</env:Body>
</env:Envelope>
Мой клиент не добавляет эти пространства имен. Я пробую httpsBinding и wshbinding, но это не работает.
Я пытаюсь добавить viat MessageHeader, как показано ниже
MessageHeader messageHeader = MessageHeader.CreateHeader("Action","http://www.w3.org/2005/08/addressing", "http://esb.mycompany/MYCOMPANYWCF/IService/GetNameOfDB");
MessageHeader messageHeader2 = MessageHeader.CreateHeader("To", "http://www.w3.org/2005/08/addressing", "https://esb.mycompany.pl:8081/WcfServiceProd.svc/CompanyWcf");
Если я это сделаю, пространство имен находится в теге «Действие» и «Кому». Как добавить другие пространства имен в тег ns2 и ns1
Есть кто-то, у кого такая же проблема?