Rogue Wave banner
Previous fileTop of DocumentContentsIndex pageNext file
HydraExpress Web Service Reference Guide
Rogue Wave web site:  Home Page  |  Main Documentation Page

rwsf::CallInfo

Group:  Handler


rwsf::CallInfo rwsf::MessageProperties

Local Index

Members

Header File

#include <rw/rwsf/soapworx/CallInfo.h>

Description

An instance of rwsf::CallInfo contains data about a message, including session or transaction data, SOAP headers, or transport headers. This class can also be used to hold any other desired data relevant to this SOAP message. A rwsf::CallInfo object is passed from the client to the transport on the client side, and from the servlet to the skeleton and down to the service implementation on the server side.

Each callinfo object is automatically initialized with three attributes: a rwsf:SessionID, a rwsf:Session, and a rwsf:RequestURL, while all other elements are optional. If no transport header is defined in this class, the default transport type is HTTP. (See rwsf::Transport.) Any number of headers or other objects may be added to the callinfo object.

Each service operation method takes a callinfo object as a parameter. A callinfo object carries data as a key/value pair. Each key is a simple string identifier. Each value is a rwsf::Attribute.

Additional SOAP headers or transport headers may be added or deleted at any point during processing. Any headers attached to the request message will appear as requestHeaders in the callInfo object. Likewise, any headers returning to the client in the response message will show up as responseHeaders.

The service operation methods in the generated client proxy are overloaded with either a callInfo object as a parameter or not, as follows:

If your message does not contain any customized headers or objects, there is no need to pass the callInfo object throughout the service, so you may want to use the first method when creating your proxy.

Public Constructors

CallInfo();

Destructor

~CallInfo();

Public Member Data

struct SoapHeaderObject {
     SoapHeaderObject();

     bool operator==(const SoapHeaderObject& obj) const;

      rwsf::XmlName         name_;
      std::string           value_;
      std::string           type_;
      bool                  mustUnderstand_;
      std::string           actor_;
      rwsf::XmlAttributeSet attributes_;
    };
struct TransportHeaderObject {
      TransportHeaderObject();

      bool operator==(const TransportHeaderObject& obj) const;

      std::string name_;
      std::string value_;
    };

Public Member Functions

void 
addRequestAttachment(const rwsf::MessageAttachment& a);
void 
addParameter(const ParameterObject& p);
void 
addRequestSoapHeader(const rwsf::XmlName& headerName, 
                     const std::string& value,
                     bool mustUnderstand = false,
                     const std::string& actor = "");
                   const XmlAttributeSet& attrs =
XmlAttributeSet());
void 
addRequestSoapHeader(const rwsf::XmlName& headerName, 
                     const std::string& value,
                     const char *type,
                     bool mustUnderstand = false,
                     const std::string& actor = "");
                   const XmlAttributeSet& attrs =
XmlAttributeSet());
void 
addRequestSoapHeader(const rwsf::XmlName& headerName, 
                     const std::string& value,
                     const std::string& type,
                     bool mustUnderstand = false,
                     const std::string& actor = "");
                   const XmlAttributeSet& attrs =
XmlAttributeSet());
void 
addRequestTransportHeader(const std::string& name,
                          const std::string& value);
void 
addResponseAttachment(const rwsf::MessageAttachment& a);
void 
addResponseSoapHeader(const rwsf::XmlName& headerName, 
                      const std::string& value,
                      bool mustUnderstand = false,
                      const std::string& actor = "");
                    const XmlAttributeSet& attrs =
XmlAttributeSet());
void 
addResponseSoapHeader(const rwsf::XmlName& headerName, 
                        const std::string& value,
                        const char *type,
                        bool mustUnderstand = false,
                        const std::string& actor = "");
                      const XmlAttributeSet& attrs =
XmlAttributeSet());
void 
addResponseSoapHeader(const rwsf::XmlName& headerName, 
                      const std::string& value,
                      const std::string& type,
                      bool mustUnderstand = false,
                      const std::string& actor = "");
                      const XmlAttributeSet& attrs =
                           XmlAttributeSet());
void 
addResponseTransportHeader(const std::string& name, 
                           const std::string& value);
