killbill-client-java
killbill-client-java copied to clipboard
KillBillHttpClient failing to deserialize some errors
There seems to be a problem handling some errors, specifically unpacking the returned error. This is the stack track I'm seeing:
org.killbill.billing.client.KillBillClientException: com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "stacktrace" (class org.killbill.billing.client.BillingException), not marked as ignorable (6 known properties: "className", "message", "causeClassName", "code", "causeMessage", "stackTrace"]) at [Source: (ByteArrayInputStream); line: 1, column: 11023] (through reference chain: org.killbill.billing.client.BillingException["stacktrace"]) at
org.killbill.billing.client.KillBillHttpClient.unmarshalResponse(KillBillHttpClient.java:492) at
org.killbill.billing.client.KillBillHttpClient.deserializeResponse(KillBillHttpClient.java:420) at
org.killbill.billing.client.KillBillHttpClient.throwExceptionOnResponseError(KillBillHttpClient.java:397) at
org.killbill.billing.client.KillBillHttpClient.doPrepareRequestInternal(KillBillHttpClient.java:351) at
org.killbill.billing.client.KillBillHttpClient.doPrepareRequest(KillBillHttpClient.java:298) at
org.killbill.billing.client.KillBillHttpClient.doPost(KillBillHttpClient.java:220) at
org.killbill.billing.client.KillBillHttpClient.doPost(KillBillHttpClient.java:215) at
org.killbill.billing.client.KillBillHttpClient.doPost(KillBillHttpClient.java:211) at
It looks like the response that came back doesn't deserialize into the BillingException class, and jackson is failing. The actual error is something to do with the Stripe plugin, my call was to /plugins/killbill-stripe/checkout and I probably haven't configured Stripe properly. I can go fix that but KillBillHttpClient should unpack the error anyway, and there are possibly other cases where the returned error doesn't fit.
This is on killbill-client-java-1.2.1