SoupSoapMessage

SoupSoapMessage — A SOAP request

Synopsis




                    SoupSoapMessage;
SoupSoapMessage*    soup_soap_message_new               (const char *method,
                                                         const char *uri_string,
                                                         gboolean standalone,
                                                         const char *xml_encoding,
                                                         const char *env_prefix,
                                                         const char *env_uri);
SoupSoapMessage*    soup_soap_message_new_from_uri      (const char *method,
                                                         const SoupUri *uri,
                                                         gboolean standalone,
                                                         const char *xml_encoding,
                                                         const char *env_prefix,
                                                         const char *env_uri);
void                soup_soap_message_start_envelope    (SoupSoapMessage *msg);
void                soup_soap_message_end_envelope      (SoupSoapMessage *msg);
void                soup_soap_message_start_body        (SoupSoapMessage *msg);
void                soup_soap_message_end_body          (SoupSoapMessage *msg);
void                soup_soap_message_start_element     (SoupSoapMessage *msg,
                                                         const char *name,
                                                         const char *prefix,
                                                         const char *ns_uri);
void                soup_soap_message_end_element       (SoupSoapMessage *msg);
void                soup_soap_message_start_fault       (SoupSoapMessage *msg,
                                                         const char *faultcode,
                                                         const char *faultstring,
                                                         const char *faultfactor);
void                soup_soap_message_end_fault         (SoupSoapMessage *msg);
void                soup_soap_message_start_fault_detail
                                                        (SoupSoapMessage *msg);
void                soup_soap_message_end_fault_detail  (SoupSoapMessage *msg);
void                soup_soap_message_start_header      (SoupSoapMessage *msg);
void                soup_soap_message_end_header        (SoupSoapMessage *msg);
void                soup_soap_message_start_header_element
                                                        (SoupSoapMessage *msg,
                                                         const char *name,
                                                         gboolean must_understand,
                                                         const char *actor_uri,
                                                         const char *prefix,
                                                         const char *ns_uri);
void                soup_soap_message_end_header_element
                                                        (SoupSoapMessage *msg);
void                soup_soap_message_write_int         (SoupSoapMessage *msg,
                                                         glong i);
void                soup_soap_message_write_double      (SoupSoapMessage *msg,
                                                         double d);
void                soup_soap_message_write_base64      (SoupSoapMessage *msg,
                                                         const char *string,
                                                         int len);
void                soup_soap_message_write_time        (SoupSoapMessage *msg,
                                                         const time_t *timeval);
void                soup_soap_message_write_string      (SoupSoapMessage *msg,
                                                         const char *string);
void                soup_soap_message_write_buffer      (SoupSoapMessage *msg,
                                                         const char *buffer,
                                                         int len);
void                soup_soap_message_set_element_type  (SoupSoapMessage *msg,
                                                         const char *xsi_type);
void                soup_soap_message_set_null          (SoupSoapMessage *msg);
void                soup_soap_message_add_attribute     (SoupSoapMessage *msg,
                                                         const char *name,
                                                         const char *value,
                                                         const char *prefix,
                                                         const char *ns_uri);
void                soup_soap_message_add_namespace     (SoupSoapMessage *msg,
                                                         const char *prefix,
                                                         const char *ns_uri);
void                soup_soap_message_set_default_namespace
                                                        (SoupSoapMessage *msg,
                                                         const char *ns_uri);
void                soup_soap_message_set_encoding_style
                                                        (SoupSoapMessage *msg,
                                                         const char *enc_style);
void                soup_soap_message_reset             (SoupSoapMessage *msg);
void                soup_soap_message_persist           (SoupSoapMessage *msg);
const char*         soup_soap_message_get_namespace_prefix
                                                        (SoupSoapMessage *msg,
                                                         const char *ns_uri);
xmlDocPtr           soup_soap_message_get_xml_doc       (SoupSoapMessage *msg);
SoupSoapResponse*   soup_soap_message_parse_response    (SoupSoapMessage *msg);

Object Hierarchy


  GObject
   +----SoupMessage
         +----SoupSoapMessage

Description

Details

SoupSoapMessage

typedef struct _SoupSoapMessage SoupSoapMessage;


soup_soap_message_new ()

SoupSoapMessage*    soup_soap_message_new               (const char *method,
                                                         const char *uri_string,
                                                         gboolean standalone,
                                                         const char *xml_encoding,
                                                         const char *env_prefix,
                                                         const char *env_uri);

Creates a new empty SoupSoapMessage, which will connect to uri_string.

method : the HTTP method for the created request.
uri_string : the destination endpoint (as a string).
standalone : ??? FIXME
xml_encoding : ??? FIXME
env_prefix : ??? FIXME
env_uri : ??? FIXME
Returns : the new SoupSoapMessage (or NULL if uri_string could not be parsed).

soup_soap_message_new_from_uri ()

