Navigation:  Admin Panel > Adapters > Webservice >

Webservice Update Entry

Previous pageReturn to chapter overviewNext page

The Web service configuration in general is the same as is described under section Web service Add entry. However, the XSLT information and the SOAPAction are different.

Call type: Update

XSLT In:

<?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:updateEntry>
                                 <dat:p_strParameterName>Siemens Projects</dat:p_strParameterName>
                                 <dat:p_strHash>9C3269323FE141D889512DDE405AAD8574BAA064</dat:p_strHash>
                                 <dat:p_blnIsHidden>false</dat:p_blnIsHidden>
                                 <dat:p_blnResetCache>true</dat:p_blnResetCache>
                                 <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:p_arr_strNewNameValues>
                                         <xsl:for-each select="Field">
                                                 <xsl:variable name="FieldName" select="@Name"/>
                                                 <xsl:if test="starts-with($FieldName, 'Update')">
                                                         <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_strNewNameValues>
                         </dat:updateEntry>
                 </soapenv:Body>
         </soapenv:Envelope>
 </xsl:template>
</xsl:stylesheet>

Do not forget to update the parameter name and the Hash.

XSLT out:

<?xml version='1.0' ?>
<xsl:stylesheet
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:ssp="http://smt-x.com/SSP/Common/DataStore" version='1.0'>
 <xsl:template match="/">
         <SSPAdapterResult>
                 <xsl:apply-templates select="/soap:Envelope/soap:Body/ssp:updateEntryResponse/ssp:updateEntryResult"/>
                 <xsl:apply-templates select="/soap:Envelope/soap:Body/soap:Fault"/>
         </SSPAdapterResult>
 </xsl:template>
 <xsl:template match="/soap:Envelope/soap:Body/ssp:updateEntryResponse/ssp:updateEntryResult">
         <Value>
                 <xsl:value-of select='.' />
         </Value>
 </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>

SOAPAction is   first part is <localSSPURL> second part is always Common/DataStore/updateEntry

When Adding fields, decide which field will be used to filter the entry that needs to be udpated. It can be one or more fields to arrive at a unique entry.Below is an example.

WSUpdateFields

The filtered field can also be updated. In the above example a single field is updated, which is also the field that is filtered.