Clarity Service Management

Expand all | Collapse all

Catalog saveRequestForm Method

Jump to Best Answer
  • 1.  Catalog saveRequestForm Method

    Posted 09-28-2018 11:54 AM

    I´m using the webservice method saveRequestForm to fill in request forms via ITPAM process.

    I have some form fields that are dropdown and checking database for a form filled in the catalog interface, checking the dropdown field value I see something like this:

    Acesso. Acesso VPN| Acesso VPN

    Where the first part is the hidden value of dropdown ad the part after pipe(|) is the visible value in form after submission.

     In webservice I´m doing a call like this:

    <soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://services.soap.usm.ca.com">
    <soapenv:Header/>
    <soapenv:Body>
    <ser:saveRequestForm soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <sessionID xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">beed30b8-c350-4372-a617-3be641d9879a</sessionID>
    <subscriptionDetailID xsi:type="xsd:int">33272</subscriptionDetailID>
    <formValuesData xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">cbCategoriaN2:Acesso. Acesso VPN| Acesso VPN</formValuesData>
    </ser:saveRequestForm>
    </soapenv:Body>
    </soapenv:Envelope>

    But my response in this case is:

    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <soapenv:Body>
    <soapenv:Fault>
    <faultcode>soapenv:Server.generalException</faultcode>
    <faultstring>Acesso VPN is not a form data</faultstring>
    <detail>
    <ns1:exceptionName xmlns:ns1="http://xml.apache.org/axis/">com.ca.usm.soap.axisInterfaces.ItemNotFoundException</ns1:exceptionName>
    <ns2:hostname xmlns:ns2="http://xml.apache.org/axis/">BAYSRVHSM02</ns2:hostname>
    </detail>
    </soapenv:Fault>
    </soapenv:Body>
    </soapenv:Envelope>

     

    The webservice is treating the pipe(|) as a form field separator.

    Someone know how can I save the dropdown form in this case?



  • 2.  Re: Catalog saveRequestForm Method

    Posted 09-28-2018 01:07 PM

    What is the version of Service Catalog you are using ??

     

    14.1 or 17.1



  • 3.  Re: Catalog saveRequestForm Method

    Posted 09-28-2018 01:13 PM

    17.1 



  • 4.  Re: Catalog saveRequestForm Method
    Best Answer

    Posted 10-01-2018 01:59 AM

    Good Morning Paulo.

     

    Solution vertical Bar:
    ======================
    Here's what we should be doing to handle the '|', which is used by CA Service Catalog as the delimiter.
    We should be using ~ in place of |.
    See the sample snippet below:
    <ser:saveRequestForm
    soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <sessionID
    xsi:type="xsd:string">0b87de4b82c7e348be332df9159ae603e3a93928</sessionID>
    <subscriptionDetailID xsi:type="xsd:int">10602</subscriptionDetailID>
    <formValuesData xsi:type="xsd:string">id1:10138~IncrSize</formValuesData>
    </ser:saveRequestForm>

    Here, the requirement is to pass '10138|Increase Mailbox Size' and hence it's passed as '10138~Increase Mailbox Size'

    Please try it out and let me know, if it addresses the issue in question.

     

    Kind regards, Louis.



  • 5.  Re: Catalog saveRequestForm Method

    Posted 10-03-2018 01:56 PM

    Hi Louis

    I tested and it worked well

    Thanks