помогите разработчику.NET использовать wcf сервис с помощью coldfusion

Я - разработчик.NET без опыта coldfusion, но я должен написать код cf для доступа к wcf сервису, который я настроил. У меня есть несколько сервисов WCF, размещаемых в IIS 7 с WsHttpBinding, и я могу использовать сервисы, прекрасные путем добавления сервисных ссылок на клиент.NET и использования клиентских классов.

Это очень просто для разработчика.NET:

var addressClient = new Service.AddressClient();
addressClient.AddressDTO[] addresses = addressClient.GetAddresses();

Ясно, что Visual Studio делает много негласно для установки этих клиентских классов от WSDL.

Я видел, что coldfusion примеры используют cfinvoke для вызова веб-сервисов, но ни один, где они на самом деле настраивают клиентские классы от WSDL и создают их из ответа веб-сервиса.

Так, как что-то вроде этого сделано от coldfusion?

Заранее спасибо!

7
задан Peter Boughton 20 May 2010 в 14:34
поделиться

4 ответа

Проблема с CF заключается в том, что он не позволяет вам иметь дело со сложными объектами. Итак, пока служба ожидает только параметры строк и тому подобное, ваше ОК, но если она хочет сложного вложения объектов, она разваливается.

В основном вам нужно перейти к объектам Axis Java.

Я уже однажды отвечал на этот вопрос здесь:

Веб-служба ожидает объект DataSet, как я могу предоставить это через ColdFusion или в необработанном XML?

1
ответ дан 7 December 2019 в 14:29
поделиться

Вы должны настроить конечную точку для работы в качестве веб-службы .NET. Как только вы это сделаете, вы можете вызвать его, просто используя Createobject в coldfusion. Вот быстрый пример:

<cfscript> 
  wcf = CreateObject("webservice","http://ws.spreety.com/TvOnline2009.svc?wsdl"); 
  variables.TalkShowImgHtml = wcf.GetGenreTalkShowImg("test@spreety.com"); 
</cfscript> 
<cfoutput>#variables.TalkShowImgHtml#</cfoutput>
0
ответ дан 7 December 2019 в 14:29
поделиться

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

cflib.org имеет некоторую функцию для их обработки, так что вы можете посмотреть там. вот функция для преобразования набора данных .net, возвращаемого веб-сервисом, в запрос cf. надеюсь, это даст вам момент ага:

http://www.cflib.org/index.cfm?event=page.udfbyid&udfid=1580

2
ответ дан 7 December 2019 в 14:29
поделиться

Adobe действительно имеет очень хороший справочник, подробно описывающий все шаги, необходимые для перехода от кода WSDL к ColdFusion для использования веб-службы:

ColdFusion: использование веб-служб

Если вы используете WsHttpBinding в WCF, тогда ваша веб-служба должна работать так же, как и в примере (вы можете сравнить свой WSDL с примером WSDL, чтобы понять, как создавать все вручную).

1
ответ дан 7 December 2019 в 14:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: