Process interaction
Last updated
Was this helpful?
Last updated
Was this helpful?
It is possible to update a datastore from a ticket by running webservices.
Go to the admin page and then to adapters
http://dev.ssp7.smt-x.com/common/webservice/datastore.asmx
To UPDATE an Address Book Entry
This is used to adjust fields. Go to Admin > adapters
Search a field: for a name with filterName or for an email with FilterEmail or for a location with FilterLocation . Update a field with: UpdateName or UpdateEmail or UpdateLocation
Select the necessary fields and and them with the ADD button
Fill in the current fields:
You can now fetch data from a Datastore Parameter, in a process. The WebService needs a filterField, and potentially a SortField.
An example is made in our DEV : Datastore - GET - Address Book
Components:
- Filter<FieldName>: Will be needed to find the correct value in the Datastore Parameter. - Sort<FieldName>: (optional) : sort the results by this field, the first entry will be chosen.
Only 1 entry can be chosen ! Multiple filters can be selected sample form : http://dev.ssp7.smt-x.com/Forms/Admin/formDetail.aspx?id=291 sample process: http://dev.ssp7.smt-x.com/Workflow/Admin/ProcessAddEdit.aspx?saved=true&genericid=233
The process first pulls data based on the field in the form. Next, it asks in the process to select an email address and will then return the Name & Location. sample ticket : 2255
It is a bit complex how to set up the call in the process. The step type is 'Webservice Call', but when you select a 'GET'-webservice, the Form section appears. This allows you to fetch the fields from the datastore that you want (and use them as 'previously entered fields'). Note: add the fieldname (of the datastore parameter) in the new textfield, labeled 'Field name from webservice call'.
[edit]XSLT In Sample
<?xml version='1.0'?> <xsl:stylesheet xmlns:xsl='http://www.w3.org/1999/XSL/Transform' version='1.0'> <xsl:template match='/SSPAdapterCall'> <soapenv:Envelope xmlns:soapenv='http://www.w3.org/2003/05/soap-envelope' xmlns:dat="http://smt-x.com/SSP/Common/DataStore"> <soapenv:Header/> <soapenv:Body> <dat:getEntries> <dat:p_strParameterName>Address Book</dat:p_strParameterName> <dat:p_strHash>1E6F5F9F37A94F572DEB3BCB87CF53635741C43C</dat:p_strHash> <dat:p_blnIsHidden>false</dat:p_blnIsHidden> <dat:p_strSortFieldName></dat:p_strSortFieldName> <dat:p_arr_strExistingNameValues> <xsl:for-each select="Field"> <xsl:variable name="FieldName" select="@Name"/> <xsl:if test="starts-with($FieldName, 'Filter')"> <dat:string> <xsl:value-of select="substring($FieldName, 7)" /> </dat:string> <dat:string> <xsl:value-of select="." /> </dat:string> </xsl:if> </xsl:for-each> </dat:p_arr_strExistingNameValues> </dat:getEntries> </soapenv:Body> </soapenv:Envelope> </xsl:template> </xsl:stylesheet>
[edit]XSLT Out Sample
<?xml version='1.0' ?> <xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform' xmlns:soap='http://www.w3.org/2003/05/soap-envelope' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:ds='http://smt-x.com/SSP/Common/DataStore'> <xsl:template match="/soap:Envelope/soap:Body/ds:getEntriesResponse"> <SSPAdapterResult> <Fields> <xsl:for-each select='//xsd:element[@name="Data"]/xsd:complexType/xsd:sequence/xsd:element'> <Field> <xsl:value-of select='@name' /> </Field> </xsl:for-each> </Fields> <Rows> <xsl:for-each select='//DocumentElement/Data'> <Row> <xsl:for-each select='*'> <Field> <xsl:attribute name="name"> <xsl:value-of select="local-name()" /> </xsl:attribute> <xsl:value-of select='.'/> </Field> </xsl:for-each> </Row> </xsl:for-each> </Rows> </SSPAdapterResult> </xsl:template> <xsl:template match="/soap:Envelope/soap:Body/soap:Fault"> <Error>code:<xsl:value-of select='soap:faultcode' /> <xsl:value-of select='soap:Code/soap:Value' /> - string:<xsl:value-of select='soap:faultstring' /> <xsl:value-of select='soap:Reason/soap:Text' /> </Error> </xsl:template> </xsl:stylesheet>
Select the tab “Web Services “ Click on ‘edit icon’ per webservice call, or add new one
To ADD an Address Book Entry click the edit button of the webservice call “Datastore Add Address Book Entry”
Now you’ll see this screen: Webservice details URL: please insert here the client SSP url, so it comes to:
Cat Type: to add an Address Book Entry, please select insert XSLT In: a- get the name of the parameter from the datastore b-make the hash tag trough: http://dev.ssp7.smt-x.com/forms/test.aspx (login: query) c-Select HashCheck and enter the parameter, click the button “getHash”
The hashtag appears and is ready to be copied d- Paste the Hash Tag in the XSLT In code Webservice Call Fields The field names are the datastore fields
Edit Datastore Update Address Book entry
In a process Go to the admin page and select processes To add a process, click the button :
Or to add a step in a process, edit the process: Select the Edit Steps tab Add a step where needed:
Select Webservice Call in General Settings: Select the datastore in Webservice Call and click on the apply button:
Example for Name: #REPLACE-FORMFIELD-Building|Name# ; Select Form field and Name:
URL : http://dev.ssp7.smt-x.com/Common/webservice/datastore.asmx Call Type: RetrieveList Return Type: DataTable XLST In: see example - note the HASH ! - see full sample below XSLT Out : see example - no Hash here - see full sample below Web Service Call Headers: none WebService Call Fields: