wsdl_document.h

Go to the documentation of this file.
00001 
00002 #ifndef header_wsdl_document
00003 #define header_wsdl_document
00004 
00005 #include <vector>
00006 
00007 class WSDLTypes;
00008 class WSDLSchema;
00009 class WSDLMessage;
00010 class WSDLPart;
00011 class WSDLPortType;
00012 class WSDLBinding;
00013 class WSDLBindingOperation;
00014 class WSDLPort;
00015 class WSDLService;
00016 class WSDLOperation;
00017 
00019 class WSDLDocument
00020 {
00021 public:
00022 
00026         CL_DomDocument get_document();
00027 
00031         WSDLTypes get_types();
00032 
00033         std::vector<WSDLMessage> get_messages();
00034 
00035         std::vector<WSDLPortType> get_port_types();
00036 
00037         std::vector<WSDLOperation> get_operations();
00038 
00039         std::vector<WSDLBinding> get_bindings();
00040 
00041         std::vector<WSDLService> get_services();
00042 };
00043 
00045 class WSDLTypes
00046 {
00047 public:
00048         std::vector<WSDLSchema> get_schemas();
00049 };
00050 
00052 class WSDLSchema
00053 {
00054 public:
00055 
00059         CL_DomString get_target_namespace() const;
00060 
00064         CL_DomElement get_element();
00065 };
00066 
00068 class WSDLMessage
00069 {
00070 public:
00071 
00075         CL_DomString get_name() const;
00076         std::vector<WSDLPart> get_parts() const;
00077 };
00078 
00080 class WSDLPart
00081 {
00082 public:
00083 
00087         CL_DomString get_name() const;
00088 
00092         CL_DomString get_type() const;
00093 };
00094 
00096 class WSDLPortType
00097 {
00098 public:
00099 
00103         CL_DomString get_name() const;
00104         std::vector<WSDLOperation> get_operations() const;
00105 };
00106 
00108 class WSDLOperation
00109 {
00110 public:
00111 
00115         CL_DomString get_name() const;
00116         std::vector<CL_DomString> get_parameter_order() const;
00117 
00121         CL_DomString get_input_name();
00122 
00126         CL_DomString get_input_message();
00127 
00131         CL_DomString get_output_name();
00132 
00136         CL_DomString get_output_message();
00137 
00141         CL_DomString get_fault_name();
00142 
00146         CL_DomString get_fault_message();
00147 };
00148 
00150 class WSDLBinding
00151 {
00152 public:
00153 
00157         CL_DomString get_name() const;
00158 
00162         CL_DomString get_soap_style() const;
00163 
00167         CL_DomString get_soap_transport() const;
00168         std::vector<WSDLBindingOperation> get_operations() const;
00169 };
00170 
00172 class WSDLBindingOperation
00173 {
00174 public:
00175 
00179         CL_DomString get_soap_action() const;
00180 
00184         CL_DomString get_input_name() const;
00185 
00189         CL_DomString get_input_soap_encoding_style() const;
00190 
00194         CL_DomString get_input_namespace() const;
00195 
00199         CL_DomString get_input_use() const;
00200 
00204         CL_DomString get_output_name() const;
00205 
00209         CL_DomString get_output_soap_encoding_style() const;
00210 
00214         CL_DomString get_output_namespace() const;
00215 
00219         CL_DomString get_output_use() const;
00220 
00224         CL_DomString get_fault_name() const;
00225 
00229         CL_DomString get_fault_soap_encoding_style() const;
00230 
00234         CL_DomString get_fault_namespace() const;
00235 
00239         CL_DomString get_fault_use() const;
00240 };
00241 
00243 class WSDLService
00244 {
00245 public:
00246 
00250         CL_DomString get_name() const;
00251         std::vector<WSDLPort> get_ports() const;
00252 };
00253 
00255 class WSDLPort
00256 {
00257 public:
00258 
00262         CL_DomString get_name() const;
00263 
00267         CL_DomString get_binding() const;
00268 
00272         CL_DomString get_soap_address_location() const;
00273 };
00274 
00275 /*
00276 definitions
00277   targetNamespace="http:/blablabla"
00278   xmlns="http:
00279   xmlns:namespace="http:/blablabla"
00280   xmlns:wsdlsoap="http:
00283   types
00284     schema targetNamespace="http:/blablabla-standard-types" xmlns="http:
00285       <--XMLSchema here-->
00286     schema targetNamespace="http:/blablabla" xmlns="http:
00287       <--XMLSchema here-->
00288 
00289   message name="FuncNameRequest"
00290     part name="ParamName" type="xsd:string"
00291 
00292   portType name="PortName"
00293     operation name="FuncName" parameterOrder="params list"
00294       input message="namespace:FuncNameRequest" name="FuncNameRequest"
00295       output message="namespace:FuncNameResposne" name="FuncNameResponse"
00296       fault message="namespace:SomeException" name="SomeException"
00297       fault message="namespace:SomeOtherException" name="SomeOtherException"
00298 
00299   binding name="Binding" type="namespace:PortName"
00300     wsdlsoap:binding style="rpc" transport="http:
00301     operation name="FuncName"
00302       wsdlsoap:operation soapAction=""
00303       input name="FuncNameRequest"
00304         wsdlsoap:body encodingStyle="http:
00305       output name="FuncNameResponse"
00306         wsdlsoap:body encodingStyle="http:
00307       fault name="SomeException"
00308         wsdlsoap:body encodingStyle="http:
00309       fault name="SomeOtherException"
00310         wsdlsoap:body encodingStyle="http:
00312   service name="TestWebService"
00313     port binding="namespace:Binding" name="PortName"
00314       wsdlsoap:address location="http:
00315 */
00316 #endif

Generated on Thu Dec 3 02:39:33 2009 for ClanLib by  doxygen 1.4.6