Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
BedrockMission!

Learn More

View all

Sign in to view all badges

"Unable to upload tracking images to the server" in custom form for MMS

Avatar

Avatar
Springboard
MVP
Florian_Courgey
MVP

Likes

93 likes

Total Posts

87 posts

Correct Reply

19 solutions
Top badges earned
Springboard
Validate 1
Establish
Contributor
Ignite 1
View profile

Avatar
Springboard
MVP
Florian_Courgey
MVP

Likes

93 likes

Total Posts

87 posts

Correct Reply

19 solutions
Top badges earned
Springboard
Validate 1
Establish
Contributor
Ignite 1
View profile
Florian_Courgey
MVP

17-10-2018

Hi,

We changed the Delivery form slightly in order to link up to 3 images to a delivery. This is used for our MMS text messages: when the delivery is started, a post-processing workflow creates a zip containing a CSV file and the images.

We got the "upload a file" xml form from the standard Public Resources upload form, so it might sound familiar.

Here's our form:

2018-10-17_094131_screen_1.jpg

When we click on "Select Image", we have this window:

2018-10-17_094147_screen_2.jpg

Images are linked to our delivery via an extension of nms:delivery:

2018-10-17_094406_screen_3.jpg

XML of custom:delivery:

<srcSchema desc="Defines the parameters of a delivery (or of a delivery template)."

           entitySchema="xtk:srcSchema" extendedSchema="nms:delivery" img="nms:campaign.png"

           label="Deliveries" labelSingular="Delivery"

           name="delivery" namespace="" xtkschema="xtk:srcSchema">

 

  <element desc="Defines the parameters of a delivery (or of a delivery template)."

           img="nms:campaign.png" label="Deliveries" labelSingular="Delivery" name="delivery">

    <!-- Mobile SMS/MMS -->

    <element label=" Mobile parameters" name="MobileParameters">

      <attribute label="Mobile Object" length="255" name="mobileObject" type="string"/>

      <attribute label="Mobile Callback number" length="255" name="mobileCallbackNumber"

                 type="string"/>

    </element>

    <element label="Image 1" name="image1" revCardinality="single" revExternalJoin="true"

             target="xtk:fileRes" type="link"/>

    <element label="Image 2" name="image2" revCardinality="single" revExternalJoin="true"

             target="xtk:fileRes" type="link"/>

    <element label="Image 3" name="image3" revCardinality="single" revExternalJoin="true"

             target="xtk:fileRes" type="link"/>

  </element>

</srcSchema>

It works fine when we upload 1 image, then save, then close the delivery. However, if we upload 2 images at a time, we have this error:

image.png

Here's our delivery form nms:delivery:

...

<!-- @mobile SMS MMS edit 1 -->

<container label="SMS MMS" ref="custom:deliveryExtensions:mms"/>

<!-- end @mobile SMS MMS edit 1 -->

...

<leave>

...

