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

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions