Skip to content

Cherwell bug with 0x18 characters in some entities #3

@wapcaplet

Description

@wapcaplet

Cherwell gets an internal exception with certain entities, making it (as far as I can tell) impossible to retrieve them from the SOAP API. For example, here's the result of fetching a specific 'Customer' object that has a perfectly valid RecId, but which includes the hexadecimal character 0x18 inside the customer data that should be returned:

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <soap:Body>
    <soap:Fault>
      <faultcode>soap:Server</faultcode>
      <faultstring>Server was unable to process request. ---&gt; '&#x18;', hexadecimal value 0x18, is an invalid character.</faultstring>
      <detail />
    </soap:Fault>
  </soap:Body>
</soap:Envelope>

Even worse, this leads to Savon being unable to properly construct (or even inspect) the SoapFault exception; the error handling examples don't work as expected:

begin
  result = @client.call_wrap(method, body)
rescue Savon::SOAPFault => error
  puts error.to_hash # nil, instead of a hash
  puts error.inspect # exception deep inside nori
end

This condition should be handled better by cherby.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions