00001 #ifndef _SOAP_WSDL_OPERATION_H_
00002 #define _SOAP_WSDL_OPERATION_H_
00003
00004 #ifndef IT_MINIMISE_INCLUDES
00005 #include <it_wsdl/wsdl_binding_operation.h>
00006 #endif
00007 #include <it_bus/types.h>
00008 #include <it_bus_config/soap_wsdl_extension_element.h>
00009
00010 namespace IT_Bus
00011 {
00016 class IT_SOAP_API SoapWSDLOperation : public SoapWSDLExtensionElement
00017 {
00018 public:
00019
00020 SoapWSDLOperation(
00021 IT_WSDL::WSDLExtensibleNode * the_node
00022 );
00023
00024 ~SoapWSDLOperation();
00025
00026 bool
00027 parse(
00028 const XMLIterator & element_iterator,
00029 const IT_Bus::XMLNode & element,
00030 IT_WSDL::WSDLErrorHandler & error_handler
00031 );
00032
00033 virtual void
00034 read(
00035 const IT_Bus::QName& ,
00036 IT_Bus::ComplexTypeReader&
00037 ) throw((IT_Bus::DeserializationException))
00038 {
00039 throw IOException("Not Supported");
00040 }
00041
00042 virtual void
00043 write(
00044 const IT_Bus::QName& ,
00045 IT_Bus::ComplexTypeWriter&
00046 ) const throw((IT_Bus::SerializationException))
00047 {
00048
00049 }
00050
00051 virtual void
00052 write(
00053 IT_Bus::XMLOutputStream & stream
00054 ) const throw((IT_Bus::IOException));
00055
00078 const String &
00079 get_soap_action() const;
00080
00103 const String &
00104 get_soap_style() const;
00105
00109 virtual void
00110 write_attributes(
00111 IT_Bus::XMLOutputStream & stream
00112 ) const throw((IOException));
00113
00117 virtual
00118 IT_Bus::AnyType&
00119 operator=(
00120 const IT_Bus::AnyType&
00121 )
00122 {
00123 return *this;
00124 }
00125
00126 protected:
00127
00128 bool
00129 accept_attribute(
00130 const char * raw_name,
00131 const char * namespace_uri,
00132 const char * value
00133 );
00134
00135 private:
00136
00137 String m_soap_action;
00138
00139 String m_soap_style;
00140
00141 SoapWSDLOperation &
00142 operator = (
00143 const SoapWSDLOperation& rhs
00144 );
00145
00146 SoapWSDLOperation(
00147 const SoapWSDLOperation& rhs
00148 );
00149 };
00150 }
00151
00152
00153 #endif