2
내 사이트에서 hipay를 사용하고 싶습니다. 그래서 나는 액션에서 xml을 생성하고 hipay 사이트에 게시물을 통해 보내야합니다.레일즈 빌더가 작동중인 xml 작성
내 질문은 :
난 dinamically 다음 XML을 생성 할 수있는 방법, 같은 행동에, 우편으로이 XML을 보내? XML 데이터를 가정하면 미리
내 사이트에서 hipay를 사용하고 싶습니다. 그래서 나는 액션에서 xml을 생성하고 hipay 사이트에 게시물을 통해 보내야합니다.레일즈 빌더가 작동중인 xml 작성
내 질문은 :
난 dinamically 다음 XML을 생성 할 수있는 방법, 같은 행동에, 우편으로이 XML을 보내? XML 데이터를 가정하면 미리
내 컨트롤러
예
def action_generate_xml
@xml = Builder::XmlMarkup.new()
# I want generate my xml here
#
#
# End generate xml
#Now i want send My XML via post
#CODE FOR SEND VIA POST
end
감사는 당신에게 개체의 XML 표현을 줄 것이다 to_xml을 호출 액티브 오브젝트에 앉아있다. Ruby의 Net : HTTP 모듈을 사용하여 게시물을 처리 할 수 있습니다.
http = Net::HTTP.new("www.thewebservicedomain.com")
response = http.post("/some/path/here", your_model_object.to_xml)
당신이 컨트롤러 내부 당신의 XML 생성 할 (아주 레일처럼되지를하지만 여전히 그것을 할 수 있습니다) 빌더 보석 사용하는 경우 :
xml = Builder::XmlMarkup.new
xml.instruct! :xml, :verison => "1.0" # Or whatever your requirements are
# Consult the Builder gem docs for different ways you can build up your XML, this is just a simple example.
xml.widgets do
xml.widget do
xml.serial_number("12345")
xml.name("First Widget")
xml.any_other_tag_you_need("Contents of tag")
end
end
# And now send the request
http = Net::HTTP.new("www.thewebservicedomain.com")
response = http.post("/some/path/here", xml)
두 번째 예는 다음과 같은 XML 문자열을 생성을 HTTP POST는 대상 서버에 연결합니다.
<inspect/><?xml version=\"1.0\" encoding=\"UTF-8\" verison=\"1.0\"?><widgets><widget><serial_number>12345</serial_number><name>First Widget</name><any_other_tag_you_need>Contents of tag</any_other_tag_you_need></widget></widgets>
실례합니다. 이해가 안되네. 왜 내가 XML을 ActiveRecord 객체에 저장 하는가? 난 단지 행동에서 XML을 만들고 게시물을 통해 보내고 싶습니다. 이제는 내 게시물을 편집하고 예제를 작성합니다. 감사합니다 – maxiperez
다시 실례합니다. xml에는 다른 정보와 태그가 있습니다. hipay documentation의 XML 피드를 따라야합니다. 따라서 XML에 다른 태그를 만들어야합니다. – maxiperez
@maxiperez 내가 제공 한 예제는 xml을 ActiveRecord에 저장하지 않고 ActiveRecord 객체를 객체의 내용을 나타내는 xml 문자열로 변환합니다. 이것은 일반적인 레일 이디엄입니다. 나는 몇 분 안에 나의 대답을 다시 쓰고 당신이 찾고있는 것의 라인을 따라 더 많은 것을 보여줄 것이다. 실례지만 – MDaubs