Как сделать синхронные вызовы SOAP в ColdFusion - PullRequest
2 голосов
/ 04 июля 2011

Возможно ли в ColdFusion 9 выполнять синхронные вызовы SOAP? Конкретный API, который меня интересует, опубликован eCircle, и у них есть пример использования PHP здесь

http://developer.ecircle -ag.com / apiwiki / вики / SynchronousSoapAPI # раздел-SynchronousSoapAPI-PHPSample

Можно ли добиться того же с ColdFusion?

Ответы [ 3 ]

3 голосов
/ 04 июля 2011

Быстрый порт из http://developer.ecircle -ag.com / apiwiki / wiki / SynchronousSoapAPI # section-SynchronousSoapAPI-PHPSample в CFScript

<code>   ...
   client = createObject('webservice','http://webservices.ecircle-ag.com/soap/ecm.wsdl');
   ...
   // ask for the api version
   result = client.getVersion();
   // check if there was an error calling the API function?

     // exception will be thrown I guess...

   ...
   writeOutput("The Version Number is :<pre>#result.getVersionReturn#
"; ... // вход результат = client.logon (FORM.realm, FORM.username, FORM.passwd); // получить идентификатор сессии sessionid = result.logonReturn; ..... // шрифт забыть выйти позже!

ссылка: http://help.adobe.com/en_US/ColdFusion/9.0/Developing/WSc3ff6d0ea77859461172e0811cbec22c24-78b4.html

2 голосов
/ 04 июля 2011

Вызов веб-сервисов происходит синхронно.

0 голосов
/ 04 июля 2011

Вы имеете в виду асинхронные звонки?Остальная часть моего ответа основана на этом предположении.

В настоящее время нет.Для поддержки этого вам потребуется указать конкретный CFC / функцию для обработки ответа веб-службы - когда он отвечает - в другом потоке.Однако, возможно, скоро, если CF поддержит закрытие (и предполагается, что наступает ).

ColdFusion имеет встроенную поддержку веб-сервисов SOAP - множество ресурсов в Интернете.

Вы также можете исследовать использование шлюза событий для асинхронной обработки или даже попросить поставщика SOAP принять ваш запрос, а затем отправить ответ в виде отдельного запроса другой веб-службе, которую вы для них определили.Это создаст иллюзию асинхронного вызова, но на самом деле вы просто запускаете ответ, а затем ждете ответа где-то еще.Это вообще не идеально, так как это означает, что вы должны сопоставлять запросы и ответы, которые могут стать грязными.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...