0 beğenilme 0 beğenilmeme
1 görüntülenme
Bilgi Teknolojileri kategorisinde Bilge (114k puan) tarafından soruldu
Web servis için savon kullanımı (wsdl)  ve wsdl
    

4 Cevaplar

0 beğenilme 0 beğenilmeme
Bilge (114k puan) tarafından cevaplandı

Kurulum & Import

#gem install savon

ya da Gemfile içine aşağıdaki satırı ekleyip  "bundle install"

gem 'savon'

Örnek Kullanımı (rails içinde ilk satır gerekmez zaten gemfile içine eklemiştik.);

require 'savon'
# create a client for the service
client = Savon.client(wsdl: 'http://service.example.com?wsdl')
client.operations
# => [:find_user, :list_users]
# call the 'findUser' operation
response = client.call(:find_user, message: { id: 13 })
response.body
# => { find_user_response: { id: 11, name: 'Kutadgu' } }

0 beğenilme 0 beğenilmeme
Bilge (114k puan) tarafından cevaplandı

Response için çağrı yapmak;

response=client.call(:authenticate, message: { username: "kb", password: "gizli"})
Request yapılabilecek metotları listelemek için;
client.operations
0 beğenilme 0 beğenilmeme
Bilge (114k puan) tarafından cevaplandı

Savon ws-security  ile birlikte kullanımı;

un, pass = '99999999990', '99999999990'
sgkwsdl = 'https://sgkt.sgk.gov.tr/medula/eczane/saglikTesisiReceteIslemleriWS?wsdl'
puts 'Start Here....'
client = Savon.client do
  wsdl sgkwsdl
  wsse_auth(un, pass)
  log true
  log_level :debug
  logger Rails.logger
  env_namespace :soapenv
  namespace_identifier :xsdws
  follow_redirects true
end
#remote_method = client.operations[6]
message = {tesisKodu: '11069903', doktorTcKimlikNo: tcno, ereceteNo: '63R'}
response = client.call(:erecete_sil, message: message)
0 beğenilme 0 beğenilmeme
Bilge (114k puan) tarafından cevaplandı

Çalışan bir örnek, para birimi oranları;

client = Savon.client(wsdl: 'http://www.webservicex.net/CurrencyConvertor.asmx?WSDL', log_level: :debug, log: true)
client.call(:conversion_rate, message: {'ToCurrency' => 'USD', 'FromCurrency' => 'CAD'})
En güncel teknolojiler hakkında yeni şeyler öğren, bilmediklerini sor, bildiklerini paylaş...

Kategoriler

...