Service Desk provides a rich experience for developers to extend the functionality and integrate with other 3rd party systems. Currently there are two ways to integrate 3rd party systems with Service Desk.
- MFSD Extensions
- MFSD SOAP Web Services
With this cool solution we have attached Java example codes for MFSD Extensions and MFSD SOAP Web Services. The examples will help the developer try out these features.
MFSD Extensions: MFSD Extensions gives the ability to invoke developer’s code on any request work flow state transitions and item lifecycle state transitions. Currently Extensions are supported only in Java. Developers can simply extend the interface(WorkflowListener.java) bundled along with livetime-listen.jar.
Detailed steps are mentioned in the attached developer resources document.
In the sample code attached com.novell.mfsd.ws.code.MFSDExtensionExample is for MFSD Extensions.
MFSD SOAP Web Services: MFSD SOAP Web Services gives the ability to the developer to communicate directly with service desk for example to raise a incident/Service Requests from a third party systems or creating a new Item etc.
MFSD has soap services for Item, Customer, Request, Organization and Purchase order.
Detailed documentation on SOAP services are provided in the attached developer resources document.
To invoke these services you have authenticate with Service Desk with Authenticate service. On successful authentication,Authenticate service provides a cookie that has to be passed to invoke other services.
In the sample code attached com.novell.mfsd.ws.code.MFSDWebservicesExample contains examples on login, getting item fields and logout.
In the attached example please change the following details in the main method and provide your service desk details:
MFSDWebservicesExample mfsdsoap = new MFSDWebservicesExample(“126.96.36.199”, “8700”, out);
//User credentials and LDAP Server name as provided in Setup->LDAP
mfsdsoap.connect(“nsdsupervisor1”, “novell”, “NSD”);
//Just I am testing get fields for an item
HashMap test = mfsdsoap.getItemFields(“100099”);