6. SOAP tīmekļa pakalpju ģenerēšana ar “Contract-First” pieeju

Problēmas apraksts

Izstrādājot SOAP tīmekļa pakalpju lietotnes standarta veidā ar “Code-First” pieeju, gala rezultātā tīmekļa pakalpes specifikācijas aprakstošais wsdl tiek ģenerēts no projekta koda (c#).

Izmantojot šādu pieeju rodas problēmas, tāpēc ka tīmekļa pakalpes funkciju kontrakts ir fiksēts pašā sākumā (ieejošie un izejošie parametri aprakstīti xsd dokumentos). Tas saistīts ar to, ka ne vienmēr ir iespējams pilnīgi precīzi veikt transformāciju no xsd uz c# kodu, piemēram, xs:sequence, saglabājot pareizu elementu secību, xs:choice, kā arī dažādus deklaratīvus ierobežojumus (constraints).

Šajā nodaļā tiks aprakstīts pa soļiem, kā izstrādāt tīmekļa pakalpi, ģenerējot wsdl no sākumā dotām ieejas un izejas parametrus aprakstošām xml shēmām. t.i., pie sākumā fiksētā kontrakta. Risinājuma pieeja balstīta uz http://msdn.microsoft.com/en-us/magazine/ee335699.aspx.