29#ifndef Pt_Soap_Client_h
30#define Pt_Soap_Client_h
32#include <Pt/Soap/Api.h>
33#include <Pt/Soap/Fault.h>
34#include <Pt/Soap/Formatter.h>
35#include <Pt/Remoting/Client.h>
36#include <Pt/Xml/InputSource.h>
37#include <Pt/Xml/XmlReader.h>
38#include <Pt/Composer.h>
39#include <Pt/Decomposer.h>
40#include <Pt/Utf8Codec.h>
41#include <Pt/TextStream.h>
50class ServiceDeclaration;
67 void reset(ServiceDeclaration& service);
74 virtual void onBeginCall(
Composer& r, Pt::Remoting::RemoteCall& method,
Decomposer** argv,
unsigned argc);
76 virtual void onEndCall();
78 virtual void onCall(
Composer& r, Pt::Remoting::RemoteCall& method,
Decomposer** argv,
unsigned argc);
90 virtual void onEndInvoke() = 0;
190 ServiceDeclaration* _serviceDef;
191 const Operation* _op;
Composes types during serialization.
Definition Composer.h:101
Manages the decomposition of types during serialization.
Definition Decomposer.h:121
A client for remote procedure calls.
Definition Client.h:48
virtual void onBeginInvoke()=0
An asynchronous remote procedure is invoked.
void beginResult(std::istream &is)
Parses the XML-RPC result.
virtual void onCancel()
Cancels the remote procedure call.
void finishMessage()
Formats the XML-RPC message.
void processResult(std::istream &is)
Parses the XML-RPC result.
bool advanceMessage()
Formats the XML-RPC message.
Client(ServiceDeclaration &service)
Constructor.
virtual ~Client()
Destructor.
void setFault(int rc, const char *msg)
Fails the current procedure.
virtual void onInvoke()=0
A synchronous remote procedure is called.
bool parseResult()
Parses the XML-RPC result.
bool isFailed() const
Indicates if the procedure has failed.
void reset(ServiceDeclaration &service)
Resets the client.
void beginMessage(std::ostream &os)
Formats the XML-RPC message.
XML-RPC fault exception.
Definition Fault.h:44
Convert between unicode and UTF-8.
Definition Utf8Codec.h:44
XML document node.
Definition Node.h:51
Reads XML as a Stream of XML Nodes.
Definition XmlReader.h:80
SOAP services and clients.
Core module.
Definition Allocator.h:33