2016-07-21 5 views
0

SOAP API에 액세스하려면 Savon gem을 사용하고 있습니다. 문제는 API가 대문자 키와 소문자 키를 필요로하므로 convert_request_keys_to 옵션을 사용할 수 없다는 것입니다. 레일 Savon 보석 키 대문자와 소문자로

난을 준수하는 데 필요한 API의 형식입니다 : 당신이 request가 소문자 볼 수 있듯이

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

하고, 나머지는 모두 대문자입니다.

def call(method, attributes = nil) 
    attributes = { 'request': { 'Credentials': attributes } } 
    response = client.call(method, message: attributes) 
    #do something with response 
end 

내가 그것을 바로 호출 오전 :

이 내가 보석을 사용하는 방법입니까? 누락 된 옵션이 있습니까? 저장소를 포크하고 보석을 직접 수정해야합니까?

답변

1

좋아, 실제로는 매우 간단했다 :

그냥 옵션을 사용하는 데 필요한 convert_request_keys_to :none

관련 문제