У меня есть веб-служба WCF, она должна принимать запрос от другого не .net-клиента, моя проблема в том, что WCF ожидает мыло следующим образом:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <myMethod xmlns="http://webservices.myServices/"> <param1>ABC</param1> <param2>123</param2> </myMethod> </soapenv:Body> </soapenv:Envelope>
, но клиент отправляет
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:q0="http://webservices.myServices/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <q0:myMethod> <param1>ABC</param1> <param2>123</param2> </q0:myMethod> </soapenv:Body> </soapenv:Envelope>
Единственное отличие состоит в том, что xmlnamespace находится внутри тега Envelope, но по какой-то причине WCF этого не понимает.