SoupSoapMessage

SoupSoapMessage — A SOAP request/response

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.