| /* | |
| * Copyright 2003-2004 The Apache Software Foundation. | |
| // (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved | |
| * | |
| * Licensed under the Apache License, Version 2.0 (the "License"); | |
| * you may not use this file except in compliance with the License. | |
| * You may obtain a copy of the License at | |
| * | |
| * http://www.apache.org/licenses/LICENSE-2.0 | |
| * | |
| * Unless required by applicable law or agreed to in writing, software | |
| * distributed under the License is distributed on an "AS IS" BASIS, | |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| * See the License for the specific language governing permissions and | |
| * limitations under the License. | |
| * | |
| */ | |
| /** | |
| * @file Stub.hpp | |
| * | |
| * Contains the Stub base class that all C++ web service stubs inherit | |
| * from. The functions in this Stub base class provides the client | |
| * application some added functionality to manipulate the SOAP messages. | |
| */ | |
| #ifndef STUB_INCLUDED | |
| #define STUB_INCLUDED | |
| /* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */ | |
| /* NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE */ | |
| /* ---------------------------------------------------------------- */ | |
| /* THIS HEADER FILE PATTERNED AFTER CORRESPONDING hpp HEADER FILE. */ | |
| /* CHANGES TO hpp HEADER FILE MAY NEED TO BE PROPAGATED HERE AND IN */ | |
| /* THE IMPLEMEMTATION OF THE C APIS. */ | |
| /* ---------------------------------------------------------------- */ | |
| /* NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE */ | |
| /* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */ | |
| #ifdef __cplusplus | |
| extern "C" { | |
| #endif | |
| #include <stdarg.h> | |
| #include <axis/client/Call.h> | |
| /** | |
| * @class Stub | |
| * | |
| * @brief This is the client Stub base class to be inherited by all stub | |
| * classes genarated by WSDL2WS tool. This class acts as the interface | |
| * between the users and the Axis C++ engine (client side). Programmer | |
| * can use the API defined here to enrich the client application | |
| * functionality. Setting transport properties, setting SOAP headers, | |
| * setting connection timeout and specifying a proxy on the client stub | |
| * is facilitated with this interface. | |
| * | |
| */ | |
| /** | |
| * Constructor. | |
| * | |
| * @param pcEndPointURI End point URI of the service to connect to. | |
| * e.g. http://localhost:8080/axis/services/echo | |
| * @param eProtocol The protocol that this stub should use to communicate | |
| * with the endpoint. See AXIS_PROTOCOL_TYPE in GDefine.h for | |
| * possible values for eProtocol. | |
| */ | |
| AXISC_STORAGE_CLASS_INFO | |
| AXISCHANDLE axiscStubCreate(const char * pcEndPointURI, | |
| AXISC_PROTOCOL_TYPE eProtocol); | |
| /** | |
| * Destructor. | |
| */ | |
| AXISC_STORAGE_CLASS_INFO | |
| void axiscStubDestroy(AXISCHANDLE stub); | |
| /** | |
| * Set end point of service to connect to. | |
| * | |
| * @param pcEndPointURI End point URI of the service to connect to. | |
| * e.g. http://localhost:8080/axis/services/echo | |
| */ | |
| AXISC_STORAGE_CLASS_INFO | |
| void axiscStubSetEndPoint(AXISCHANDLE stub, const char * pcEndPointURI); | |
| /** | |
| * Set transport property. | |
| * | |
| * Handling the semantics of the headers is up to the user. | |
| * The user has to make sure that the key:value paires passed to this method | |
| * would make sense at transport level. | |
| * The Stub class does not validate the key value paires to see if the properties | |
| * make sense to the undelying transport. | |
| * | |
| * Some example transport properties: | |
| * <BR> For HTTP: "Accept-Language: da, en-gb;q=0.8, en;q=0.7" | |
| * <BR> For HTTP: "Cookie: sessiontoken=123345456;" | |
| * <BR> For SMTP: "Reply-To: user@apache.org" | |
| * | |
| * @param pcKey Header name e.g. "Accept-Language". | |
| * Note that the key is not tested for uniqueness. | |
| * One can set several values to the same key and they all will | |
| * appear in the outgoing transport header. | |
| * e.g. If the method is called twise with (k,v1) and (k,v2) | |
| * both k:v1 and k:v2 will appear in transport header as | |
| * seperate properties. | |
| * The exception to this is "Cookie" where multiple cookie values will only result in one "Cookie:" header being sent as is correct for HTTP. | |
| * @param pcValue Header value e.g. "da, en-gb;q=0.8, en;q=0.7" | |
| */ | |
| AXISC_STORAGE_CLASS_INFO | |
| void axiscStubSetTransportProperty(AXISCHANDLE stub, const char * pcKey, | |
| const char * pcValue); | |
| /** | |
| * Get a transport property. | |
| * | |
| * Returns the value of a transport property based on a key. | |
| * | |
| * @param key the property's name to search for | |
| * @param response set to true searches the response message for the property | |
| * set to false searches the send message for the property | |
| * @return the value of the property or NULL if it was not found. | |
| */ | |
| AXISC_STORAGE_CLASS_INFO | |
| const char * axiscStubGetTransportProperty(AXISCHANDLE stub, const char * key, | |
| AxiscBool response); | |
| /** | |
| * Iterator initiatior for transport property keys | |
| * | |
| * This method must be called first to initiate access to the list of | |
| * transport property keys. If you initialise e.g. response then ensure | |
| * that you call this method for outgoing message too if you want the | |
| * outgoing message in future calls. | |
| * | |
| * | |
| * @param response whether the response or outgoing message is being used. | |
| * @return First transport property key. If there are no transport | |
| * properties set, returns NULL. | |
| */ | |
| AXISC_STORAGE_CLASS_INFO | |
| const char * axiscStubGetFirstTransportPropertyKey(AXISCHANDLE stub, AxiscBool response); | |
| /** | |
| * Iterator for transport property keys | |
| * | |
| * getFirstTransportPropertyKey() method must have been called at least once | |
| * before this method is called. If not behaviour is undefined. | |
| * | |
| * This method advances the iterator by one position. | |
| * Repeated calls always retuen the next value. | |
| * | |
| * @param response whether the response or outgoing message should be used | |
| * @return Next transport property key. If there are no transport | |
| * properties set or if iterator is at the end of the list, returns NULL. | |
| */ | |
| AXISC_STORAGE_CLASS_INFO | |
| const char * axiscStubGetNextTransportPropertyKey(AXISCHANDLE stub, AxiscBool response); | |
| /** | |
| * Accessor for transport property keys. | |
| * | |
| * This method gives access to the key corresponding to the transport key | |
| * currently being pointed by transport property key iterator. | |
| * | |
| * getFirstTransportPropertyKey() method must have been called at least once | |
| * before this method is called. If not behaviour is undefined. | |
| * | |
| * This method does not advance the iterator. | |
| * Repeated calls always retuen the same key unless | |
| * getNextTransportPropertyKey() is called in between. | |
| * | |
| * @param response whether the response or outgoing message is being used. | |
| * @return Current transport property key. If there are no transport | |
| * properties set or if iterator is at the end of the list, returns NULL. | |
| */ | |
| AXISC_STORAGE_CLASS_INFO | |
| const char * axiscStubGetCurrentTransportPropertyKey(AXISCHANDLE stub, AxiscBool response); | |
| /** | |
| * Accessor for transport property values. | |
| * | |
| * This method gives access to the value corresponding to the transport key | |
| * currently being pointed by transport property key iterator. | |
| * As keys and values are treated as pairs, access to the value field is | |
| * based on the access to the key field. | |
| * | |
| * getFirstTransportPropertyKey() method must have been called at least once | |
| * before this method is called. It must be called with the same "response" | |
| * value as used here. If not behaviour is undefined. | |
| * | |
| * This method does not advance the iterator. | |
| * Repeated calls always retuen the same value unless | |
| * getNextTransportPropertyKey() is called in between. | |
| * | |
| * @param response whether the response or outgoing message should be used | |
| * @return Current transport property value. If there are no transport | |
| * properties set or if iterator is at the end of the list, returns NULL. | |
| */ | |
| AXISC_STORAGE_CLASS_INFO | |
| const char * axiscStubGetCurrentTransportPropertyValue(AXISCHANDLE stub, AxiscBool response); | |
| /** | |
| * Deletes the transport property key:value pair currently pointed to by | |
| * the iterator. | |
| * @param response true if it's the response property or false for the request | |
| */ | |
| AXISC_STORAGE_CLASS_INFO | |
| void axiscStubDeleteCurrentTransportProperty(AXISCHANDLE stub, AxiscBool response); | |
| /** | |
| * Deletes the given occurance of the transport property key:value pair | |
| * corresponding to the given key. | |
| * | |
| * This method does not advance the iterator in line with the deletes done. | |
| * In case you want to access the transport properties after using this | |
| * method, it is advisable to reinitialize the iterator using | |
| * getFirstTransportPropertyKey(); | |
| * However you can use this method despite where the iterator is | |
| * pointing currently. | |
| * | |
| * NOTE: This method is used to delete individual cookies e.g. deleteTransportProperty("myCookie") will delete the cookie "myCookie" only. | |
| * This method can also be used to delete all Cookies by doing deleteTransportProperty("Cookie"). | |
| * | |
| * @param pcKey Key of the transport property key:value pair to be deleted | |
| * If the given key is not set currently, nothing will happen. | |
| * @param uiOccurance Which occerance of the key to be deleted, because | |
| * there can be multiple values for the same key. | |
| * Default is to delete the first occurance. | |
| * Count starts from 1. | |
| */ | |
| AXISC_STORAGE_CLASS_INFO | |
| void axiscStubDeleteTransportProperty(AXISCHANDLE stub, char * pcKey, | |
| unsigned int uiOccurance); | |
| /** | |
| * Sets a property that can be accessed from a handler. | |
| * | |
| * @param name The name of the property | |
| * @param value The value of the property | |
| * @param len The length of the value | |
| */ | |
| AXISC_STORAGE_CLASS_INFO | |
| void axiscStubSetHandlerProperty(AXISCHANDLE stub, AxiscChar * name, | |
| void * value, | |
| int len); | |
| /** | |
| * Create and add a SOAP header block to the Stub. | |
| * | |
| * This will create a header block that would look like the following when | |
| * serialized: | |
| * \verbatim | |
| <th:TestHeader xmlns:th="http://ws.apache.org/axisCppTest/"> | |
| </th:TestHeader> | |
| \endverbatim | |
| * | |
| * User must use the IHeaderBlock pointer returned and fill in the header structure. | |
| * e.g. To make the SOAP header look like | |
| * \verbatim | |
| <SOAP-ENV:Header> | |
| <th:TestHeader xmlns:th="http://ws.apache.org/axisCppTest/"> | |
| <Credentials> | |
| <username>Test User</username> | |
| <password>Test Password</password> | |
| </Credentials> | |
| </th:TestHeader> | |
| </SOAP-ENV:Header> | |
| \endverbatim | |
| * the following code segment could be used | |
| * <code> | |
| * | |
| * IHeaderBlock *phb = ws.createSOAPHeaderBlock("TestHeader", | |
| * "http://ws.apache.org/axisCppTest/", | |
| * "th"); | |
| * | |
| * | |
| * //create parent node | |
| * | |
| * BasicNode *parentNode = phb->createChild(ELEMENT_NODE); | |
| * | |
| * parentNode->setLocalName("Credentials"); | |
| * | |
| * | |
| * //create child node | |
| * | |
| * BasicNode *childNode = phb->createChild(ELEMENT_NODE); | |
| * | |
| * childNode->setLocalName("username"); | |
| * | |
| * | |
| * //create char node for value | |
| * | |
| * BasicNode *valueNode = phb->createChild(CHARACTER_NODE); | |
| * | |
| * valueNode->setValue("Test User"); | |
| * | |
| * | |
| * //buld node tree | |
| * | |
| * childNode->addChild(valueNode); | |
| * | |
| * parentNode->addChild(childNode); | |
| * | |
| * | |
| * //add another node set | |
| * | |
| * childNode = phb->createChild(ELEMENT_NODE); | |
| * | |
| * childNode->setLocalName("password"); | |
| * | |
| * | |
| * valueNode = phb->createChild(CHARACTER_NODE); | |
| * | |
| * valueNode->setValue("Test Password"); | |
| * | |
| * | |
| * childNode->addChild(valueNode); | |
| * | |
| * parentNode->addChild(childNode); | |
| * | |
| * | |
| * phb->addChild(parentNode); | |
| * </code> | |
| * | |
| * @param pachLocalName Local tag name of the SOAP header. e.g. TestHeader | |
| * @param pachPrefix Prefix to be used in XML represenation of SOAP header | |
| * e.g. th | |
| * @param pachUri Namespace URI to be used in SOAP header. | |
| e.g http://ws.apache.org/axisCppTestHeader/ | |
| * | |
| * @return Pointer to the creater SOAP header block. | |
| */ | |
| AXISC_STORAGE_CLASS_INFO | |
| AXISCHANDLE axiscStubCreateSOAPHeaderBlock(AXISCHANDLE stub, AxiscChar * pachLocalName, | |
| AxiscChar * pachUri, | |
| AxiscChar * pachPrefix); | |
| /** | |
| * Iterator initiatior for SOAP header blocks | |
| * | |
| * This method must be called first to initiate access to the list of | |
| * SOAP header blocks. | |
| * | |
| * @return First SOAP header block pointer. If there are no SOAP header | |
| * blocks set, returns NULL. | |
| */ | |
| AXISC_STORAGE_CLASS_INFO | |
| AXISCHANDLE axiscStubGetFirstSOAPHeaderBlock(AXISCHANDLE stub); | |
| /** | |
| * Iterator for SOAP header blocks | |
| * | |
| * getFirstSOAPHeaderBlock() method must have been called at least once | |
| * before this method is called. If not behaviour is undefined. | |
| * | |
| * This method advances the iterator by one position. | |
| * Repeated calls always retuen the next value. | |
| * | |
| * @return Next SOAP header block pointer. If there are no SOAP header | |
| * blocks set or if iterator is at the end of the list, returns NULL. | |
| */ | |
| AXISC_STORAGE_CLASS_INFO | |
| AXISCHANDLE axiscStubGetNextSOAPHeaderBlock(AXISCHANDLE stub); | |
| /** | |
| * Accessor for SOAP header blocks | |
| * | |
| * This method gives access to the SOAP header block pointer corresponding | |
| * to the SOAP header block currently being pointed by SOAP header blocks | |
| * iterator. | |
| * | |
| * getFirstSOAPHeaderBlock() method must have been called at least once | |
| * before this method is called. If not behaviour is undefined. | |
| * | |
| * This method does not advance the iterator. | |
| * Repeated calls always retuen the same key unless | |
| * getNextSOAPHeaderBlock() is called in between. | |
| * | |
| * @return Current SOAP header block pointer. If there are no SOAP header | |
| * block set or if iterator is at the end of the list, returns NULL. | |
| */ | |
| AXISC_STORAGE_CLASS_INFO | |
| AXISCHANDLE axiscStubGetCurrentSOAPHeaderBlock(AXISCHANDLE stub); | |
| /** | |
| * Deletes the SOAP header block currently pointed to by | |
| * the iterator. | |
| */ | |
| AXISC_STORAGE_CLASS_INFO | |
| void axiscStubDeleteCurrentSOAPHeaderBlock(AXISCHANDLE stub); | |
| /** | |
| * Deletes the given SOAP header block pointer from the current list of | |
| * SOAP header blocks. | |
| * | |
| * This method does a pointer comparison. It does not compare the contents | |
| * within objects. | |
| * Hence it is expected that either the pointer returned by the | |
| * create method or by one of the iterator methods would be used with | |
| * this method. | |
| * | |
| * This method does not advance the iterator in line with the deletes done. | |
| * In case you want to access the SOAP header blocks after using this | |
| * method, it is advisable to reinitialize the iterator using | |
| * getFirstSOAPHeaderBlock(); | |
| * However you can use this method despite where the iterator is | |
| * pointing currently. | |
| * | |
| * @param pHeaderBlock Pointer of the header block to be deleted. | |
| */ | |
| AXISC_STORAGE_CLASS_INFO | |
| void axiscStubDeleteSOAPHeaderBlock(AXISCHANDLE stub, AXISCHANDLE pHeaderBlock); | |
| /** | |
| * Set proxy server and port for transport. | |
| * | |
| * @param pcProxyHost Host name of proxy server | |
| * @param uiProxyPort Port of proxy server | |
| */ | |
| AXISC_STORAGE_CLASS_INFO | |
| void axiscStubSetProxy(AXISCHANDLE stub, const char * pcProxyHost, | |
| unsigned int uiProxyPort); | |
| /** | |
| * Set transport timeout. | |
| * | |
| * @param lSeconds Timeout in seconds. | |
| * If lSeconds is 0, then the transport will assume no | |
| * timeout. Hence you want to reset a timeout already set | |
| * use 0. | |
| */ | |
| AXISC_STORAGE_CLASS_INFO | |
| void axiscStubSetTransportTimeout(AXISCHANDLE stub, long lSeconds); | |
| /** | |
| * Set transport connect timeout. | |
| * | |
| * @param lSeconds Timeout in seconds. | |
| * If lSeconds is 0, then the transport will assume no | |
| * timeout. Hence you want to reset a timeout already set | |
| * use 0. | |
| */ | |
| AXISC_STORAGE_CLASS_INFO | |
| void axiscStubSetTransportConnectTimeout(AXISCHANDLE stub, long lSeconds); | |
| /** | |
| * Get the status of the stub to see any error situation | |
| */ | |
| AXISC_STORAGE_CLASS_INFO | |
| int axiscStubGetStatus(AXISCHANDLE stub); | |
| /** | |
| * Set whether to Maintain session with service ot not. | |
| * @param bSession - true if session should be maintained. False otherwise. | |
| */ | |
| AXISC_STORAGE_CLASS_INFO | |
| void axiscStubSetMaintainSession(AXISCHANDLE stub, AxiscBool bSession); | |
| /** | |
| * Set transport protocol to be used by the transport. | |
| * @param eProtocol - protocol to use | |
| */ | |
| AXISC_STORAGE_CLASS_INFO | |
| void axiscStubSetTransportProtocol(AXISCHANDLE stub, AXISC_PROTOCOL_TYPE eProtocol); | |
| /** | |
| * Get transport protocol being used by the transport. | |
| * @return Protocol used by transport | |
| */ | |
| AXISC_STORAGE_CLASS_INFO | |
| AXISC_PROTOCOL_TYPE axiscStubGetTransportProtocol(AXISCHANDLE stub); | |
| /** | |
| * Sets the username to be used for basic authentication | |
| */ | |
| AXISC_STORAGE_CLASS_INFO | |
| void axiscStubSetUsername(AXISCHANDLE stub, const char * pcUsername); | |
| /** | |
| * Sets the password to be used for basic authentication | |
| */ | |
| AXISC_STORAGE_CLASS_INFO | |
| void axiscStubSetPassword(AXISCHANDLE stub, const char * pcPassword); | |
| /** | |
| * Sets the username to be used for Proxy authentication | |
| */ | |
| AXISC_STORAGE_CLASS_INFO | |
| void axiscStubSetProxyUsername(AXISCHANDLE stub, const char * pcProxyUsername); | |
| /** | |
| * Sets the password to be used for Proxy authentication | |
| */ | |
| AXISC_STORAGE_CLASS_INFO | |
| void axiscStubSetProxyPassword(AXISCHANDLE stub, const char * pcProxyPassword); | |
| /** | |
| * Call object of the Stub. This is the point of access to the internals | |
| * of the Axis engine. | |
| */ | |
| AXISC_STORAGE_CLASS_INFO | |
| AXISCHANDLE axiscStubGetCall(AXISCHANDLE stub); | |
| /** | |
| * Creates an ISoapAttachment which represents an attachment. The ISoapAttachment should be passed as | |
| * an attachmment parameter to a web service. The storage associated with the ISoapAttachment will be | |
| * automatically deleted by Axis C++ if it is passed as a parameter to a web service. | |
| */ | |
| AXISC_STORAGE_CLASS_INFO | |
| AXISCHANDLE axiscStubCreateSoapAttachment(AXISCHANDLE stub); | |
| /** | |
| * Set SSL configuration properties. | |
| */ | |
| AXISC_STORAGE_CLASS_INFO | |
| void axiscStubSetSecure(AXISCHANDLE stub, char * pszArguments, | |
| ... ); | |
| /** | |
| * Set pointer to exception handler function for stub object. | |
| * This function was added in support of the c-Binding implementation. | |
| */ | |
| AXISC_STORAGE_CLASS_INFO | |
| void axiscStubSetCExceptionHandler(AXISCHANDLE stub, void * pExceptionHandler); | |
| /** | |
| * Get pointer to exception handling function for call object. | |
| * This function was added in support of the c-Binding implementation. | |
| */ | |
| AXISC_STORAGE_CLASS_INFO | |
| void * axiscStubGetCExceptionHandler(AXISCHANDLE stub); | |
| /** | |
| * Apply user set preferences to each call made on the Stub object. | |
| * This method is required because Axis engine holds only part of the state | |
| * with refereance to subsequent calls on the same Stub object. | |
| * Foxing this approach would make the engine much more efficient. | |
| */ | |
| AXISC_STORAGE_CLASS_INFO | |
| void axiscStubApplyUserPreferences(AXISCHANDLE stub); | |
| /** | |
| * Apply SSL configuration properties. | |
| */ | |
| AXISC_STORAGE_CLASS_INFO | |
| void axiscStubIncludeSecure(AXISCHANDLE stub); | |
| /** | |
| * Set SOAP Headers stored in m_vSOAPHeaderBlock vector. | |
| * Called by applyUserPreferences for each and every method invocation. | |
| */ | |
| AXISC_STORAGE_CLASS_INFO | |
| void axiscStubSetSOAPHeaders(AXISCHANDLE stub); | |
| /** | |
| * Check for extraneous elements. Called at the end of SOAP processing | |
| * to ensure that there are no extraneous elements. Will throw an | |
| * exception if extraneous elements are detected. | |
| */ | |
| AXISC_STORAGE_CLASS_INFO | |
| void axiscStubCheckForExtraneousElements(AXISCHANDLE stub); | |
| /** | |
| * ============= | |
| * Following is not in stub C++ class but is here to make things easier for C users. | |
| * ============= | |
| */ | |
| /** | |
| * Indicates whether transport is to automatically handle http redirects. | |
| * By default, redirects are not handled by the transport. If enabled, | |
| * auto-redirect will only occur when going from http to http or https to https. | |
| * | |
| * @param handleRedirect false=no auto-redirect. true=handle redirect automatically. | |
| * @param maxCount how many redirects to follow. Default is 1. A value less than 1 | |
| * is the same as setting handleRedirect to false. | |
| * | |
| */ | |
| AXISC_STORAGE_CLASS_INFO | |
| void axiscStubSetTransportAutoRedirect(AXISCHANDLE stub, AxiscBool handleRedirect, int maxCount); | |
| /** | |
| * Add namespace to SOAP header. | |
| * | |
| * @param pUri The namespace uri . | |
| * @param pPrefix The prefix to associate with the uri. | |
| */ | |
| AXISC_STORAGE_CLASS_INFO | |
| void axiscStubAddNamespaceToSOAPHeader(AXISCHANDLE stub, | |
| const AxiscChar * pUri, | |
| const AxiscChar * pPrefix); | |
| /** | |
| * Clears SOAP header namespaces. | |
| */ | |
| AXISC_STORAGE_CLASS_INFO | |
| void axiscStubClearSOAPHeaderNamespaces(AXISCHANDLE stub); | |
| /** | |
| * Add attribute to SOAP header. | |
| * | |
| * @param pLocalname The local name of the Attribute. | |
| * @param pPrefix The prefix of the Attribute. | |
| * @param pValue The value of the Attribute. | |
| */ | |
| AXISC_STORAGE_CLASS_INFO | |
| void axiscStubAddAttributeToSOAPHeader(AXISCHANDLE stub, | |
| const AxiscChar * pLocalname, | |
| const AxiscChar * pPrefix, | |
| const AxiscChar * pValue); | |
| /** | |
| * Clears SOAP header attributes. | |
| */ | |
| AXISC_STORAGE_CLASS_INFO | |
| void axiscStubClearSOAPHeaderAttributes(AXISCHANDLE stub); | |
| /** | |
| * Add namespace to SOAP body. | |
| * | |
| * @param pUri The namespace uri . | |
| * @param pPrefix The prefix to associate with the uri. | |
| */ | |
| AXISC_STORAGE_CLASS_INFO | |
| void axiscStubAddNamespaceToSOAPBody(AXISCHANDLE stub, | |
| const AxiscChar * pUri, | |
| const AxiscChar * pPrefix); | |
| /** | |
| * Clears SOAP body namespaces. | |
| */ | |
| AXISC_STORAGE_CLASS_INFO | |
| void axiscStubClearSOAPBodyNamespaces(AXISCHANDLE stub); | |
| /** | |
| * Add attribute to SOAP body. | |
| * | |
| * @param pLocalname The local name of the Attribute. | |
| * @param pPrefix The prefix of the Attribute. | |
| * @param pUri The namespace uri of the Attribute. | |
| * @param pValue The value of the Attribute. | |
| */ | |
| AXISC_STORAGE_CLASS_INFO | |
| void axiscStubAddAttributeToSOAPBody(AXISCHANDLE stub, | |
| const AxiscChar * pLocalname, | |
| const AxiscChar * pPrefix, | |
| const AxiscChar * pValue); | |
| /** | |
| * Clears SOAP body attributes. | |
| */ | |
| AXISC_STORAGE_CLASS_INFO | |
| void axiscStubClearSOAPBodyAttributes(AXISCHANDLE stub); | |
| #ifdef __cplusplus | |
| } | |
| #endif | |
| #endif /* STUB_INCLUDED */ |