제 고객이 타사 API를 Rails 앱에 통합 해달라고 요청했습니다. 유일한 문제는 API가 SOAP를 사용한다는 것입니다. Ruby는 기본적으로 REST를 위해 SOAP를 삭제했습니다. 그들은 분명히 Java-Ruby 브릿지와 함께 작동하는 Java 어댑터를 제공하지만 가능하면 모든 것을 Ruby로 유지하고 싶습니다. soap4r을 살펴 보았지만 평판이 약간 나쁜 것 같습니다.
그렇다면 SOAP 호출을 Rails 앱에 통합하는 가장 좋은 방법은 무엇일까요?
답변
우리 soap/wsdlDriver
는 실제로 SOAP4R 인 빌트인 클래스를 사용했습니다 . 느리지 만 정말 간단합니다. gems / etc에서 얻은 SOAP4R은 같은 것을 업데이트 한 버전입니다.
예제 코드 :
require 'soap/wsdlDriver'
client = SOAP::WSDLDriverFactory.new( 'http://example.com/service.wsdl' ).create_rpc_driver
result = client.doStuff();
그게 다야
답변
저는 Ruby를 통해 SOAP 웹 서비스와 최대한 쉽게 상호 작용할 수 있도록 Savon 을 만들었습니다.
나는 당신이 그것을 확인하는 것이 좋습니다.
답변
Handsoap에서 Savon으로 전환했습니다.
다음은 두 클라이언트 라이브러리를 비교 하는 일련의 블로그 게시물 입니다.
답변
나는 또한 Savon 을 추천 합니다. 결과없이 Soap4R을 처리하는 데 너무 많은 시간을 보냈습니다. 기능이 크게 부족하고 문서가 없습니다.
Savon이 저에게 답입니다.
답변
답변
Savon을 사용하여 3 시간 이내에 제 물건을 작동 시켰습니다.
Savon 홈페이지의 Getting Started 문서는 따라 가기가 정말 쉬웠으며 실제로 제가 본 것과 일치했습니다 (항상 그런 것은 아닙니다)
답변
에서 켄트 Sibilev Datanoise는 또한 레일 2.1 (이상)에 레일 ActionWebService 라이브러리를 이식했다. 이를 통해 자신의 Ruby 기반 SOAP 서비스를 노출 할 수 있습니다. 그는 브라우저를 사용하여 서비스를 테스트 할 수있는 스캐 폴드 / 테스트 모드도 있습니다.
