2016-01-04 1 views
0

Я использую платежный шлюз, который использует URL-адрес ответа ретрансляции моего веб-приложения, чтобы вернуть ответ или информацию о транзакции. Проблема заключается в том, что он использует тайм-аут, если он составляет 10 секунд, так как он сделал запрос к URL-адресу ответа на ретранслятор, и если в течение этого времени URL-адрес ответа на ретранслятор не ответил, то он будет тайм-аут. Проблема, которую я пытаюсь избежать или минимизировать, заключается в том, что URL-адрес будет отвечать в течение периода ожидания. Одна вещь, которую я заметил, это то, что этот метод, который ретранслирует ответный указатель, указывает на то, что он стал более громоздким, и это может составлять случайные таймауты, которые происходят. Одним из решений, которые, как я думаю, могло бы стать частичный ответ быстро, например «Please wait ...». Если платежный шлюз получает что-то от URL-адреса ответа на ретрансляцию, тогда он не должен таймаутом. После этого, когда полная обработка завершена, метод ретрансляции посылает полный ответ, который будет приниматься в большинстве случаев. Есть ли способ достичь этого? Я ценю любую помощь! Каркас, который я использую для моего приложения, - grails 2.0.Можно ли отправить частичный ответ клиенту, а затем отправить полный ответ?

Я думал, что-то вроде этого будет работать, но я был неправ.

def receiptFinal(){ 

... 

} 

def receipt(){ 
     render "Please wait..." 
     redirect(controller: 'payment', action: 'receiptFinal') 
} 

ответ

0

Да, вполне возможно, я думаю. Ваш платежный шлюз должен выполнить два запроса. Один из них заключается в том, чтобы подтвердить, правильна ли проверка/оплата. И второй запрос клиенту будет окончательным ответом (например, получение и т. Д.) Это будет полностью зависеть от платежного шлюза.

- Jitendra