5
我需要創建一個ruby web服務客戶端(使用Savon)來對Web服務進行soap調用,該服務需要Nonce中的EncodingType。 所以正確的SOAP消息都會有這樣的隨機數元素:使用Ruby和Savon的SOAP客戶端:如何在Nonce元素中添加EncodingType屬性
......
<wsse:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">SomeHashValue</wsse:Nonce>
......
但在我薩翁的客戶,我不知道如何添加屬性的隨機數元素。 這裏我的代碼:
......
client = Savon.client do
wsdl.endpoint = "http://webservicehost/TestWebService"
wsdl.namespace = "namespace"
wsse.credentials "username", "password"
wsse.digest = "true"
end
client.request :get_service do |soap|
soap.input = [
"GetService",
{ "xmlns" => "namespace" }
]
soap.body = {
"locale" => "en_US",
"serviceID" => '123'
}
end
......
和Nonce在生成的SOAP消息是這樣的:
......
<wsse:Nonce>SomeHashValue</wsse:Nonce>
......
所以我的問題是,如何將屬性編碼類型添加到隨機數元素,而不改變/刪除Nonce元素中的SomeHashValue?