Implements SOAP 1.1 messaging over a transport. More...
#include <xmltooling/soap/SOAPClient.h>
Public Member Functions | |
SOAPClient (bool validate=false) | |
Constructor. | |
void | setValidating (bool validate=true) |
Controls schema validation of incoming XML messages. | |
virtual void | send (const Envelope &env, const xmltooling::SOAPTransport::Address &addr) |
Sends the supplied envelope to the identified recipient/endpoint. | |
virtual Envelope * | receive () |
Returns the response message, if any. | |
virtual void | reset () |
Resets the object for another call. | |
Protected Member Functions | |
virtual void | prepareTransport (xmltooling::SOAPTransport &transport) |
Allows client to supply transport-layer settings prior to sending message. | |
virtual bool | handleFault (const soap11::Fault &fault) |
Handling of SOAP faults. | |
Protected Attributes | |
bool | m_validate |
Flag controlling schema validation. | |
xmltooling::SOAPTransport * | m_transport |
Holds response until retrieved by caller. |
Implements SOAP 1.1 messaging over a transport.
In the abstract, this can be a one-way exchange, or use asynchronous transports, but this is mostly theoretical at this point.
soap11::SOAPClient::SOAPClient | ( | bool | validate = false |
) |
Constructor.
validate | true iff schema validation should be used |
virtual bool soap11::SOAPClient::handleFault | ( | const soap11::Fault & | fault | ) | [protected, virtual] |
virtual void soap11::SOAPClient::prepareTransport | ( | xmltooling::SOAPTransport & | transport | ) | [protected, virtual] |
Allows client to supply transport-layer settings prior to sending message.
transport | reference to transport layer |
virtual Envelope* soap11::SOAPClient::receive | ( | ) | [virtual] |
Returns the response message, if any.
As long as a response is "expected" but not available, nullptr will be returned. If no response will be forthcoming, an exception is raised.
The caller is responsible for freeing the returned envelope.
virtual void soap11::SOAPClient::send | ( | const Envelope & | env, | |
const xmltooling::SOAPTransport::Address & | addr | |||
) | [virtual] |
Sends the supplied envelope to the identified recipient/endpoint.
The client object will instantiate a transport layer object appropriate for the endpoint URL provided and supply it to the prepareTransport() method below.
To authenticate the server end, the transport layer object exposes a method to load a TrustEngine and CredentialResolver in a subclass-specific version of the prepareTransport() method.
env | SOAP envelope to send | |
addr | addressing information |
void soap11::SOAPClient::setValidating | ( | bool | validate = true |
) |
Controls schema validation of incoming XML messages.
This is separate from other forms of programmatic validation of objects, but can detect a much wider range of syntax errors.
validate | true iff the client should use a validating XML parser |
xmltooling::SOAPTransport* soap11::SOAPClient::m_transport [protected] |
Holds response until retrieved by caller.
bool soap11::SOAPClient::m_validate [protected] |
Flag controlling schema validation.