00001 #ifndef _IT_BUS_CONFIG_XML_FORMAT_WSDL_BODY_H_
00002 #define _IT_BUS_CONFIG_XML_FORMAT_WSDL_BODY_H_
00003
00004
00005
00006
00007 #ifndef IT_MINIMISE_INCLUDES
00008 #include <it_wsdl/wsdl_port.h>
00009 #endif
00010
00011 #include <it_wsdl/wsdl_extension_element.h>
00012
00013 #if !defined(IT_SOAP_API)
00014 #if defined(IT_SOAP_API_EXPORT)
00015 #define IT_SOAP_API IT_DECLSPEC_EXPORT
00016 #else
00017 #define IT_SOAP_API IT_DECLSPEC_IMPORT
00018 #endif
00019 #endif
00020
00021 namespace IT_Bus
00022 {
00028 class IT_SOAP_API XMLFormatWSDLBody :
00029 public IT_WSDL::WSDLExtensionElement,
00030 public XMLNode
00031 {
00032 public:
00033
00034 XMLFormatWSDLBody(
00035 IT_WSDL::WSDLExtensibleNode & parent
00036 );
00037
00038 virtual ~XMLFormatWSDLBody();
00039
00040
00041 bool
00042 parse(
00043 const XMLIterator & element_iterator,
00044 const IT_Bus::XMLNode & element,
00045 IT_WSDL::WSDLErrorHandler & error_handler
00046 );
00047
00048 virtual void
00049 read(
00050 const IT_Bus::QName& ,
00051 IT_Bus::ComplexTypeReader&
00052 ) throw((IT_Bus::DeserializationException))
00053 {
00054 throw IT_Bus::DeserializationException("Not Supported");
00055 }
00056
00057 virtual void
00058 write(
00059 const IT_Bus::QName& ,
00060 IT_Bus::ComplexTypeWriter&
00061 ) const throw((IT_Bus::SerializationException))
00062 {
00063
00064 }
00065
00071 const QName &
00072 get_root_node_name() const;
00073
00077 virtual void
00078 write_attributes(
00079 IT_Bus::XMLOutputStream & stream
00080 ) const throw((IOException));
00081
00087 virtual const IT_Bus::QName &
00088 get_element_name() const;
00089
00096 virtual const IT_Bus::String &
00097 get_target_namespace() const;
00098
00099 virtual
00100 IT_WSDL::WSDLExtensionFactory &
00101 get_extension_factory();
00102
00103 virtual void
00104 write(
00105 IT_Bus::XMLOutputStream & stream
00106 ) const throw((IOException));
00107
00113 virtual
00114 IT_Bus::AnyType&
00115 copy(
00116 const IT_Bus::AnyType&
00117 )
00118 {
00119 return *this;
00120 }
00121
00122 protected:
00123
00124 IT_WSDL::WSDLExtensibleNode & m_wsdl_extensible_node;
00125
00126 private:
00127
00128 QName m_root_name;
00129
00130 XMLFormatWSDLBody &
00131 operator = (
00132 const XMLFormatWSDLBody& rhs
00133 );
00134
00135 XMLFormatWSDLBody (
00136 const XMLFormatWSDLBody& rhs
00137 );
00138 };
00139 }
00140
00141 #endif