00001 #ifndef _IT_BUS_CONFIG_SOAP_WSDL_BINDING_H_ 00002 #define _IT_BUS_CONFIG_SOAP_WSDL_BINDING_H_ 00003 00004 // @Copyright 2004 IONA Technologies, Plc. All Rights Reserved. 00005 // 00006 00007 #include <it_bus_config/soap_wsdl_extension_element.h> 00008 #ifndef IT_MINIMISE_INCLUDES 00009 #include <it_wsdl/wsdl_port.h> 00010 #endif 00011 00012 namespace IT_WSDL 00013 { 00014 class WSDLPort; 00015 } 00016 namespace IT_Bus 00017 { 00022 class IT_SOAP_API SoapWSDLBinding : public SoapWSDLExtensionElement 00023 { 00024 public: 00025 SoapWSDLBinding( 00026 IT_WSDL::WSDLExtensibleNode * parent 00027 ); 00028 virtual ~SoapWSDLBinding(); 00029 00051 const String & 00052 get_soap_transport_type() const; 00053 00075 const String & 00076 get_soap_style() const; 00077 00078 bool 00079 parse( 00080 const XMLIterator & element_iterator, 00081 const IT_Bus::XMLNode & element, 00082 IT_WSDL::WSDLErrorHandler & error_handler 00083 ); 00084 00092 static const SoapWSDLBinding* 00093 get_from_port( 00094 const IT_WSDL::WSDLPort& wsdl_port 00095 ); 00096 00102 virtual void 00103 write_attributes( 00104 IT_Bus::XMLOutputStream& stream 00105 ) const throw((IOException)); 00106 00107 virtual void 00108 read( 00109 const IT_Bus::QName& /*element_name*/, 00110 IT_Bus::ComplexTypeReader& /*reader*/ 00111 ) throw((IT_Bus::DeserializationException)); 00112 00113 virtual void 00114 write( 00115 const IT_Bus::QName& /*element_name*/, 00116 IT_Bus::ComplexTypeWriter& /*writer*/ 00117 ) const throw((IT_Bus::SerializationException)); 00118 00119 virtual void 00120 write( 00121 IT_Bus::XMLOutputStream & stream 00122 ) const throw((IT_Bus::IOException)); 00123 00127 virtual IT_Bus::AnyType& 00128 operator=( 00129 const IT_Bus::AnyType& /*rhs*/ 00130 ); 00131 00132 private: 00133 00134 SoapWSDLBinding & 00135 operator = ( 00136 const SoapWSDLBinding& rhs 00137 ); 00138 00139 SoapWSDLBinding ( 00140 const SoapWSDLBinding& rhs 00141 ); 00142 00143 String m_soap_namespace; 00144 String m_soap_transport; 00145 String m_soap_style; 00146 }; 00147 } 00148 00149 #endif