4#ifndef _Stroika_Framework_WebService_SOAP_h_
5#define _Stroika_Framework_WebService_SOAP_h_ 1
7#include "Stroika/Frameworks/StroikaPreComp.h"
13#include "Stroika/Foundation/Common/KeyValuePair.h"
14#include "Stroika/Foundation/Containers/Sequence.h"
17#include "Stroika/Foundation/Execution/Exceptions.h"
18#include "Stroika/Foundation/IO/Network/Transfer/Connection.h"
22#include "Stroika/Frameworks/WebServer/Message.h"
100 bool operator== (
const Request&)
const =
default;
131 bool operator== (
const Response&)
const =
default;
149 static inline const String kMustUnderstand{
"MustUnderstand"sv};
150 static inline const String kClient{
"Client"sv};
151 static inline const String kServer{
"Server"sv};
173 bool operator== (
const Fault&)
const =
default;
193 nonvirtual
Fault GetFault ()
const;
218#if qStroika_Foundation_DataExchange_XML_SupportParsing and qStroika_Foundation_DataExchange_XML_SupportSchema and qStroika_Foundation_DataExchange_XML_SupportDOM
332 Response
Invoke (
const URI& url,
const String& soapAction,
const Request& request,
const Options& options = {});
334 const Options& options = {});
String is like std::u32string, except it is much easier to use, often much more space efficient,...
A generalization of a vector: a container whose elements are keyed by the natural numbers.
Exception<> is a replacement (subclass) for any std c++ exception class (e.g. the default 'std::excep...
A Fault, thrown: Invoke throws the one a server answers with, and a HandleRequest handler throws one ...
const InternetMediaType kContentType
void DeSerialize(const Memory::BLOB &b, Request *request, const Options &options={})
The SOAP message read: what Serialize writes, and any other's. Throws DataExchange::BadFormatExceptio...
Memory::BLOB Serialize(const Request &request, const Options &options={})
The SOAP message - its XML, UTF-8 - which sends it: a call, its answer, or a fault.
Response Invoke(const URI &url, const String &soapAction, const Request &request, const Options &options={})
Call a method: POST request to url, with soapAction (in quotes, as SOAPAction headers are: section 6....
void HandleRequest(WebServer::Message &m, const function< Response(const Request &)> &handler, const Options &options={})
Answer a call, at its URL's route: 415 (Unsupported Media Type) if its body is not text/xml; else its...
EncodingStyleAttribute
Where Serialize writes SOAP's encodingStyle attribute (http://schemas.xmlsoap.org/soap/encoding/) - w...
How XML is read and written - for now, with which provider - taken last by each XML function (DOM::Do...
A call's answer, the method having not been done: why not (section 4.4) - sent in an HTTP response wh...
nonvirtual String ToString() const
optional< String > fDetail
static const String kVersionMismatch
What SOAP must be told that has a sensible default - taken by Serialize and DeSerialize,...
EncodingStyleAttribute fEncodingStyleAttribute
Where Serialize writes encodingStyle - nowhere, the default, so what is written holds to SOAP's schem...
DataExchange::XML::Schema::Ptr fValidateReadAgainst
Check a message being read against this schema - EnvelopeSchema - throwing where it does not hold; nu...
DataExchange::XML::Options fXMLOptions
How XML is read and written - by default, with Stroika's default provider; nearly always left as is (...
A call of a method (section 7.1): the Body's one element, named the method, in its namespace - its in...
nonvirtual optional< String > LookupArgument(const String &name) const
nonvirtual String ToString() const
A call's answer, the method having been done (section 7.1): the Body's one element,...
nonvirtual optional< String > LookupArgument(const String &name) const
nonvirtual String ToString() const