SoupSoapMessage*    soup_soap_message_new_from_uri      (const char *method,
                                                         const SoupUri *uri,
                                                         gboolean standalone,
                                                         const char *xml_encoding,
                                                         const char *env_prefix,
                                                         const char *env_uri);

Creates a new empty SoupSoapMessage, which will connect to uri

method : the HTTP method for the created request.
uri : the destination endpoint (as a SoupUri).
standalone : ??? FIXME
xml_encoding : ??? FIXME
env_prefix : ??? FIXME
env_uri : ??? FIXME
Returns : the new SoupSoapMessage

soup_soap_message_start_envelope ()

void                soup_soap_message_start_envelope    (SoupSoapMessage *msg);

Starts the top level SOAP Envelope element.

msg : the SoupSoapMessage.

soup_soap_message_end_envelope ()

void                soup_soap_message_end_envelope      (SoupSoapMessage *msg);

Closes the top level SOAP Envelope element.

msg : the SoupSoapMessage.

soup_soap_message_start_body ()

void                soup_soap_message_start_body        (SoupSoapMessage *msg);

Starts the SOAP Body element.

msg : the SoupSoapMessage.

soup_soap_message_end_body ()

void                soup_soap_message_end_body          (SoupSoapMessage *msg);

Closes the SOAP Body element.

msg : the SoupSoapMessage.

soup_soap_message_start_element ()

void                soup_soap_message_start_element     (SoupSoapMessage *msg,
                                                         const char *name,
                                                         const char *prefix,
                                                         const char *ns_uri);

Starts a new arbitrary message element, with name as the element name, prefix as the XML Namespace prefix, and ns_uri as the XML Namespace uri for * the created element.

Passing prefix with no ns_uri will cause a recursive search for an existing namespace with the same prefix. Failing that a new ns will be created with an empty uri.

Passing both prefix and ns_uri always causes new namespace attribute creation.

Passing NULL for both prefix and ns_uri causes no prefix to be used, and the element will be in the default namespace.

msg : the SoupSoapMessage.
name : the element name.
prefix : the namespace prefix
ns_uri : the namespace URI

soup_soap_message_end_element ()

void                soup_soap_message_end_element       (SoupSoapMessage *msg);

Closes the current message element.

msg : the SoupSoapMessage.

soup_soap_message_start_fault ()

void                soup_soap_message_start_fault       (SoupSoapMessage *msg,
                                                         const char *faultcode,
                                                         const char *faultstring,
                                                         const char *faultfactor);

Starts a new SOAP Fault element, creating faultcode, faultstring, and faultfactor child elements.

If you wish to add the faultdetail element, use soup_soap_message_start_fault_detail(), and then soup_soap_message_start_element() to add arbitrary sub-elements.

msg : the SoupSoapMessage.
faultcode : faultcode element value
faultstring : faultstring element value
faultfactor : faultfactor element value

soup_soap_message_end_fault ()

void                soup_soap_message_end_fault         (SoupSoapMessage *msg);

Closes the current SOAP Fault element.

msg : the SoupSoapMessage.

soup_soap_message_start_fault_detail ()

void                soup_soap_message_start_fault_detail
                                                        (SoupSoapMessage *msg);

Start the faultdetail child element of the current SOAP Fault element. The faultdetail element allows arbitrary data to be sent in a returned fault.

msg : the SoupSoapMessage.

soup_soap_message_end_fault_detail ()

void                soup_soap_message_end_fault_detail  (SoupSoapMessage *msg);

Closes the current SOAP faultdetail element.

msg : the SoupSoapMessage.

soup_soap_message_start_header ()

void                soup_soap_message_start_header      (SoupSoapMessage *msg);

Creates a new SOAP Header element. You can call soup_soap_message_start_header_element() after this to add a new header child element. SOAP Header elements allow out-of-band data to be transferred while not interfering with the message body.

This should be called after soup_soap_message_start_envelope() and before soup_soap_message_start_body().

msg : the SoupSoapMessage.

soup_soap_message_end_header ()

void                soup_soap_message_end_header        (SoupSoapMessage *msg);

Closes the current SOAP Header element.

msg : the SoupSoapMessage.

soup_soap_message_start_header_element ()

void                soup_soap_message_start_header_element
                                                        (SoupSoapMessage *msg,
                                                         const char *name,
                                                         gboolean must_understand,
                                                         const char *actor_uri,
                                                         const char *prefix,
                                                         const char *ns_uri);

Starts a new SOAP arbitrary header element.

msg : the SoupSoapMessage.
name : name of the header element
must_understand : whether the recipient must understand the header in order to proceed with processing the message
actor_uri : the URI which represents the destination actor for this header.
prefix : the namespace prefix
ns_uri : the namespace URI

soup_soap_message_end_header_element ()

void                soup_soap_message_end_header_element
                                                        (SoupSoapMessage *msg);

Closes the current SOAP header element.

msg : the SoupSoapMessage.

soup_soap_message_write_int ()

