2010-05-20 8 views
7

Jestem programistą .NET bez doświadczenia w zakresie coldfusion, ale muszę napisać kod cf, aby uzyskać dostęp do usługi wcf, którą skonfigurowałem. Mam kilka usług WCF hostowanych w IIS 7 z WsHttpBinding i jestem w stanie użyć grzywny usług, dodając odwołania do usługi do klienta .NET i przy użyciu klas klienta.pomoc programistom .NET w korzystaniu z usługi wcf za pomocą coldfusion

Jest to bardzo proste dla programisty .NET:

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

To jasne, że visual studio ma dużo za kulisami do utworzenia tych klas klienta z WSDL.

Widziałem przykłady coldfusion używające cfinvoke do wywoływania usług sieciowych, ale nie było ich tam, gdzie faktycznie ustawiono klasy klientów z pliku WSDL i utworzono je z odpowiedzi usługi sieci Web.

Jak to jest zrobić z coldfusion?

Z góry dziękuję!

Odpowiedz

1

Adobe faktycznie ma bardzo dobre referencje szczegółowo wszystkie niezbędne kroki, aby przejść od WSDL do kodu ColdFusion zużywają usługi sieci Web:

ColdFusion: Consuming Web Services

Jeśli używasz WsHttpBinding w WCF, wówczas Usługa sieciowa powinna działać tak, jak w przykładzie (możesz porównać swój WSDL z przykładem WSDL, aby uzyskać informacje o tym, jak tworzyć wszystko ręcznie).

0

Musisz skonfigurować punkt końcowy do działania jako usługa .NET. Gdy to zrobisz, możesz wywołać to tylko za pomocą Createobject w coldfusion. Oto krótki przykład:

<cfscript> 
    wcf = CreateObject("webservice","http://ws.spreety.com/TvOnline2009.svc?wsdl"); 
    variables.TalkShowImgHtml = wcf.GetGenreTalkShowImg("[email protected]"); 
</cfscript> 
<cfoutput>#variables.TalkShowImgHtml#</cfoutput> 
2

inni są poprawne, że jeśli usługa jest zwrócenie proste typy danych, cf mapuje je do cf typy danych i wszystko jest łatwe. w niektórych przypadkach będziesz musiał ukryć złożone typy danych na własne typy danych.

cflib.org ma pewną funkcję do ich obsługi, więc możesz tam zajrzeć. tutaj jest funkcja do przekonwertowania zbioru danych .net, który jest zwracany z usługi sieci Web do zapytania cf. mam nadzieję, że da ci to moment ah-ha:

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

Powiązane problemy