final Request req = builder.sendRequest(request.toString(), new RequestCallback() {
@Override
public void onResponseReceived(@Nullable final Request req, @Nullable final Response res) {
requests.remove(req);
if (res.getStatusCode() != Response.SC_OK) {
callback.onError(new RequestException("Invalid status "+res.getStatusCode()+": "+res.getStatusText()));
return;
}
final XMLPacket response = XMLBuilder.fromXML(res.getText());
if (response == null || !"body".equals(response.getTagName())){
callback.onError(new RequestException("Bad response: " + res.getText()));
return;
}
callback.onSuccess(response);
}