use thiserror::Error;
#[cfg(test)]
mod test_utils;
mod types;
pub use types::*;
#[cfg(feature = "interop")]
pub mod interop;
#[derive(Debug, Error)]
pub enum Error {
#[error("failed to serialize structure as XML")]
Serialize(#[from] xml_struct::Error),
#[error("failed to deserialize structure from XML")]
Deserialize(#[from] serde_path_to_error::Error<quick_xml::DeError>),
#[error("invalid XML document")]
InvalidXml(#[from] quick_xml::Error),
#[error("unexpected response body")]
UnexpectedResponse(Vec<u8>),
#[error("a fault occurred in the request")]
RequestFault(Box<soap::Fault>),
#[error("unknown server version: {0}")]
UnknownServerVersion(String),
}