Изменение префиксов пространства имен в сообщении мыла с помощью wwsapi
Я использую WWSAPI внутри проекта C для связи с веб-службой, отправляя и получая сообщения SOAP.
У меня ошибка в том, что сервер ожидает увидеть <wsse:Security>
тег и сообщение, сгенерированное моей программой, его не имеют. Вместо этого есть <o:Security>
тег. Есть ли способ указать префикс пространства имен в WWSAPI для C/C++?
Вот моя просьба:
<s:Envelope xmlns:a="http://www.w3.org/2005/08/addressing" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<a:Action s:mustUnderstand="1">http://ge.evse.com/getAllGeneratedPasswords</a:Action>
<a:MessageID>urn:uuid:1fc3d3dc-a1c1-4fcf-bfca-96e712afba1b</a:MessageID>
<a:To s:mustUnderstand="1">https://services.stg.gewattstation.com/EVSEManufacturingServices/services/EVSEManufacturingServices</a:To>
<o:Security s:mustUnderstand="1" xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<Timestamp xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<Created>2012-06-08T19:00:59.476Z</Created>
<Expires>2012-06-08T19:05:59.476Z</Expires>
</Timestamp>
<o:UsernameToken>
<o:Username>joe</o:Username>
<o:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText"><!--censored sensitive information--></o:Password>
</o:UsernameToken>
</o:Security>
</s:Header>
<s:Body>
<getAllGeneratedPasswords xmlns="http://service.services.manufacturing.evse.inds.ge.com/">
<userType xmlns="">user</userType>
</getAllGeneratedPasswords>
</s:Body>
</s:Envelope>
А вот ответ от веб-службы:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<soap:Fault>
<faultcode xmlns:ns1="http://docs.oas is-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd ">ns1:InvalidSecurity</faultcode>
<faultstring>An error was discovered processing the <wsse:Security> header</faultstring>
</soap:Fault>
</soap:Body>
</soap:Envelope>
Как видите, он ищет <wsse:Security>
и это не видно... кто-нибудь, кто знает что-нибудь об этом?