1. Trang chủ
  2. » Công Nghệ Thông Tin

ColdFusion Developer’s Guide phần 9 pot

119 355 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Cấu trúc

  • Chapter 49: Integrating J2EE and Java Elements in CFML Applications

    • Using Java objects

      • Handling Java exceptions

      • Examples: using Java with CFML

  • Chapter 50: Using Microsoft .NET Assemblies

    • About ColdFusion and .NET

      • How .NET access works

    • Accessing .NET assemblies

      • Accessing local assemblies

      • Accessing remote assemblies

    • Using .NET classes

      • Instantiating objects and calling class constructors

      • Calling methods

      • Getting and setting fields

      • Converting between .NET and ColdFusion data types

      • Working with complex .NET data types

    • .NET Interoperability Limitations

    • Example applications

      • Example: Using a .NET class directly

      • Example: Using a custom class to access Microsoft Word

    • Advanced tools

      • Using the jnbproxy command

      • Passing data by reference and value

      • Determining and changing the .NET version

      • Running the .NET extension agent as an application

  • Chapter 51: Integrating COM and CORBA Objects in CFML Applications

    • About COM and CORBA

      • About objects

      • About COM and DCOM

      • About CORBA

    • Creating and using objects

      • Creating objects

      • Using properties

      • Calling methods

      • Calling nested objects

    • Getting started with COM and DCOM

      • COM requirements

      • Registering the object

      • Finding the component ProgID and methods

    • Creating and using COM objects

      • Connecting to COM objects

      • Setting properties and invoking methods

      • General COM object considerations

      • Accessing Complex COM Objects using Java proxies

      • Using the Application Scope to improve COM performance

        • Example 1: Using the FileSystem object

        • Example 2: Using the Microsoft Word application object

    • Getting started with CORBA

    • Creating and using CORBA objects

      • Creating CORBA objects

      • Using CORBA objects in ColdFusion

        • Using CORBA interface methods in ColdFusion

        • Using IDL types with ColdFusion variables

      • Handling exceptions

    • CORBA example

  • Chapter 52: Sending and Receiving E- Mail

    • Using ColdFusion with mail servers

      • How ColdFusion sends mail

      • Error logging and undelivered messages

    • Sending e-mail messages

      • Sending SMTP e-mail with the cfmail tag

      • Sending HTML format e-mail

      • Sending multipart mail messages

    • Sample uses of the cfmail tag

      • Sending form-based e-mail

      • Sending query-based e-mail

      • Sending e-mail to multiple recipients

    • Using the cfmailparam tag

      • Attaching files to a message

      • Including images in a message

      • Adding a custom header to a message

    • Receiving e-mail messages

      • Using the cfpop tag

      • The cfpop query variables

    • Handling POP mail

      • Specifying the message or messages

      • Retrieving message headers

      • Retrieving messages

      • Retrieving messages and attachments

      • Deleting messages

  • Chapter 53: Interacting with Microsoft Exchange Servers

    • Using ColdFusion with Microsoft Exchange servers

    • Managing connections to the Exchange server

      • Enabling access to the Exchange server

      • Using persistent connections

      • Using transient connections

      • Accessing delegated accounts

    • Creating Exchange items

    • Getting Exchange items and attachments

      • Getting and using folder names

      • Getting items

      • Getting item attachments

      • Displaying images inline

    • Modifying Exchange items

      • Modifying calendar, contact, and task items

      • Setting mail attributes

      • Moving mail between folders

    • Deleting Exchange items and attachments

    • Working with meetings and appointments

      • Working with meeting notices and requests

      • Specifying Calendar recurrence

  • Chapter 54: Interacting with Remote Servers

    • About interacting with remote servers

    • Using cfhttp to interact with the web

      • Using the cfhttp Get method

    • Creating a query object from a text file

    • Using the cfhttp Post method

    • Performing file operations with cfftp

      • Caching connections across multiple pages

      • Connection actions and attributes

  • Chapter 55: Managing Files on the Server

    • About file management

    • Using cffile

      • Uploading files

        • Resolving conflicting filenames

        • Controlling the type of file uploaded

        • Setting file and directory attributes

        • Evaluating the results of a file upload

      • Moving, renaming, copying, and deleting server files

      • Reading, writing, and appending to a text file

    • Using cfdirectory

      • Returning file information

    • Using cfcontent

      • About MIME types

      • Changing the MIME content type with cfcontent