<!-- @mobile SMS MMS edit 2 -->

    <!-- Addons for mobile extensions. This has to be here -->

    <!-- if mode MMS -->

    <if expr="[smsParameters/@mobileMsgType] = 2 and (@isModel = false or (@isModel = true and [/ignored/tmp/@deliveryRecurring]='1'))">

      <!-- link image 1 to delivery, if any -->

      <if expr="[image1/@fileName] !=''">

        <if expr="[/ignored/writer/fileRes/@internalName]!=''">

          <soapCall name="Write" service="xtk:persist">

            <param exprIn="[/ignored/writer/fileRes]" type="DOMDocument"/>

          </soapCall>

        </if>

        <set value="xtk:fileRes" xpath="/ignored/queryDefFR/@schema"/>

        <set value="select" xpath="/ignored/queryDefFR/@operation"/>

        <set value="@id" xpath="/ignored/queryDefFR/select/node[1]/@expr"/>

        <set expr="'@internalName=\''+[image1/@internalName]+'\''" xpath="/ignored/queryDefFR/where/condition[1]/@expr"/>

        <soapCall name="ExecuteQuery" service="xtk:queryDef">

          <param exprIn="[/ignored/queryDefFR]" type="DOMDocument"/>

          <param type="DOMDocument" xpathOut="/ignored/tmp/operationFR"/>

        </soapCall>

        <set expr="[/ignored/tmp/operationFR/fileRes/@id]" xpath="@image1-id"/>

        <soapCall name="PublishIfNeededFromId" service="xtk:fileRes">

          <param exprIn="[@image1-id]" type="string"/>

        </soapCall>

      </if>

      <!-- link image 2 to delivery, if any -->

      <if expr="[image2/@fileName] !=''">

        <if expr="[/ignored/writer/fileRes/@internalName]!=''">

          <soapCall name="Write" service="xtk:persist">

            <param exprIn="[/ignored/writer/fileRes]" type="DOMDocument"/>

          </soapCall>

        </if>

        <set value="xtk:fileRes" xpath="/ignored/queryDefFR/@schema"/>

        <set value="select" xpath="/ignored/queryDefFR/@operation"/>

        <set value="@id" xpath="/ignored/queryDefFR/select/node[1]/@expr"/>

        <set expr="'@internalName=\''+[image2/@internalName]+'\''" xpath="/ignored/queryDefFR/where/condition[1]/@expr"/>

        <soapCall name="ExecuteQuery" service="xtk:queryDef">

          <param exprIn="[/ignored/queryDefFR]" type="DOMDocument"/>

          <param type="DOMDocument" xpathOut="/ignored/tmp/operationFR"/>

        </soapCall>

        <set expr="[/ignored/tmp/operationFR/fileRes/@id]" xpath="@image2-id"/>

        <soapCall name="PublishIfNeededFromId" service="xtk:fileRes">

          <param exprIn="[@image2-id]" type="string"/>

        </soapCall>

      </if>

      <!-- link image 3 to delivery, if any -->

      <if expr="[image3/@fileName] !=''">

        <if expr="[/ignored/writer/fileRes/@internalName]!=''">

          <soapCall name="Write" service="xtk:persist">

            <param exprIn="[/ignored/writer/fileRes]" type="DOMDocument"/>

          </soapCall>

        </if>

        <set value="xtk:fileRes" xpath="/ignored/queryDefFR/@schema"/>

        <set value="select" xpath="/ignored/queryDefFR/@operation"/>

        <set value="@id" xpath="/ignored/queryDefFR/select/node[1]/@expr"/>

        <set expr="'@internalName=\''+[image3/@internalName]+'\''" xpath="/ignored/queryDefFR/where/condition[1]/@expr"/>

        <soapCall name="ExecuteQuery" service="xtk:queryDef">

          <param exprIn="[/ignored/queryDefFR]" type="DOMDocument"/>

          <param type="DOMDocument" xpathOut="/ignored/tmp/operationFR"/>

        </soapCall>

        <set expr="[/ignored/tmp/operationFR/fileRes/@id]" xpath="@image3-id"/>

        <soapCall name="PublishIfNeededFromId" service="xtk:fileRes">

          <param exprIn="[@image3-id]" type="string"/>

        </soapCall>

      </if>

      <!-- compute content source to tmp var -->

      <set expr="[content/sms/source]" xpath="/tmp/content"/>

      <!-- set computed source to the column "body" -->

      <set expr="[/tmp/content]" xpath="output/extraction/destination/exportColumns/exportColumn[3]/srcScript"/>

    </if>

    <!-- @mobile SMS MMS edit 2 -->

...

</leave>

And here's our form custom:deliveryExtensions:

