我对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,但是它不起作用。
我尝试在整个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
有人遇到同样的问题吗?