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 ਲਿਆਉਣਾ ਫੇਲ ਹੋ ਸਕਦਾ ਹੈ।

ਸੰਬੰਧਿਤ ਲੇਖ