Back to CORBABC.Wsdl 2 Idl, or CORBABC.Wsdl 2 Idl Info
| At line 8 changed 1 line. |
| !! WSDL to CORBA code generation |
| !!! WSDL to CORBA code generation |
| At line 14 added 1 line. |
| ! 1. retrieving the wsdl |
| At line 15 changed 1 line. |
| * 1. __retrieving the wsdl__ \\ The first step is retrieving the WSDL used in the code generation. |
| The first step is retrieving the WSDL used in the code generation. |
| At line 17 changed 1 line. |
| * 2. __copying ord.idl and ir.idl__ \\ When the WSDL is obtained we copy the 'orb.idl' and the 'ir.idl' in the same directory where we have saved the WSDL. These files are needed for corba type binding and are standard. |
| ! 2. copying ord.idl and ir.idl |
| At line 19 changed 1 line. |
| *3. __preparing workspace __ \\ In this phase we create all the directory used during the code ganeration, in particulare we create a directory for the java source files and for the class files. |
| When the WSDL is obtained we copy the 'orb.idl' and the 'ir.idl' in the same directory where we have saved the WSDL. These files are needed for corba type binding and are standard. |
| At line 21 changed 1 line. |
| *4. __wsdl to java__ \\ The WSDL to Java code generation is executed using CXF. In CXF, the default mapping from wsdl to java data types is good, but you should control which of these data types are supported from our component.\\ In fact, we must convert every types defined in the WSDL in a IDL type and not all of them are actually supported. |
| ! 3. preparing workspace |
| At line 23 changed 1 line. |
| * 5. __javac__ \\ When the component has created the java source files we compile them using the standard java compiler. |
| In this phase we create all the directory used during the code ganeration, in particulare we create a directory for the java source files and for the class files. |
| At line 26 added 8 lines. |
| ! 4. wsdl to java |
| The WSDL to Java code generation is executed using CXF. In CXF, the default mapping from wsdl to java data types is good, but you should control which of these data types are supported from our component.\\ In fact, we must convert every types defined in the WSDL in a IDL type and not all of them are actually supported. |
| ! 5. javac |
| When the component has created the java source files we compile them using the standard java compiler. |
| At line 30 changed 1 line. |
| * 6. __bytecode manipulation__ \\ One of classes generated has the suffix "PortType" and it represent the interface (in WSDL language) that contains all the our operations. \\ The bytecode of this class must be manipulated to be used with rmic compiler, so we add the interface 'java.rmi.Remote' to the class and we add the 'java.rmi.RemoteException' to the exceptions thrown by every method. |
| ! 6. bytecode manipulation |
| One of classes generated has the suffix "PortType" and it represent the interface (in WSDL language) that contains all the our operations. \\ The bytecode of this class must be manipulated to be used with rmic compiler, so we add the interface 'java.rmi.Remote' to the class and we add the 'java.rmi.RemoteException' to the exceptions thrown by every method. |
| At line 32 changed 1 line. |
| * 7. __rmic __ \\ When the "ServicePortType" class is ready we use the RMIC compiler to produce the IDL files that represent the CORBA contract from client and servant. \\ To compile this class we use the standard rmic provided with the JDK. |
| ! 7. rmic |
| At line 44 added 2 lines. |
| When the "ServicePortType" class is ready we use the RMIC compiler to produce the IDL files that represent the CORBA contract from client and servant. \\ To compile this class we use the standard rmic provided with the JDK. |
| At line 52 changed 1 line. |
| * 8. __idlj__ \\ The IDLs previously generated are used to create the classes of the corba servant. This operation is performed using idlj twice: the first time with the option '-fall' and second one with the option '-fallTIE'. \\ This procedure is used to create stub and skeleton classes and the POA class to comply the 'POA programming model'. |
| ! 8. idlj |
| At line 66 added 2 lines. |
| The IDLs previously generated are used to create the classes of the corba servant. This operation is performed using idlj twice: the first time with the option '-fall' and second one with the option '-fallTIE'. \\ This procedure is used to create stub and skeleton classes and the POA class to comply the 'POA programming model'. |
| At line 80 changed 1 line. |
| * 9. __bytecode manipulation__ \\ At this point we have almost finished our job, but the classes associated with the value type are not ready to use in CORBA environment, so we must manipulate them. \\ These classes must have 2 main characteristics: |
| ! 9. bytecode manipulation |
| At this point we have almost finished our job, but the classes associated with the value type are not ready to use in CORBA environment, so we must manipulate them. \\ These classes must have 2 main characteristics: |
| At line 84 changed 1 line. |
| * 10. __javac__ \\ Now we can compile all the classes and the result is our corba servant. |
| ! 10. javac |
| At line 102 added 1 line. |
| Now we can compile all the classes and the result is our corba servant. |
| At line 114 added 1 line. |