GenericWebServiceWAS6 Sample For IBM WebSphere Application Server 6.1 SAMPLE OVERVIEW =============== This sample demonstrates how to communicate with the IBM Content Manager Enterprise Edition Web services server by sending XML request messages and binary attachments to the Generic Web services (named CMBGenericWebService) running on WAS 6.1. It calls the runtime interfaces implemented by CMWebService Web services, with minimal system administration and metadata query functionality. The sample also demonstrates how to use MIME, the Multipurpose Internet Mail Extensions, to send binary data to and from CMBGenericWebService Web services. The GenericWebServiceWAS6 sample is in directory IBMCMROOT/samples/webservices/ GenericWebService/java/WAS6/base. The following operations are implemented in the sample: - Create new insurance policy and claim form documents Demonstrates importing new items into the database. - Retrieve a policy and a claim form - Demonstrates retrieving items with and without attachments (content parts) from the database. - Demonstrates retrieving multiple items using one request. - Search the policies - Demonstrates sending queries to the Web services and receiving search results. - Update the policies and claim forms - Updating attributes in the root object - Replacing the base part content in the root object with an attachment - Updating the attribute of a child component - Adding a child component - Deleting a child component - Delete a policy and a claim form document by BatchRequest Demonstrates the batch request that groups independent requests into a single request performed in one trip to the server. - Create and delete links - Perform folder operations - Create folder - Add items to folder - Retrieve items from a folder - Delete an item in a folder - Delete folder - Perform document routing operations - Listing of the currently active processes. - Starting an item on a document routing process. - Listing work packages for a specified worklist. - Continuing a specified work package on a process. - Terminating the process on which a specified work package is being routed. LOAD SAMPLE DATA ================ You must load the XYZ sample data from the IBM Content Manager Enterprise Edition First steps application prior to running the GenericWebService client sample. The sample uses the XYZ Insurance data model--specifically, the XYZ_InsPolicy and XYZ_ClaimForm item types to demonstrate Web services client programming. The steps for loading the XYZ Insurance Sample Data are 1. Load the XYZ Insurance sample schema from the IBM Content Manager Enterprise Edition First Steps application. For more information about First Steps, see the "System Administration Guide". 2. Verify the XYZ Insurance sample schema from an IBM Content Manager Enterprise Edition Client for Windows or the system administration client. SET UP THE SAMPLE ================= 1) Install the IBM Content Manager Enterprise Edition Web services Toolkit. 1.1 Install IBM Content Manager Enterprise Edition with Web Services Toolkit on the machine on which the GenericWebService sample will be run. See "Planning and Installing Your Content Management System" for details. 2) Verify that CMBGenericWebService is running 2.1 The following URL will show a test page with the message "CMBGenericWebService Hi there, this is a Web service!" when loaded in a web browser: http://<Web services host>/CMBGenericWebService/services/CMBGenericWebService After entering the URL, if nothing is displayed, the server where the IBM Content Manager Enterprise Edition Web services application is deployed must be started before proceeding. 3) Configure the sample code 3.1 Install WebSphere Application Server 6.1 on the machine you will run the sample on. 3.2 Configure the CLASSPATH to include the following jar files from WebSphere Application Server: - com.ibm.ws.webservices.thinclient_6.1.0.jar Example: Where environment variable "WAS_HOME" indicates WebSphere Application Server 6.1 install location. For Windows: > set classpath=%classpath%;%WAS_HOME%\runtimes\ com.ibm.ws.webservices.thinclient_6.1.0.jar 3.3 Compile the proxy classes and GenericWebServiceSample.java Example: Where environment variable "IBMCMROOT" indicates IBM Content Manager 8.4 install location. For Windows: > cd %IBMCMROOT%\samples\webservices\GenericWebService\java\WAS6 > javac base\*.java RUN THE SAMPLE ============== Run the GenericWebServiceSample sample The example command line: >java base.GenericWebServiceSample icmnlsdb icmadmin password http://<Web services host>/CMBGenericWebService/services/CMBGenericWebService where icmnlsdb is a library server name, icmadmin is an userid in the library server, "password" is the password to the userid, Optionally the URL to Generic Web services can be specified as the fourth parameter. It will override the default Web services URL hard-coded in the sample code. APPENDIX ======== If the proxy classes in this sample do not work with a particular version of WebSphere Application Server, the proxy classes must be regenerated. Complete the following steps to finish the task: 1) Get the WSDL file CMBGenericWebService.wsdl for the Generic Web services Open URL http: //<Web services host>/CMBGenericWebService/services/CMBGenericWebService?wsdl in a web browser window and save the page, for example, C:\WSDL 2) Regenerate the proxy classes using WebSphere WSDL2Java tool Suppose that the environment variable "WAS_HOME" indicates WebSphere Application Server 6.1 install location. Open a command line window. Change to the directory where CMBGenericWebService.wsdl is located, for example, C:\WSDL. Enter the following command: %WAS_HOME%\bin\WSDL2Java -role client -NStoPkg http://was60.webservices.mm.ibm.com=base CMBGenericWebService.wsdl The newly generated proxy classes are in C:\WSDL\base 3) Replace the proxy classes in the sample Save a copy of the files in the Web services sample directory, for example %IBMCMROOT%\samples\webservices\GenericWebService\java\WAS6\base. Then copy all of the newly generated proxy classes in C:\WSDL\base to %IBMCMROOT%\samples\webservices\GenericWebService\java\WAS6\base, to overwrite the existing ones. 4) Recompile the proxy classes and run the sample again. Changes needed before running the sample under CICS =================================================== 1) Modify the main program (GenericWebServiceSample.java) so that it does not require input arguments 2) Add the following to the JVM profile: 2.1 Set WORKDIR to the sample directory: $IBMCMROOT/samples/webservices/GenericWebService/java/WAS6 2.2 Set CLASSPATH_PREFIX to include the thin client jar: $WAS_HOME/runtimes/com.ibm.ws.webservices.thinclient_6.1.0.jar 2.3 Set CLASSPATH_SUFFIX to include the thin client jar file and the sample directory: $WAS_HOME/runtimes/com.ibm.ws.webservices.thinclient_6.1.0.jar:\ $IBMCMROOT/samples/webservices/GenericWebService/java/WAS6:\ $IBMCMROOT/samples/webservices/GenericWebService/java/WAS6/base Where environment variable "IBMCMROOT" indicates IBM Content Manager 8.4 install location.