<form createdBy-id="78015" entitySchema="xtk:form" img="xtk:form.png" label="Delivery (custom extensions)"

      name="deliveryExtensions" namespace="custom" xtkschema="xtk:form"> 

  <!--

      This file is used as an extension in nms:delivery by calling <container label="SMS MMS" ref="custom:deliveryExtensions:mms"/>.

      Some customization are also done at the end of the <leave> tag in nms:delivery

     

      (Please keep this comment for documentation purposes)

  -->

  <!-- SMS MMS Container -->

  <container codepage="1252" label="Message" name="mms" propagateConstraints="false">

    <!-- SMS or MMS -->

    <container codepage="1252" colcount="2" xpath="smsParameters">

      <input checkedValue="0" label="SMS" type="RadioButton" xpath="@mobileMsgType"/>

      <input checkedValue="2" label="MMS" type="radioButton" xpath="@mobileMsgType"/>

    </container>

    <!-- Object and callback -->

    <container codepage="1252" type="visibleGroup" visibleIf="[smsParameters/@mobileMsgType] = 2">

      <input label="Object" xpath="MobileParameters/@mobileObject"/>

    </container>

    <container codepage="1252" type="visibleGroup">

      <input label="Callback" xpath="MobileParameters/@mobileCallbackNumber"/>

    </container>

    <!-- Images-->

    <container codepage="1252" colcount="3" type="visibleGroup" visibleIf="[smsParameters/@mobileMsgType] = 2">

      <!-- Image 1 -->

      <input fontBold="true" img="nl:sryimage.png" label="Select image 1" type="subFormLink"

             xpath="image1">

        <form editionMode="dialog" entitySchema="xtk:form" img="xtk:form.png" label="File resource"

              name="fileRes1" namespace="xtk" xpathsToLoad="@originalName,@fileName,@md5,@contentType,@codepage,@storageType"

              xpathsToLoadOpt="@publish" xtkschema="xtk:form">

          <enter>

            <soapCall name="GetPublicFileResURL" service="xtk:fileRes">

              <param type="string" xpathOut="/tmp/@publicFileResUrl"/>

            </soapCall>

            <if expr="@internalName=''">

              <set expr="GetOption('XtkInstancePrefix')+'RES'+CounterValue('xtkResource')"

                   xpath="@internalName"/>

            </if>

          </enter>

          <!-- Popup -->

          <container codepage="1252" img="xtk:properties.png" label="General" name="selectAnImage">

            <container codepage="1252" colcount="2">

              <input xpath="@label"/>

              <input xpath="@internalName"/>

            </container>

            <container codepage="1252" form="xtk:fileResUpload" name="dropZone" prebuildSubForm="false"

                       type="fileDropZone">

              <enter name="onClick">

                <set expr="[/tmp/@uploadFile]" xpath="@originalName"/>

                <set value="69" xpath="/tmp/@storageType"/>

              </enter>

              <container codepage="1252" label="File" name="actions" type="frame">

                <!-- Container if no file yet -->

                <container codepage="1252" name="upload" type="visibleGroup" visibleIf="@loaded==false">

                  <static img="xtk:loginfo.png" label=" " name="helpNotLoaded">The file has not yet been uploaded on the server. You can drag &amp; drop the file here to upload it, or click on the link below.</static>

                  <input form="xtk:fileResUpload" img="xtk:upload.png" label="Upload file to server..."

                         modelessExpr="'$(entityPath)'='/fileRes'" needWriteAccess="true"

                         type="subFormLink" xpath=".">

                    <enter name="onClick">

                      <set value="5" xpath="/tmp/@storageType"/>

                      <set expr="FileDlg(@originalName, 'open')" xpath="/tmp/@uploadFile"/>

                      <set expr="[/tmp/@uploadFile]" xpath="@originalName"/>

                      <if expr="'$(entityPath)'='/fileRes'">

                        <saveView/>

                      </if>

                    </enter>

                  </input>

                </container>

                <!-- Container if file uploaded -->

                <container codepage="1252" name="loaded" type="visibleGroup" visibleIf="@loaded">

                  <static img="xtk:xtkcheck.png" name="helpLoaded" nolabel="true">The file has been uploaded on the server. You can drag &amp; drop it here, or click on the link below to replace the file.</static>

                  <container codepage="1252" name="download">

                    <input form="xtk:fileResDownload" imgExpr="EImg(@userContentType)"

                           labelExpr="FileName(@originalName)" modelessExpr="'$(entityPath)'='/fileRes'"

                           needWriteAccess="true" nolabel="true" type="fileLink"

                           xpath="."/>

                  </container>

                  <container codepage="1252" name="uploadModify">

                    <input form="xtk:fileResUpload" img="xtk:upload.png" label="Change the file on the server..."

                           modelessExpr="'$(entityPath)'='/fileRes'" needWriteAccess="true"

                           nolabel="true" type="subFormLink" xpath=".">

                      <enter name="onClick">

                        <set value="5" xpath="/tmp/@storageType"/>

                        <set expr="FileDlg(@originalName, 'open')" xpath="/tmp/@uploadFile"/>

                        <set expr="[/tmp/@uploadFile]" xpath="@originalName"/>

                        <if expr="'$(entityPath)'='/fileRes'">

                          <saveView/>

                        </if>

                      </enter>

                    </input>

                  </container>

                </container>

              </container>

            </container>

          </container>

          <!-- On leave -->

          <leave>

            <set value="xtk:fileRes" xpath="../../ignored/writer/fileRes/@xtkschema"/>

            <set value="insert" xpath="../../ignored/writer/fileRes/@_operation"/>

            <if expr="@md5 != ''">

              <set value="insertOrUpdate" xpath="../../ignored/writer/fileRes/@_operation"/>

            </if>

            <set expr="[@fileName]" xpath="../../ignored/writer/fileRes/@fileName"/>

            <set expr="[@md5]" xpath="../../ignored/writer/fileRes/@md5"/>

            <set value="0" xpath="../../ignored/writer/fileRes/@codepage"/>

            <set expr="[@originalName]" xpath="../../ignored/writer/fileRes/@originalName"/>

            <set expr="[@label]" xpath="../../ignored/writer/fileRes/@label"/>

            <set expr="[@internalName]" xpath="../../ignored/writer/fileRes/@internalName"/>

            <set expr="[@contentType]" xpath="../../ignored/writer/fileRes/@contentType"/>

            <set value="1" xpath="../../ignored/writer/fileRes/@useMd5AsFilename"/>

            <!-- set folder -->

            <set value="23352281" xpath="../../ignored/writer/fileRes/@folder_id"/>

          </leave>

        </form>

      </input>

     

      <!-- Image 2 -->

      <container codepage="1252" type="visibleGroup">

        <input fontBold="true" img="nl:sryimage.png" label="Select image 2" type="subFormLink"

               xpath="image2">

          <form editionMode="dialog" entitySchema="xtk:form" img="xtk:form.png" label="File resource"

                name="fileRes2" namespace="xtk" xpathsToLoad="@originalName,@fileName,@md5,@contentType,@codepage,@storageType"

                xpathsToLoadOpt="@publish" xtkschema="xtk:form">

            <enter>

              <soapCall name="GetPublicFileResURL" service="xtk:fileRes">

                <param type="string" xpathOut="/tmp/@publicFileResUrl"/>

              </soapCall>

              <if expr="@internalName=''">

                <set expr="GetOption('XtkInstancePrefix')+'RES'+CounterValue('xtkResource')"

                     xpath="@internalName"/>

              </if>

            </enter>

            <!-- Popup -->

            <container codepage="1252" img="xtk:properties.png" label="General" name="selectAnImage">

              <container codepage="1252" colcount="2">

                <input xpath="@label"/>

                <input xpath="@internalName"/>

              </container>

              <container codepage="1252" form="xtk:fileResUpload" name="dropZone"

                         prebuildSubForm="false" type="fileDropZone">

                <enter name="onClick">

                  <set expr="[/tmp/@uploadFile]" xpath="@originalName"/>

                  <set value="5" xpath="/tmp/@storageType"/>

                </enter>

                <container codepage="1252" label="File" name="actions" type="frame">

                  <!-- Container if no file yet -->

                  <container codepage="1252" name="upload" type="visibleGroup" visibleIf="@loaded==false">

                    <static img="xtk:loginfo.png" label=" " name="helpNotLoaded">The file has not yet been uploaded on the server. You can drag &amp; drop the file here to upload it, or click on the link below.</static>

                    <input form="xtk:fileResUpload" img="xtk:upload.png" label="Upload file to server..."

                           modelessExpr="'$(entityPath)'='/fileRes'" needWriteAccess="true"

                           type="subFormLink" xpath=".">

                      <enter name="onClick">

                        <set value="5" xpath="/tmp/@storageType"/>

                        <set expr="FileDlg(@originalName, 'open')" xpath="/tmp/@uploadFile"/>

                        <set expr="[/tmp/@uploadFile]" xpath="@originalName"/>

                        <if expr="'$(entityPath)'='/fileRes'">

                          <saveView/>

                        </if>

                      </enter>

                    </input>

                  </container>

                  <!-- Container if file uploaded -->

                  <container codepage="1252" name="loaded" type="visibleGroup" visibleIf="@loaded">

                    <static img="xtk:xtkcheck.png" name="helpLoaded" nolabel="true">The file has been uploaded on the server. You can drag &amp; drop it here, or click on the link below to replace the file.</static>

                    <container codepage="1252" name="download">

                      <input form="xtk:fileResDownload" imgExpr="EImg(@userContentType)"

                             labelExpr="FileName(@originalName)" modelessExpr="'$(entityPath)'='/fileRes'"

                             needWriteAccess="true" nolabel="true" type="fileLink"

                             xpath="."/>

                    </container>

                    <container codepage="1252" name="uploadModify">

                      <input form="xtk:fileResUpload" img="xtk:upload.png" label="Change the file on the server..."

                             modelessExpr="'$(entityPath)'='/fileRes'" needWriteAccess="true"

                             nolabel="true" type="subFormLink" xpath=".">

                        <enter name="onClick">

                          <set value="5" xpath="/tmp/@storageType"/>

                          <set expr="FileDlg(@originalName, 'open')" xpath="/tmp/@uploadFile"/>

                          <set expr="[/tmp/@uploadFile]" xpath="@originalName"/>

                          <if expr="'$(entityPath)'='/fileRes'">

                            <saveView/>

                          </if>

                        </enter>

                      </input>

                    </container>

                  </container>

                </container>

              </container>

            </container>

            <!-- On leave -->

            <leave>

              <set value="xtk:fileRes" xpath="../../ignored/writer/fileRes/@xtkschema"/>

              <set value="insert" xpath="../../ignored/writer/fileRes/@_operation"/>

              <if expr="@md5 != ''">

                <set value="insertOrUpdate" xpath="../../ignored/writer/fileRes/@_operation"/>

              </if>

              <set expr="[@fileName]" xpath="../../ignored/writer/fileRes/@fileName"/>

              <set expr="[@md5]" xpath="../../ignored/writer/fileRes/@md5"/>

              <set value="0" xpath="../../ignored/writer/fileRes/@codepage"/>

              <set expr="[@originalName]" xpath="../../ignored/writer/fileRes/@originalName"/>

              <set expr="[@label]" xpath="../../ignored/writer/fileRes/@label"/>

              <set expr="[@internalName]" xpath="../../ignored/writer/fileRes/@internalName"/>

              <set expr="[@contentType]" xpath="../../ignored/writer/fileRes/@contentType"/>

              <set value="1" xpath="../../ignored/writer/fileRes/@useMd5AsFilename"/>

            </leave>

          </form>

        </input>

      </container>

     

      <!-- Image 3 -->

      <container codepage="1252" type="visibleGroup">

        <input fontBold="true" img="nl:sryimage.png" label="Select image 3" type="subFormLink"

               xpath="image3">

          <form editionMode="dialog" entitySchema="xtk:form" img="xtk:form.png" label="File resource"

                name="fileRes3" namespace="xtk" xpathsToLoad="@originalName,@fileName,@md5,@contentType,@codepage,@storageType"

                xpathsToLoadOpt="@publish" xtkschema="xtk:form">

            <enter>

              <soapCall name="GetPublicFileResURL" service="xtk:fileRes">

                <param type="string" xpathOut="/tmp/@publicFileResUrl"/>

              </soapCall>

              <if expr="@internalName=''">

                <set expr="GetOption('XtkInstancePrefix')+'RES'+CounterValue('xtkResource')"

                     xpath="@internalName"/>

              </if>

            </enter>

            <!-- Popup -->

            <container codepage="1252" img="xtk:properties.png" label="General" name="selectAnImage">

              <container codepage="1252" colcount="2">

                <input xpath="@label"/>

                <input xpath="@internalName"/>

              </container>

              <container codepage="1252" form="xtk:fileResUpload" name="dropZone"

                         prebuildSubForm="false" type="fileDropZone">

                <enter name="onClick">

                  <set expr="[/tmp/@uploadFile]" xpath="@originalName"/>

                  <set value="5" xpath="/tmp/@storageType"/>

                </enter>

                <container codepage="1252" label="File" name="actions" type="frame">

                  <!-- Container if no file yet -->

                  <container codepage="1252" name="upload" type="visibleGroup" visibleIf="@loaded==false">

                    <static img="xtk:loginfo.png" label=" " name="helpNotLoaded">The file has not yet been uploaded on the server. You can drag &amp; drop the file here to upload it, or click on the link below.</static>

                    <input form="xtk:fileResUpload" img="xtk:upload.png" label="Upload file to server..."

                           modelessExpr="'$(entityPath)'='/fileRes'" needWriteAccess="true"

                           type="subFormLink" xpath=".">

                      <enter name="onClick">

                        <set value="5" xpath="/tmp/@storageType"/>

                        <set expr="FileDlg(@originalName, 'open')" xpath="/tmp/@uploadFile"/>

                        <set expr="[/tmp/@uploadFile]" xpath="@originalName"/>

                        <if expr="'$(entityPath)'='/fileRes'">

                          <saveView/>

                        </if>

                      </enter>

                    </input>

                  </container>

                  <!-- Container if file uploaded -->

                  <container codepage="1252" name="loaded" type="visibleGroup" visibleIf="@loaded">

                    <static img="xtk:xtkcheck.png" name="helpLoaded" nolabel="true">The file has been uploaded on the server. You can drag &amp; drop it here, or click on the link below to replace the file.</static>

                    <container codepage="1252" name="download">

                      <input form="xtk:fileResDownload" imgExpr="EImg(@userContentType)"

                             labelExpr="FileName(@originalName)" modelessExpr="'$(entityPath)'='/fileRes'"

                             needWriteAccess="true" nolabel="true" type="fileLink"

                             xpath="."/>

                    </container>

                    <container codepage="1252" name="uploadModify">

                      <input form="xtk:fileResUpload" img="xtk:upload.png" label="Change the file on the server..."

                             modelessExpr="'$(entityPath)'='/fileRes'" needWriteAccess="true"

                             nolabel="true" type="subFormLink" xpath=".">

                        <enter name="onClick">

                          <set value="5" xpath="/tmp/@storageType"/>

                          <set expr="FileDlg(@originalName, 'open')" xpath="/tmp/@uploadFile"/>

                          <set expr="[/tmp/@uploadFile]" xpath="@originalName"/>

                          <if expr="'$(entityPath)'='/fileRes'">

                            <saveView/>

                          </if>

                        </enter>

                      </input>

                    </container>

                  </container>

                </container>

              </container>

            </container>

            <!-- On leave -->

            <leave>

              <set value="xtk:fileRes" xpath="../../ignored/writer/fileRes/@xtkschema"/>

              <set value="insert" xpath="../../ignored/writer/fileRes/@_operation"/>

              <if expr="@md5 != ''">

                <set value="insertOrUpdate" xpath="../../ignored/writer/fileRes/@_operation"/>

              </if>

              <set expr="[@fileName]" xpath="../../ignored/writer/fileRes/@fileName"/>

              <set expr="[@md5]" xpath="../../ignored/writer/fileRes/@md5"/>

              <set value="0" xpath="../../ignored/writer/fileRes/@codepage"/>

              <set expr="[@originalName]" xpath="../../ignored/writer/fileRes/@originalName"/>

              <set expr="[@label]" xpath="../../ignored/writer/fileRes/@label"/>

              <set expr="[@internalName]" xpath="../../ignored/writer/fileRes/@internalName"/>

              <set expr="[@contentType]" xpath="../../ignored/writer/fileRes/@contentType"/>

              <set value="1" xpath="../../ignored/writer/fileRes/@useMd5AsFilename"/>

            </leave>

          </form>

        </input>

      </container>

    </container>

  </container>

 

  <!-- on leave the form -->

  <leave name="leave">

    <!--

      customization done directly in nms:delivery,

      because it is not taken into account here.

     (Please keep this comment for documentation purposes)

    -->

  </leave>

</form>

Do you have any idea?

Thank you

Accepted Solutions (1)

Accepted Solutions (1)

Avatar

Avatar
Springboard
MVP
Florian_Courgey
MVP

Likes

93 likes

Total Posts

87 posts

Correct Reply

19 solutions
Top badges earned
Springboard
Validate 1
Establish
Contributor
Ignite 1
View profile

Avatar
Springboard
MVP
Florian_Courgey
MVP

Likes

93 likes

Total Posts

87 posts

Correct Reply

19 solutions
Top badges earned
Springboard
Validate 1
Establish
Contributor
Ignite 1
View profile
Florian_Courgey
MVP

22-10-2018

It's resolved, we changed it to <input xpath="image1"> <input xpath="image2"> <input xpath="image3"> and it is working fine.

Thank you

Answers (0)