HTTPI භාවිතා කරන Savon සේවාදායකයක ප්‍රොක්සි සේවාදායකයේ විකල්පවල කොටසකි. දුරස්ථ WSDL ලබා ගැනීමේදී සහ SOAP ඉල්ලීම යැවීමේදී එය අදාළ වේ.

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

උදාහරණය HTTPI ප්‍රවාහනය උපකල්පනය කරයි. පරිසරය හරහා අනුමත ප්‍රොක්සි URL එකක් සපයන්න. සත්‍යාපනය නොකළ HTTP මැදිහත්කරුට ඉඩ දෙන පොදු SOAP පරීක්ෂණයක් සඳහා HTTP ප්‍රොක්සි ලැයිස්තුවෙන් අපේක්ෂකයෙකුට එම URL එක සැපයිය හැක; සේවා සහ ප්‍රොක්සි සත්‍යාපන තීරණ වෙන් කර තබන්න. අනුග්‍රහය දක්වන සත්‍යාපන ක්‍රමය URL තුළ ඇති සත්‍යාපන දත්ත භාවිතා කරන්නේ නම්, එම දත්තවල වෙන් කළ අක්ෂර කේතනය කරන්න සහ ලැබෙන URL එක ලොගවලින් පිටත තබන්න.

Savon ඒවා “ගෝලීය විකල්ප” ලෙස හඳුන්වයි, නමුත් ඒවා එක් සේවාදායක අවස්ථාවකට පමණක් සීමා වේ. වෙනත් තැනක ගොඩනගන ලද තවත් සේවාදායකයෙකුට ප්‍රොක්සිය ස්වයංක්‍රීයව නොලැබේ.

කොටස නැවත භාවිතා කිරීමට පෙර ස්ථාපිත ප්‍රවාහනය පරීක්ෂා කරන්න. Savon හි වර්තමාන ලේඛන මෙම විකල්ප HTTPI වෙත පවරයි; එහි Faraday ප්‍රවාහනයට client.faraday හරහා තමන්ගේම සැකසුම් අතුරුමුහුණතක් ඇති අතර මෙම HTTPI-විශේෂිත විකල්ප ප්‍රතික්ෂේප කරයි. අතුරුමුහුණත් දෙක මිශ්‍ර නොකර තෝරාගත් ප්‍රවාහනය වින්‍යාස කරන්න.

ප්‍රොක්සි ගිණුම SOAP සේවා සත්‍යාපන දත්ත සහ WS-Security අගයන්ගෙන් වෙන් කර තබන්න. ප්‍රොක්සියේ 407, සේවාවේ HTTP පිවිසුම් අභියෝගය සහ SOAP දෝෂය වෙනස් හුවමාරු හඳුන්වයි. සේවාදායකය කිසිදු යෙදුම් ක්‍රියාවක් කිරීමට පෙර WSDL ලබා ගැනීම අසාර්ථක විය හැක.

අදාළ ලිපි