Savon klientā, kas izmanto HTTPI, starpniekserveris ir daļa no klienta opcijām. Tas darbojas, iegūstot attālinātu WSDL un sūtot SOAP pieprasījumu.

client = Savon.client(
  wsdl: 'https://service.example/soap?wsdl',
  proxy: ENV.fetch('SOAP_PROXY_URL'),
  open_timeout: 5,
  read_timeout: 15
)

Piemērs pieņem HTTPI transportu. Norādiet apstiprinātu starpniekservera URL, izmantojot vidi. Publiskam SOAP testam, kas pieļauj neautentificētu HTTP starpnieku, URL var nodrošināt kandidāts no HTTP starpniekserveru saraksta; turiet pakalpojuma un starpniekservera autentifikācijas lēmumus atsevišķi. Ja atbalstītā autentifikācijas metode izmanto URL iekļautos datus, kodējiet šajos datos esošās rezervētās rakstzīmes un turiet iegūto URL ārpus žurnāliem.

Savon tos sauc par “globālajām opcijām”, taču tās ir lokālas vienai klienta instancei. Citur izveidots klients starpniekserveri automātiski nepārmanto.

Pirms fragmenta atkārtotas izmantošanas pārbaudiet instalēto transportu. Savon pašreizējā dokumentācija šīs opcijas piešķir HTTPI; tā Faraday transportam ir sava iestatīšanas saskarne, izmantojot client.faraday, un tas noraida šīs HTTPI raksturīgās opcijas. Konfigurējiet izvēlēto transportu, nevis jauciet abas saskarnes.

Turiet starpniekservera kontu atsevišķi no SOAP pakalpojuma datiem un WS-Security vērtībām. Starpniekservera 407, pakalpojuma HTTP pieteikšanās izaicinājums un SOAP kļūda apzīmē dažādas apmaiņas. WSDL iegūšana var neizdoties vēl pirms klients ir veicis jebkuru lietojumprogrammas darbību.

Saistītie raksti