00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00030 #include <jasperserver.h>
00031
00032 const char server[] = "http://127.0.0.1:8080/jasperserver/services/repository";
00033
00039 void list_directory(char *dir)
00040 {
00041 jasperserver_request_t *request = NULL;
00042 jasperserver_server_t *jasperServer = NULL;
00043 jasperserver_resource_descriptor_t *res = NULL;
00044 jasperserver_operation_result_t *operationResult = NULL;
00045
00046
00047
00048 jasperServer = jasperserver_server_new();
00049 jasperserver_string_cset(jasperServer->url, server);
00050 jasperserver_string_cset(jasperServer->username, "tomcat");
00051 jasperserver_string_cset(jasperServer->password, "tomcat");
00052
00053
00054
00055 request = jasperserver_request_new();
00056
00057
00058 res = jasperserver_resource_descriptor_new();
00059 request->resource = res;
00060 jasperserver_string_cset(res->wsType, JS_TYPE_FOLDER);
00061 jasperserver_string_cset(res->uriString, dir);
00062
00063
00064 operationResult = jasperserver_ws_list(jasperServer, request);
00065
00066 if (operationResult->returnCode == 0)
00067 {
00068 printf("Server version: %s, Return code: '%d', Return message '%s'\n", JS_CSTR( operationResult->version), operationResult->returnCode, JS_CSTR( operationResult->returnMessage ));
00069 printf("Repository directory: %s\n\n", JS_CSTR( request->resource->uriString));
00070 fflush( stdout );
00071
00072 for (res = operationResult->resources; res; res = res->next)
00073 {
00074
00075 printf("%s%s \t%s\n", ((!xmlStrcmp(JS_UTFSTR( res->wsType ), JS_TYPE_FOLDER )) ? "<DIR> " : ""), JS_UTFSTR( res->name ), JS_UTFSTR( res->label ));
00076 }
00077 }
00078 else
00079 {
00080 printf("Error executing the service: %d (%s)", operationResult->returnCode, JS_UTFSTR(operationResult->returnMessage) );
00081
00082 }
00083
00084
00085 jasperserver_server_free( jasperServer );
00086 jasperserver_request_free( request );
00087 jasperserver_operation_result_free( operationResult );
00088
00089 }
00090
00091
00092 int main(int argc, char **argv)
00093 {
00094 char *dir = "/";
00095 printf("JasperServer list sample (C) 2007 JasperSoft Corp.!\n");
00096
00097 if (argc > 1)
00098 {
00099 dir = argv[1];
00100 }
00101 else
00102 {
00103 printf("Repository path not specified. Using root (/) as default.\n\n");
00104 }
00105 list_directory(dir);
00106
00107 return 0;
00108 }