Nội dung

ADOBE COLDFUSION 8 ColdFusion Developer’s Guide 941 Under most situations, when the method names are not ambiguous, ColdFusion can determine the data types that are required by a Java object, and often it can convert ColdFusion data to the required types. For example, ColdFusion text strings are implicitly converted to the Java String type. Similarly, if a Java object contains a doIt method that expects a parameter of type int, and CFML is issuing a doIt call with a CFML variable x that contains an integer value, ColdFusion converts the variable x to Java int type. However, ambiguous situations can result from Java method overloading, where a class has multiple implementations of the same method that differ only in their parameter types. The following sections describe how ColdFusion handles the unambiguous situations, and how it provides you with the tools to handle ambiguous ones. Default data type conversion Whenever possible, ColdFusion automatically matches Java types to ColdFusion types. The following table lists how ColdFusion converts ColdFusion data values to Java data types when passing arguments. The left column represents the underlying ColdFusion representation of its data. The right column indicates the Java data types into which ColdFusion can automatically convert the data: The following table lists how ColdFusion converts data returned by Java methods to ColdFusion data types: CFML Java Integer short, int, long (short and int might result in a loss of precision). Real number float double (float might result in a loss of precision. Boolean boolean Date-time java.util.Date String, including lists String short, int, long, float, double, java.util.Date, when a CFML string represents a number or date. boolean, for strings with the value Yes, No, True, and False (case-insensitive). Array java.util.Vector (ColdFusion Arrays are internally represented using an instance of a java.util.Vector object.) ColdFusion can also map a CFML array to any of the following when the CFML array contains consistent data of a type that can be converted to the Java array’s data type: byte[], char[], boolean[], int[], long[], float[], double[], String[], or Object[]. When a CFML array contains data of different of types, the conver- sion to a simple array type might fail. Structure java.util.Map Query object java.util.Map XML document object Not supported. ColdFusion component Not applicable. Java CFML boolean/Boolean Boolean byte/Byte String char/Char String short/Short Integer ADOBE COLDFUSION 8 ColdFusion Developer’s Guide 942 Resolving ambiguous data types with the JavaCast function You can overload Java methods so a class can have several identically named methods. At runtime, the JVM resolves the specific method to use based on the parameters passed in the call and their types. In the section “The Employee class” on page 938, the Employee class has two implementations for the SetJobGrade method. One method takes a string variable, the other an integer. If you write code such as the following, which implementation to use is ambiguous: <cfset emp.SetJobGrade(“1”)> The “1” could be interpreted as a string or as a number, so there is no way to know which method implementation to use. When ColdFusion encounters such an ambiguity, it throws a user exception. The ColdFusion JavaCast function helps you resolve such issues by specifying the Java type of a variable, as in the following line: <cfset emp.SetJobGrade(JavaCast(“int”, “1”))> The JavaCast function takes two parameters: a string representing the Java data type, and the variable whose type you are setting. You can specify the following Java data types: boolean, int, long, float, double, and String. For more information about the JavaCast function, see the CFML Reference. Handling Java exceptions You handle Java exceptions just as you handle standard ColdFusion exceptions, with the cftry and cfcatch tags. You specify the name of the exception class in the cfcatch tag that handles the exception. For example, if a Java object throws an exception named myException, you specify myException in the cfcatch tag. Note: To catch any exception generated by a Java object, specify java.lang.Exception for the cfcatch type attribute. To catch any Throwable errors, specify java.lang.Throwable in the cfcatch tag type attribute. The following sections show an example of throwing and handling a Java exception. int/Integer Integer long/Long Integer float/Float Real Number double/Double Real Number String String java.util.Date Date-time java.util.List Comma-delimited list byte[] Array char[] Array boolean[] Array String[] Array java.util.Vector Array java.util.Map Structure Java CFML ADOBE COLDFUSION 8 ColdFusion Developer’s Guide 943 For more information on exception handling in ColdFusion, see “Handling Errors” on page 246. Example: exception-throwing class The following Java code defines the testException class that throws a sample exception. It also defines a myException class that extends the Java built-in Exception class and includes a method for getting an error message. The myException class has the following code. It throws an exception with a message that is passed to it, or if no argument is passed, it throws a canned exception. //class myException public class myException extends Exception { public myException(String msg) { super(msg); } public myException() { super("Error Message from myException"); } } The testException class contains one method, doException, which throws a myException error with an error message, as follows: public class testException { public testException () { } public void doException() throws myException { throw new myException("Throwing an exception from testException class"); } } Example: CFML Java exception handling code The following CFML code calls the testException class doException method. The cfcatch block handles the resulting exception. <cfobject action=create type=java class=testException name=Obj> <cftry> <cfset Obj.doException() > <cfcatch type="myException"> <cfoutput> <br>The exception message is: #cfcatch.Message#<br> </cfoutput> </cfcatch> </cftry> Examples: using Java with CFML The following sections show several examples of using Java objects in CFML. They include examples of using a custom Java class, a standard Java API class in a user-defined function, a JavaBean, and an Enterprise JavaBean (EJB). Using a Java API in a UDF The following example of a user-defined function (UDF) is functionally identical to the GetHostAddress function from the NetLib library of UDFs from the Common Function Library Project, www.cflib.org. It uses the InetAddress class from the standard Java 2 java.net package to get the Internet address of a specified host: <cfscript> function GetHostAddress(host) { // Define the function local variables. ADOBE COLDFUSION 8 ColdFusion Developer’s Guide 944 var iaddrClass=""; var address=""; // Initialize the Java class. iaddrClass=CreateObject("java", "java.net.InetAddress"); // Get the address object. address=iaddrClass.getByName(host); // Return the address return address.getHostAddress(); } </cfscript> <cfoutput>#gethostaddress("adobe.com")#</cfoutput> Using an EJB ColdFusion can use EJBs that are served by JRun 4.0 servers. The JRun server jrun.jar file must have the same version as the jrun.jar file in ColdFusion. To call an EJB, you use cfobject type="Java" to create and call the appropriate objects. Before you can use an EJB you must do the following: 1 Have a properly deployed EJB running on a J2EE server. The bean must be registered with the JNDI server. 2 Have the following information: • Name of the EJB server • Port number of the JNDI naming service on the EJB server • Name of the EJB, as registered with the naming service 3 Install the EJB home and component interface compiled classes on your ColdFusion web server, either as class files in the web_root/WEB-INF/classes directory or packaged in a JAR file the web_root/WEB-INF/lib directory. Note: To use an EJB served by a JRUN server, your ColdFusion installation and the JRun server that hosts the EJB must have the same version of the jrun.jar file (located in cf_root\runtime\lib directory in ColdFusion). Although the specific steps for using an EJB depend on the EJB server and on the EJB itself, they generally corre- spond to the following order. Use an EJB 1 Use the cfobject tag to create an object of the JNDI naming context class (javax.naming.Context). You will use fields from this class to define the information that you use to locate the EJB. Because you only use fields, you do not initialize the object. 2 Use the cfobject tag to create a java.util.Properties class object that will contain the context object properties. 3 Call the init method to initialize the Properties object. 4 Set the Properties object to contain the properties that are required to create an initial JNDI naming context. These include the INITIAL_CONTEXT_FACTORY and PROVIDER_URL properties. You might also need to provide SECURITY_PRINCIPAL and SECURITY_CREDENTIALS values required for secure access to the naming context. For more information on these properties, see the JNDI documentation. 5 Use the cfobject tag to create the JNDI InitialContext (javax.naming. InitialContext) object. 6 Call the init method for the InitialContext object with the Properties object values to initialize the object. 7 Call the InitialContextext object’s lookup method to get a reference to the home interface for the bean that you want. Specify the JNDI name of the bean as the lookup argument. 8 Call the create method of the bean’s home object to create a new instance of the bean. If you are using Entity beans, you typically use a finder method instead. A finder method locates one or more existing entity beans. ADOBE COLDFUSION 8 ColdFusion Developer’s Guide 945 9 Now you can use the bean’s methods as required by your application. 10 When finished, call the context object’s close method to close the object. The following code shows this process using a simple Java Entity bean on a JRun 4.0 server. It calls the bean’s getMessage method to obtain a message. <html> <head> <title>cfobject Test</title> </head> <body> <H1>cfobject Test</H1> <! Create the Context object to get at the static fields. > <CFOBJECT action=create name=ctx type="JAVA" class="javax.naming.Context"> <! Create the Properties object and call an explicit constructor > <CFOBJECT action=create name=prop type="JAVA" class="java.util.Properties"> <! Call the init method (provided by cfobject) to invoke the Properties object constructor. > <cfset prop.init()> <! Specify the properties These are required for a remote server only > <cfset prop.put(ctx.INITIAL_CONTEXT_FACTORY, "jrun.naming.JRunContextFactory")> <cfset prop.put(ctx.PROVIDER_URL, "localhost:2908")> <! <cfset prop.put(ctx.SECURITY_PRINCIPAL, "admin")> <cfset prop.put(ctx.SECURITY_CREDENTIALS, "admin")> > <! Create the InitialContext > <CFOBJECT action=create name=initContext type="JAVA" class="javax.naming.InitialContext"> <! Call the init method (provided through cfobject) to pass the properties to the InitialContext constructor. > <cfset initContext.init(prop)> <! Get reference to home object. > <cfset home = initContext.lookup("SimpleBean")> <! Create new instance of entity bean. (hard-wired account number). Alternatively, you would use a find method to locate an existing entity bean. > <cfset mySimple = home.create()> <! Call a method in the entity bean. > <cfset myMessage = mySimple.getMessage()> <cfoutput> ADOBE COLDFUSION 8 ColdFusion Developer’s Guide 946 #myMessage#<br> </cfoutput> <! Close the context. > <cfset initContext.close()> </body> </html> Using a custom Java class The following code provides a more complex custom class than in the example “Creating and using a simple Java class” on page 938. The Example class manipulates integer, float, array, Boolean, and Example object types. The Example class The following Java code defines the Example class. The Java class Example has one public integer member, mPublicInt. Its constructor initializes mPublicInt to 0 or an integer argument. The class has the following public methods: public class Example { public int mPublicInt; public Example() { mPublicInt = 0; } public Example(int IntVal) { mPublicInt = IntVal; } public String ReverseString(String s) { StringBuffer buffer = new StringBuffer(s); return new String(buffer.reverse()); } public String[] ReverseStringArray(String [] arr) { String[] ret = new String[arr.length]; for (int i=0; i < arr.length; i++) { ret[arr.length-i-1]=arr[i]; } return ret; } Method Description ReverseString Reverses the order of a string. ReverseStringArray Reverses the order of elements in an array of strings. Add Overloaded: Adds and returns two integers or floats or adds the mPublicInt members of two Example class objects and returns an Example class object. SumArray Returns the sum of the elements in an integer array. SumObjArray Adds the values of the mPublicInt members of an array of Example class objects and returns an Example class object. ReverseArray Reverses the order of an array of integers. Flip Switches a Boolean value. ADOBE COLDFUSION 8 ColdFusion Developer’s Guide 947 public int Add(int a, int b) { return (a+b); } public float Add(float a, float b) { return (a+b); } public Example Add(Example a, Example b) { return new Example(a.mPublicInt + b.mPublicInt); } static public int SumArray(int[] arr) { int sum=0; for (int i=0; i < arr.length; i++) { sum += arr[i]; } return sum; } static public Example SumObjArray(Example[] arr) { Example sum= new Example(); for (int i=0; i < arr.length; i++) { sum.mPublicInt += arr[i].mPublicInt; } return sum; } static public int[] ReverseArray(int[] arr) { int[] ret = new int[arr.length]; for (int i=0; i < arr.length; i++) { ret[arr.length-i-1]=arr[i]; } return ret; } static public boolean Flip(boolean val) { System.out.println("calling flipboolean"); return val?false:true; } } The useExample ColdFusion page The following useExample.cfm page uses the Example class to manipulate numbers, strings, Booleans, and Example objects. The CFML JavaCast function ensures that CFML variables convert into the appropriate Java data types. <html> <head> <title>CFOBJECT and Java Example</title> </head> <body> <! Create a reference to an Example object > <cfobject action=create type=java class=Example name=obj> <! Create the object and initialize its public member to 5 > <cfset x=obj.init(JavaCast("int",5))> <! Create an array and populate it with string values, then use the Java object to reverse them. > <cfset myarray=ArrayNew(1)> <cfset myarray[1]="First"> ADOBE COLDFUSION 8 ColdFusion Developer’s Guide 948 <cfset myarray[2]="Second"> <cfset myarray[3]="Third"> <cfset ra=obj.ReverseStringArray(myarray)> <! Display the results > <cfoutput> <br> original array element 1: #myarray[1]#<br> original array element 2: #myarray[2]#<br> original array element 3: #myarray[3]#<br> after reverseelement 1: #ra[1]#<br> after reverseelement 2: #ra[2]#<br> after reverseelement 3: #ra[3]#<br> <br> </cfoutput> <! Use the Java object to flip a Boolean value, reverse a string, add two integers, and add two float numbers > <cfset c=obj.Flip(true)> <cfset StringVal=obj.ReverseString("This is a test")> <cfset IntVal=obj.Add(JavaCast("int",20),JavaCast("int",30))> <cfset FloatVal=obj.Add(JavaCast("float",2.56),JavaCast("float",3.51))> <! Display the results > <cfoutput> <br> StringVal: #StringVal#<br> IntVal: #IntVal#<br> FloatVal: #FloatVal#<br> <br> </cfoutput> <! Create a two-element array, sum its values, and reverse its elements > <cfset intarray=ArrayNew(1)> <cfset intarray[1]=1> <cfset intarray[2]=2> <cfset IntVal=obj.sumarray(intarray)> <cfset reversedarray=obj.ReverseArray(intarray)> <! Display the results > <cfoutput> <br> IntVal1 :#IntVal#<br> array1: #reversedarray[1]#<br> array2: #reversedarray[2]#<br> <br> </cfoutput><br> <! Create a ColdFusion array containing two Example objects. Use the SumObjArray method to add the objects in the array Get the public member of the resulting object > <cfset oa=ArrayNew(1)> <cfobject action=create type=java class=Example name=obj1> <cfset VOID=obj1.init(JavaCast("int",5))> <cfobject action=create type=java class=Example name=obj2> <cfset VOID=obj2.init(JavaCast("int",10))> <cfset oa[1] = obj1> <cfset oa[2] = obj2> <cfset result = obj.SumObjArray(oa)> ADOBE COLDFUSION 8 ColdFusion Developer’s Guide 949 <cfset intval = result.mPublicInt> <! Display the results > <cfoutput> <br> intval1: #intval#<br> <br> </cfoutput><br> </body> </html> 950 Chapter 50: Using Microsoft .NET Assemblies You can use ColdFusion to call local or remote Microsoft .NET assembly class methods and access assembly fields. This topic describes how to configure and run the ColdFusion .NET extension software and how to access and use .NET classes in your ColdFusion code. For information about .NET technology or how to develop .NET applica- tions, see Microsoft .NET documentation. Contents About ColdFusion and .NET. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 950 Accessing .NET assemblies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 953 Using .NET classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 957 .NET Interoperability Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 965 Example: Using a custom class to access Microsoft Word . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 966 Advanced tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 968 About ColdFusion and .NET ColdFusion lets you access and use Microsoft .NET assembly classes as CFML objects. CFML applications can use .NET assemblies in the following ways: • Directly access and control Microsoft products, such as Word, Excel, or PowerPoint. • Use existing .NET components. • Use .NET assemblies that you create to leverage features that are difficult to use or not available in ColdFusion or Java. (Because ColdFusion is a J2EE application, if you cannot code a feature in CFML, it is more efficient to create it in Java than to use .NET.) The .NET classes that your application uses do not have to be local; your ColdFusion application can access .NET components that are located on remote systems, even systems that are located outside your firewall. Also, the ColdFusion system does not require .NET run-time software installed to use remote .NET components, so ColdFusion running on a UNIX, Linux, Solaris, or OS-X system can access and use .NET assemblies. You can use the cfobject tag or CreateObject function to create a reference to a .NET class object, by specifying either .NET or dotnet as the object type. You use the reference to access the .NET class fields and call the .NET class methods. This technique provides a tightly coupled, stateful, efficient method for accessing .NET classes from ColdFusion. As an alternative, your .NET application can make the class methods available as web services; however, using a web service is less reliable, has lower performance, and is less scalable than using ColdFusion objects for the .NET classes. Note: .NET applications cannot access ColdFusion component functions directly. You can make the functions available as web services by specifying remote access. For more information on creating ColdFusion web services, see “Using Web Services” on page 900. [...]... Note: ColdFusion converts from NET type to ColdFusion type only, it does not convert ColdFusion Arrays to NET ArrayLists Structure Note: ColdFusion converts from NET type to ColdFusion type only, it does not convert ColdFusion Structures to NET Hashtables Query Note: ColdFusion converts from NET type to ColdFusion type only, it does not convert ColdFusion Queries to NET DataTables ADOBE COLDFUSION 8 96 0... object ADOBE COLDFUSION 8 95 9 ColdFusion Developer’s Guide The following paragraphs describe some the data conversion issues and how to handle them For a detailed specification of how ColdFusion converts among ColdFusion data, Java data types, and NET data types, see cfobject: NET object in the CFML Reference Data type conversion rules and techniques ColdFusion converts data automatically among ColdFusion, ... NET extension ADOBE COLDFUSION 8 95 3 ColdFusion Developer’s Guide Accessing NET assemblies ColdFusion provides two methods for accessing NET assemblies: • A local access method for NET objects that are installed on the ColdFusion system • A remote access method for NET objects located on other systems For both methods, you must install the ColdFusion NET extension and run the ColdFusion 8 NET service... the assemblies that ColdFusion will access by adding the following elements inside the section ADOBE COLDFUSION 8 95 7 ColdFusion Developer’s Guide 3 Stop and restart the NET-side agent, if it is running For example, on a ColdFusion system, restart the ColdFusion 8 8 NET Service Your ColdFusion application... dt.Load(reader); return dt; } ADOBE COLDFUSION 8 96 4 ColdFusion Developer’s Guide } ColdFusion code: Query1.CurrentRow = #query1.CurrentRow# Using ColdFusion complex types in NET input parameters When a NET method returns an ArrayList, Hashtable or DataTable, ColdFusion automatically converts it to a ColdFusion array, structure... following sections: ADOBE COLDFUSION 8 95 8 ColdFusion Developer’s Guide • Data type conversion considerations described in “Converting between NET and ColdFusion data types” on page 95 8 • Limitations described in the “Limitations” section of cfobject: NET object in the CFML Reference Instantiating objects and calling class constructors When you use the cfobject tag to create a NET object, ColdFusion does not... system” on page 95 6) ADOBE COLDFUSION 8 95 4 ColdFusion Developer’s Guide Generating the Java proxy classes The Java proxy generation code requires direct access to the NET assemblies to generate the proxy classes Therefore, if the system that runs your ColdFusion application does not have the assemblies installed, you must run a tool on the NET-side system to create the Java proxies ColdFusion installs... CreateObject("CORBA", "d:\temp\tester.ior", "IOR", "Visibroker") ColdFusion releases any object created by cfobject or CreateObject, or returned by other objects, at the end of the ColdFusion page execution Using properties Use standard ColdFusion statements to access properties as follows: ADOBE COLDFUSION 8 97 4 ColdFusion Developer’s Guide 1 To set a property, use a statement or cfset tag, such as... automation types Because ColdFusion is a typeless language, it uses the object's type information to correctly set up the arguments on call invocations Any ambiguity in the object's data types can lead to unexpected behavior ADOBE COLDFUSION 8 97 5 ColdFusion Developer’s Guide In ColdFusion, you should only use server-side COM objects, which do not have a graphical user interface If your ColdFusion application... if ColdFusion and the NET assemblies are on the same system The following image shows how CFML-to-.NET access works: ADOBE COLDFUSION 8 95 2 ColdFusion Developer’s Guide CFML Page Application view NET Assembly Invokes Invokes JNBShare.dll Java Proxy JNBDotNetSide exe.config Uses Uses Specifies assembly classes JNBCore.jar (installed on all TCP/Binary or ColdFuson systems) HTTP/SOAP communications ColdFusion . ADOBE COLDFUSION 8 ColdFusion Developer’s Guide 95 7 3 Stop and restart the .NET-side agent, if it is running. For example, on a ColdFusion system, restart the ColdFusion 8 8 .NET Service. Your ColdFusion. access. For more information on creating ColdFusion web services, see “Using Web Services” on page 90 0. ADOBE COLDFUSION 8 ColdFusion Developer’s Guide 95 1 Because you use the .NET assembly classes. object. ADOBE COLDFUSION 8 ColdFusion Developer’s Guide 95 9 The following paragraphs describe some the data conversion issues and how to handle them. For a detailed specifi- cation of how ColdFusion

Ngày đăng: 14/08/2014, 10:22

TỪ KHÓA LIÊN QUAN