Witajcie,
Mam tak (mniej więcej) zdefiniowanego klienta:
headers_added = { “ns2:Params” => { “ns2:additionalId” => 123 } }
client = Savon.client(
wsdl: "http://xxxxx",
endpoint: "http://xxxx",
namespaces: { "xmlns:tns" => "http://xxx", "xmlns:ns2" => "http://yyy" },
strip_namespaces: true,
logger: Rails.logger,
log_level: :debug,
log: true,
pretty_print_xml: true,
env_namespace: :soapenv,
wsse_auth: [my_login, token],
headers: headers_added
)
response = client.call(:my_action, message: {} )
Chciałbym otrzymać nagłówek w takiej kolejności
<soapenv:Header>
<wsse:Security
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wsse:UsernameToken wsu:Id="UsernameToken-B8BD668336752CDC8D14525371049501">
<wsse:Username>User</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">cea81b50cdc35747675c65a29d7a3a75368c0b34522d366da24344b832b2999c12a429ce97d2b9d06cf027381a39826b3e2d681b16d5f1c1862f842090ea6902</wsse:Password>
<wsse:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">VcYE1Y4QuQ74UWUPHQD+CQ==</wsse:Nonce>
<wsu:Created>2016-01-11T18:31:44.949Z</wsu:Created>
</wsse:UsernameToken>
</wsse:Security>
<ns2:extraParams>
<ns2:additionalId>123</ns2:additionalId>
</ns2:extraParams>
</soapenv:Header>
i nie mam pojęcia, jak zmusić Savon’a by mi właśnie tak zbudował kopertę, bo co bym nie robił, to sekcję
<ns2:extraParams>
<ns2:additionalId>123</ns2:additionalId>
</ns2:extraParams>
ciągle wstawia mi na początek i permanentnie mam:
<soapenv:Header>
<ns2:extraParams>
<ns2:additionalId>123</ns2:additionalId>
</ns2:extraParams>
<wsse:Security
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wsse:UsernameToken wsu:Id="UsernameToken-B8BD668336752CDC8D14525371049501">
<wsse:Username>User</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">cea81b50cdc35747675c65a29d7a3a75368c0b34522d366da24344b832b2999c12a429ce97d2b9d06cf027381a39826b3e2d681b16d5f1c1862f842090ea6902</wsse:Password>
<wsse:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">VcYE1Y4QuQ74UWUPHQD+CQ==</wsse:Nonce>
<wsu:Created>2016-01-11T18:31:44.949Z</wsu:Created>
</wsse:UsernameToken>
</wsse:Security>
</soapenv:Header>