2 import biz.freeside.SelfService;
3 import org.apache.commons.logging.impl.SimpleLog; //included in apache xmlrpc
4 import java.util.HashMap;
5 import java.util.Vector;
7 public class freeside_create_ticket_example {
8 private static SimpleLog logger = new SimpleLog("SelfService");
10 public static void main( String args[] ) throws Exception {
12 new SelfService( "http://192.168.1.221:8081/xmlrpc.cgi" );
14 Vector params = new Vector();
15 params.addElement( "username" );
16 params.addElement( "4155551212" ); // svc_phone.phonenum
17 params.addElement( "password" );
18 params.addElement( "5454" ); // svc_phone.pin
19 params.addElement( "domain" );
20 params.addElement( "svc_phone" );
21 HashMap result = client.execute( "login", params );
23 String error = (String) result.get("error");
25 if (error.length() < 1) {
29 String sessionId = (String) result.get("session_id");
31 logger.trace("[login] logged into freeside with session_id="+sessionId);
33 // store session id in your session store to be used for other calls
35 // like, say, this one to create a ticket
37 Vector ticket_params = new Vector();
38 ticket_params.addElement( "session_id" );
39 ticket_params.addElement( sessionId );
40 ticket_params.addElement( "queue" );
41 ticket_params.addElement( 3 ); // otherwise defaults to
42 // ticket_system-selfservice_queueid
43 // or ticket_system-default_queueid
44 ticket_params.addElement( "requestor" ); // these
45 ticket_params.addElement( "email@example.com" ); // are
46 ticket_params.addElement( "cc" ); // optional
47 ticket_params.addElement( "joe@example.com" ); //
48 ticket_params.addElement( "subject" );
49 ticket_params.addElement( "Houston, we have a problem." );
50 ticket_params.addElement( "message" );
51 ticket_params.addElement( "The Oscillation Overthurster has gone out of alignment!<br><br>It needs to be fixed immediately! <A HREF=\"http://linktest.freeside.biz/hi\">link test</A>" );
52 ticket_params.addElement( "mime_type" );
53 ticket_params.addElement( "text/html" );
55 HashMap ticket_result = client.execute( "create_ticket", ticket_params);
57 String error = (String) ticket_result.get("error");
59 if (error.length() < 1) {
61 // successful ticket creation
63 String ticketId = (String) ticket_result.get("ticket_id");
65 logger.trace("[login] ticket created with id="+ticketId);
69 // unsuccesful creating ticket
71 logger.warn("[login] error creating ticket: "+error);
79 logger.warn("[login] error logging into freeside: "+error);
81 // display/say error message to user