00001 #ifndef _IT_BUS_CONFIG_HTTP_WSDL_EXTENSION_ELEMENT_H_
00002 #define _IT_BUS_CONFIG_HTTP_WSDL_EXTENSION_ELEMENT_H_
00003
00004
00005
00006
00007 #include <it_wsdl/wsdl_extension_element.h>
00008 #include <it_bus_pdk/xml_node.h>
00009
00010 namespace IT_HTTP
00011 {
00012 class HttpWSDLExtensionFactory;
00013
00017 class IT_BUS_API HttpWSDLExtensionElement
00018 : public IT_WSDL::WSDLExtensionElement,
00019 public IT_Bus::XMLNode
00020 {
00021 public:
00022
00023 HttpWSDLExtensionElement(
00024 IT_HTTP::HttpWSDLExtensionFactory * factory,
00025 IT_WSDL::WSDLExtensibleNode* the_node
00026 );
00027
00046 virtual const IT_Bus::QName &
00047 get_element_name() const;
00048
00055 virtual const IT_Bus::String &
00056 get_target_namespace() const;
00057
00058 virtual
00059 IT_WSDL::WSDLExtensionFactory &
00060 get_extension_factory();
00061
00062 virtual
00063 ~HttpWSDLExtensionElement();
00064
00065 virtual void
00066 read(
00067 const IT_Bus::QName& ,
00068 IT_Bus::ComplexTypeReader &
00069 ) throw((IT_Bus::DeserializationException))
00070 {
00071 throw IT_Bus::DeserializationException("Not Supported");
00072 }
00073
00079 virtual
00080 IT_Bus::AnyType&
00081 copy(
00082 const IT_Bus::AnyType&
00083 )
00084 {
00085 return *this;
00086 }
00087
00088 protected:
00089
00090 IT_WSDL::WSDLExtensibleNode* m_wsdl_extensible_node;
00091
00092 private:
00093
00094 IT_HTTP::HttpWSDLExtensionFactory* m_extension_factory;
00095
00096 HttpWSDLExtensionElement &
00097 operator = (
00098 const HttpWSDLExtensionElement& rhs
00099 );
00100
00101 HttpWSDLExtensionElement(
00102 const HttpWSDLExtensionElement& rhs
00103 );
00104 };
00105 }
00106
00107 #endif