void                soup_soap_message_write_int         (SoupSoapMessage *msg,
                                                         glong i);

Writes the stringified value of i as the current element's content.

msg : the SoupSoapMessage.
i : the integer value to write.

soup_soap_message_write_double ()

void                soup_soap_message_write_double      (SoupSoapMessage *msg,
                                                         double d);

Writes the stringified value of d as the current element's content.

msg : the SoupSoapMessage.
d : the double value to write.

soup_soap_message_write_base64 ()

void                soup_soap_message_write_base64      (SoupSoapMessage *msg,
                                                         const char *string,
                                                         int len);

Writes the Base-64 encoded value of string as the current element's content.

msg : the SoupSoapMessage
string : the binary data buffer to encode
len : the length of data to encode

soup_soap_message_write_time ()

void                soup_soap_message_write_time        (SoupSoapMessage *msg,
                                                         const time_t *timeval);

Writes the stringified value of timeval as the current element's content.

msg : the SoupSoapMessage.
timeval : pointer to a time_t to encode

soup_soap_message_write_string ()

void                soup_soap_message_write_string      (SoupSoapMessage *msg,
                                                         const char *string);

Writes the string as the current element's content.

msg : the SoupSoapMessage.
string : string to write.

soup_soap_message_write_buffer ()

void                soup_soap_message_write_buffer      (SoupSoapMessage *msg,
                                                         const char *buffer,
                                                         int len);

Writes the string buffer pointed to by buffer as the current element's content.

msg : the SoupSoapMessage.
buffer : the string data buffer to write.
len : length of buffer.

soup_soap_message_set_element_type ()

void                soup_soap_message_set_element_type  (SoupSoapMessage *msg,
                                                         const char *xsi_type);

Sets the current element's XML schema xsi:type attribute, which specifies the element's type name.

msg : the SoupSoapMessage.
xsi_type : the type name for the element.

soup_soap_message_set_null ()

void                soup_soap_message_set_null          (SoupSoapMessage *msg);

Sets the current element's XML Schema xsi:null attribute.

msg : the SoupSoapMessage.

soup_soap_message_add_attribute ()

void                soup_soap_message_add_attribute     (SoupSoapMessage *msg,
                                                         const char *name,
                                                         const char *value,
                                                         const char *prefix,
                                                         const char *ns_uri);

Adds an XML attribute to the current element.

msg : the SoupSoapMessage.
name : name of the attribute
value : value of the attribute
prefix : the namespace prefix
ns_uri : the namespace URI

soup_soap_message_add_namespace ()

void                soup_soap_message_add_namespace     (SoupSoapMessage *msg,
                                                         const char *prefix,
                                                         const char *ns_uri);

Adds a new XML namespace to the current element.

msg : the SoupSoapMessage.
prefix : the namespace prefix
ns_uri : the namespace URI, or NULL for empty namespace

soup_soap_message_set_default_namespace ()

void                soup_soap_message_set_default_namespace
                                                        (SoupSoapMessage *msg,
                                                         const char *ns_uri);

Sets the default namespace to the URI specified in ns_uri. The default namespace becomes the namespace all non-explicitly namespaced child elements fall into.

msg : the SoupSoapMessage.
ns_uri : the namespace URI.

soup_soap_message_set_encoding_style ()

void                soup_soap_message_set_encoding_style
                                                        (SoupSoapMessage *msg,
                                                         const char *enc_style);

Sets the encodingStyle attribute on the current element to the value of enc_style.

msg : the SoupSoapMessage.
enc_style : the new encodingStyle value

soup_soap_message_reset ()

void                soup_soap_message_reset             (SoupSoapMessage *msg);

Resets the internal XML representation of the SOAP message.

msg : the SoupSoapMessage.

soup_soap_message_persist ()

void                soup_soap_message_persist           (SoupSoapMessage *msg);

Writes the serialized XML tree to the SoupMessage's buffer.

msg : the SoupSoapMessage.

soup_soap_message_get_namespace_prefix ()

const char*         soup_soap_message_get_namespace_prefix
                                                        (SoupSoapMessage *msg,
                                                         const char *ns_uri);

Returns the namespace prefix for ns_uri (or an empty string if ns_uri is set to the default namespace)

msg : the SoupSoapMessage.
ns_uri : the namespace URI.
Returns : The namespace prefix, or NULL if no namespace exists for the URI given.

soup_soap_message_get_xml_doc ()

xmlDocPtr           soup_soap_message_get_xml_doc       (SoupSoapMessage *msg);

Returns the internal XML representation tree of the SoupSoapMessage pointed to by msg.

msg : the SoupSoapMessage.
Returns : the xmlDocPtr representing the SOAP message.

soup_soap_message_parse_response ()

SoupSoapResponse*   soup_soap_message_parse_response    (SoupSoapMessage *msg);

Parses the response returned by the server.

msg : the SoupSoapMessage.
Returns : a SoupSoapResponse representing the response from the server, or NULL if there was an error.