Ich verwende den Savon-Edelstein, um auf eine SOAP-API zuzugreifen. Die Sache ist, die API erfordert Schlüssel in Großbuchstaben und andere Schlüssel in Kleinbuchstaben, so dass ich die Option convert_request_keys_to
Parameter nicht verwenden kann.Rails Savon gem Schlüssel in Groß- und Kleinschreibung
Dies ist das Format der API I erfüllen müssen:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xs="XmlServices">
<soapenv:Header/>
<soapenv:Body>
<xs:GetRooms>
<xs:request>
<xs:Credentials>
<xs:Credential1>"example1"</xs:Credential1>
<xs:Credential2>"example2"</xs:Credential2>
<xs:Credential3>"example3"</xs:Credential3>
</xs:Credentials>
</xs:request>
</xs:GetRooms>
Wie Sie request
ist Klein sehen können, und der ganze Rest ist groß geschrieben. Diese
ist, wie ich das Juwel verwenden:
def call(method, attributes = nil)
attributes = { 'request': { 'Credentials': attributes } }
response = client.call(method, message: attributes)
#do something with response
end
Bin ich es richtig telefonieren? Gibt es eine Option, die ich vermisse? Muss ich das Repository abzweigen und den Edelstein selbst modifizieren?