Boolean value case sensitive in SOAP web services calls
search cancel

Boolean value case sensitive in SOAP web services calls

book

Article ID: 424333

calendar_today

Updated On:

Products

CA Service Management - Service Desk Manager CA Service Catalog CA Service Desk Manager CA IT Asset Manager CA IT Asset Manager Asset Portfolio Management

Issue/Introduction

Leveraging the Service Catalog RequestService and finding that the boolean value for the parameter includeRequestDetails is case sensitive

CXF Web Services Call:  http://CAT-SERVER:8080/usm/webservices/RequestService

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:usmRequestService">
   <soapenv:Header/>
   <soapenv:Body>
      <urn:sendRequestEmail>
         <urn:sessionID>XXXX</urn:sessionID>
         <urn:requestId>XXXX</urn:requestId>
         <urn:includeRequestDetails>true</urn:includeRequestDetails>
         <urn:emailFromAddress>XXXX</urn:emailFromAddress>
         <urn:emailFromName>XXXX</urn:emailFromName>
         <urn:emailTo>XXXX</urn:emailTo>
         <urn:emailCC>XXXX</urn:emailCC>
         <urn:emailBCC>XXXX</urn:emailBCC>
         <urn:emailSubject>XXXX</urn:emailSubject>
         <urn:emailMessage>XXXX</urn:emailMessage>
      </urn:sendRequestEmail>
   </soapenv:Body>
</soapenv:Envelope>

 

The details of the given Catalog request do not get sent if the parameter is given a value of "TRUE" or "True", but does work if given a value of "true".  This did not appear to be the case with Axis web services calls.

Environment

Release:  17.4 RU2 or above
CA Service Management (CXF Web Services)

Cause

XML specifications limit the values that the Boolean parameter can accept.

Resolution

The W3 XML standard for Boolean accepts the literals {true, false, 1, 0}.  Any other value would be rejected. 

This is a standard that Service Management is following for web services and it will not be possible to modify the product to allow case insensitive values, such as "True" or "TRUE".