在信封中具有不同名称空间的WCF客户端

时间:2018-08-13 13:08:39

标签: .net wcf soap client soap-client

我对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

有人遇到同样的问题吗?

0 个答案:

没有答案