void 
clearAll();
void 
clearParameters(); 
void 
clearRequestAttachments(); 
void 
clearRequestSoapHeaders();
void 
clearRequestTransportHeaders();
void 
clearResponseAttachments(); 
void 
clearResponseSoapHeaders();
void 
clearResponseTransportHeaders();
rwsf::Attribute 
get(const std::string& attributeName) const;
rwsf::Enumeration<std::string> 
getAttributeNames() const;
std::string 
getMethodEncoding();
rwsf::XmlName 
getMethodName();
ParameterObject 
getParameterObject(const rwsf::XmlName& name) const;
std::list<rwsf::CallInfo::ParameterObject>& 
getParameters() const;
rwsf::MessageAttachment 
getRequestAttachment(const std::string& reference) const;
std::list<rwsf::MessageAttachment>&
 getRequestAttachments() const;
rwsf::MessageMarshaller 
getRequestMessageMarshaller() const;
rwsf::Enumeration<rwsf::XmlName> 
getRequestSoapHeaderNames() const;
SoapHeaderObject 
getRequestSoapHeaderObject(const rwsf::XmlName& name) const;
std::string 
getRequestSoapHeaderValue(const rwsf::XmlName& headerName) const;
rwsf::Enumeration<TransportHeaderObject>
getRequestTransportHeaders() const; 
rwsf::Enumeration<std::string> 
getRequestTransportHeaderNames() const;
TransportHeaderObject 
getRequestTransportHeaderObject(const std::string& name) const;
std::string 
getRequestTransportHeaderValue(const std::string& name) const;
rwsf::MessageAttachment 
getResponseAttachment(const std::string& reference) const;
std::list<rwsf::MessageAttachment>&
getResponseAttachments() const;
rwsf::Enumeration<rwsf::XmlName> 
getResponseSoapHeaderNames() const;
SoapHeaderObject 
getResponseSoapHeaderObject(const rwsf::XmlName& name) const;
std::string 
getResponseSoapHeaderValue(const rwsf::XmlName& headerName) const;
rwsf::Enumeration<TransportHeaderObject> 
getResponseTransportHeaderNames() const;
rwsf::Enumeration<TransportHeaderObject>
getResponseTransportHeaders() const;
TransportHeaderObject 
getResponseTransportHeaderObject(const std::string& name)
const;
std::string 
getResponseTransportHeaderValue(const std::string& name) const;
bool 
isMarshal();
bool 
isOneWay() const;
bool 
isRequestSoapHeaderSet(const rwsf::XmlName& headerName) const;
bool 
isRequestTransportHeaderSet(const std::string& name) const;
bool 
isResponseSoapHeaderSet(const rwsf::XmlName& headerName) const;
bool 
isResponseTransportHeaderSet(const std::string& name) const;
void 
put(const std::string& attributeName, const rwsf::Attribute& value);
void 
removeParameter(const rwsf::XmlName& name);
void 
removeResponseSoapHeader(const rwsf::XmlName& headerName);
void 
removeRequestAttachment(const std::string& reference);
void 
removeRequestSoapHeader(const rwsf::XmlName& headerName);
void 
removeRequestTransportHeader(const std::string& name);
void 
removeResponseAttachment(const std::string& reference);
void 
removeResponseTransportHeader(const std::string& name);
void 
setIsMarshal(bool isMarshal);
void 
setMethodEncoding(const std::string& encoding); 
void 
setMethodName(const rwsf::XmlName& method);
void 
setIsOneWay(const bool isOneWay);
std::string 
soapRequestHeadersAsString(
const std::string& soapEnvPrefix = "SOAP-ENV") const;
std::string 
soapResponseHeadersAsString(
const std::string& soapEnvPrefix = "SOAP-ENV") const;

Nested Class: Parameter Object

ParameterObject();
~ParameterObject();
ParameterObject(const rwsf::XmlName& name);
bool 
operator==(const ParameterObject& obj) const;
std::string 
getValue() 
void 
setValue(const std::string& value)
void 
appendValue(const std::string& value)
size_t 
valueEntries()
std::listIterator<std::string> 
getValues()

Static Variables

rwsf::XmlName name_
bool isParameter_             
bool isSimple_ 
bool isAttachment_
std::string type_
rwsf::XmlReader rdr_


Previous fileTop of DocumentContentsIndex pageNext file

©2004-2007 Copyright Quovadx, Inc. All Rights Reserved.
Quovadx and Rogue Wave are registered trademarks of Quovadx, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.
Contact Rogue Wave about documentation or support issues.