Каковы последствия изменения веб-службы WSDL, созданной ColdFusion, с кодировки RPC на литералы документа?

Я унаследовал несколько веб-сервисов, которые являются WSDL, сгенерированными ColdFusion 9. По умолчанию CF9 имеет RPC-кодировку, так что это они и есть. Однако недавно мне стало известно, что более новые версии.NET Framework (или, может быть, это более новые версии Visual Studio) не любят RPD-кодированные WSDL. При тестировании (в C#) я убедился, что VS 2013 правильно использовал сервис, только когда он был в стиле документа-литерала.

Я, конечно, открыт для изменения стиля, чтобы сделать его более универсальным для использования, но этот веб-сервис уже давно используется (и я уверен, что его используют многие люди), поэтому я хочу убедиться, что я иметь представление о возможных последствиях. Мне также интересно, можно ли заставить ColdFusion генерировать два разных WSDL (или разрешить настройку кодирования на лету?). В принципе, я был бы признателен за любые советы о том, как сделать это совместимым (при условии обеспечения обратной совместимости) Благодарю.

1 ответ

Решение

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

<cfcomponent extends="yourExistingCFC" style="document" output="false"></cfcomponent>

Я попытался установить тип документа на document-literal в одном из моих тестовых веб-сервисов. SoapUI не смог разобрать WSDL-литерал документа после изменения, но Visual Studio могла. Исходя из этого, я буду колебаться при изменении стиля документа существующего CFC, поскольку вы не можете сказать, как все клиентские среды будут обрабатывать изменения.

Другие вопросы по тегам