Bueno, acá publico un ejemplo simple de un Web Servicess que implementa spring, para levantar servicios virtuales, con una capa de datos también por inyección de código. Nun, hier ein einfaches Beispiel der öffentlichen Web Servicess, durch eine Feder, um virtuelle Dienstleistungen, mit einer Schicht von Daten auch injiziert Code.
Son mis primeras experiencias, así que las quiero compartir con ustedes, las capas que tengo son: Sie sind meine erste Erfahrung, so möchte ich mit Ihnen teilen, habe ich die Ebenen sind:

Ahora les explico, no tiene gran funcionalidad este ejemplo, ya que solo lo hice para compartir… y no es para ningún desarrollo real. Jetzt erkläre ich, es hat große Funktionalität dieses Beispiel, weil ich mich nur zu teilen ... und nicht für eine wirkliche Entwicklung.
Tengo el I

Sería el CommonTypes, el objeto que voy a transferir, para este caso no tiene mucho sentido, pero más adelante voy a mostrar como consumir un WS por spring.Net, y en este caso si es útil para saber que voy a recibir. Würden CommonTypes das Thema, dass ich mich zu übertragen, in diesem Fall nicht viel Sinn, aber später werde ich zeigen, wie zu konsumieren A spring.Net, und wenn ja, ob es nützlich zu wissen, dass ich erhalten.
Así que es una clase sin nada en particular Es ist also eine Klasse mit nichts insbesondere

….. ... ..

En el DAO, defino las interfaces, así puedo tener un Sql Implementation, Oracle, Xml, lo que quisiera realmente, no hay ningún secreto por ahora. In der DAO, Schnittstellen definieren, so kann ich eine Umsetzung SQL, Oracle, XML, so dass ich wirklich kein Geheimnis, für jetzt.
Ahora veamos las otras dos capas que nos quedan Nun sehen die beiden anderen Schichten, die wir haben

En Entitys, es una interfaz del WebServices… en este caso, es muy simple In Entitys ist eine Schnittstelle WebServices ... in diesem Fall ist sehr einfach

Y en ServiceImplementation, simplemente hay que implementar y codificarlo. Und ServiceImplementation einfach zu implementieren und encodieren.

Bueno ahora vamos a ver, mas sobre este UserService… Nun können Sie mehr über diese ... UserService

Generamos estas propiedades, para asignarle por spring, una instancia del DAO, podría ser de sql, oracle, o lo que quisieran, mientras implementaran la interfaz … Eso es lo que ofrece spring.net Generieren Sie diese Eigenschaften, um im Frühjahr, eine Instanz der DAO könnte SQL, Oracle, oder, was sie wollten, während die Umsetzung des ... Das ist es, was gibt spring.net
En nuestro método, usamos este DAO que asignamos, para traer “x” dato. In unserer Methode, verwenden wir diese DAO legen wir auf die "X"-Daten.

Ahora, solo nos falta configurar el WebServices. Nun benötigen wir nur für die Konfiguration des Web Services.

Generen, una carpeta “X”, con un Xml de configuración, en mi caso “Configuration”, y “webServices.xml”. Erstellen Sie einen Ordner "X" mit einer XML-Konfiguration, in meinem Fall "Configuration" und "webServices.xml.
En este mismo, tenemos que hacer todo el mapping In diesem haben wir zu tun haben, die Zuordnung
<? xml <? Xml
version = “ 1.0 “ version = "1.0"
encoding = “ utf-8 “ ?> encoding = "UTF-8"?>
< objects <Objekte
xmlns = “ http://www.springframework.net “ > xmlns = "http://www.springframework.net">
< description > Servicios Expuestos </ description > <Description> Services Freiliegende </ description>
< object <Objekt
id = “ UserServiceAsmx “ id = "UserServiceAsmx"
type = “ Synnax.Core.WS.UserAuthentication.ServiceImplementation.UserService, Synnax.Core.WS.UserAuthentication.ServiceImplementation “ > type = "Synnax.Core.WS.UserAuthentication.ServiceImplementation.UserService, Synnax.Core.WS.UserAuthentication.ServiceImplementation">
< property <Eigentum
name = “ IUser “ name = "IUser"
ref = “ UserDAO “ /> ref = "UserDAO" />
</ object > </ Object>
< object <Objekt
id = “ UserDAO “ id = "UserDAO"
type = “ Synnax.Core.WS.UserAuthentication.DataAccess.SqlImplementation.UserImpl, Synnax.Core.WS.UserAuthentication.DataAccess.SqlImplementation “ /> type = "Synnax.Core.WS.UserAuthentication.DataAccess.SqlImplementation.UserImpl, Synnax.Core.WS.UserAuthentication.DataAccess.SqlImplementation" />
< object <Objekt
id = “ UserServices “ id = "UserServices"
type = “ Spring.Web.Services.WebServiceExporter, Spring.Web “ > type = "Spring.Web.Services.WebServiceExporter, Spring.Web">
< property <Eigentum
name = “ TargetName “ name = "TargetName"
value = “ UserServiceAsmx “ /> value = "UserServiceAsmx" />
< property <Eigentum
name = “ Namespace “ name = "Namespace"
value = “ http://synnax/services/ “ /> value = "http://synnax/services/" />
< property <Eigentum
name = “ Description “ name = "Beschreibung"
value = “ Web Service de Usuario “ /> value = "Web Service User" />
</ object > </ Object>
</ objects > </ Objekte>
En sí, configuramos un objeto UserDAO , que apunta a la implementación del DAO que queremos, en este caso una para SqlServer, generamos un Objeto “ UserServiceAsmx “, que apunta a la implementación del WS, y como verán le asigno la propiedad IUser, que espera una implementación del DAO, en este caso el UserDAO que configuramos. Als solche haben wir ein Objekt konfigurieren UserDAO, die auf die Umsetzung der DAO wir wollen, in diesem Fall für eine SQLServer, erzeugen wir einen Zweck "UserServiceAsmx," die auf die Umsetzung der war und wird die ihm IUser Eigentum, die Bis zum Inkrafttreten eines DAO, in diesem Fall setzen wir UserDAO.
Y por ultimo generamos un “ UserServices ” que como Target tiene nuestro UserServiceAsmx , esto va a levantar un .asmx “virtual”, en este caso sería un UserServices.asmx. Und schließlich ein "UserServices", die unsere UserServiceAsmx wie Target, es wird ein Aufzug. Asmx "virtuell" in diesem Fall kommt es zu einem UserServices.asmx.
Bueno, como último paso, hay que configurar el Web.Config. Nun, als letzten Schritt, müssen Sie die Datei Web.config.
< configuration > <configuration>
<!– Begin - Necesario para Spring.NET –> <! - Beginn - zu Spring.NET ->
< configSections > <ConfigSections>
< sectionGroup <SectionGroup
name = “ spring “ > name = "spring">
< section <Abschnitt
name = “ context “ name = "Kontext"
type = “ Spring.Context.Support.WebContextHandler, Spring.Web “ /> type = "Spring.Context.Support.WebContextHandler, Spring.Web" />
</ sectionGroup > </ SectionGroup>
</ configSections > </ ConfigSections>
… ...
</ configuration > </ Configuration>
Esto siempre va, dentro de System.Web Dies wird immer innerhalb System.Web
< system.web > <system.web>
<!– Begin - Necesario para Spring.NET –> <! - Beginn - zu Spring.NET ->
< httpHandlers > <httpHandlers>
< add <Add
verb = “ * “ verb = "*"
path = “ *.asmx “ path = "*. asmx"
type = “ Spring.Web.Services.WebServiceHandlerFactory, Spring.Web “ /> type = "Spring.Web.Services.WebServiceHandlerFactory, Spring.Web" />
</ httpHandlers > </ HttpHandlers>
< httpModules > <httpModules>
< add <Add
name = “ Spring “ name = "Frühling"
type = “ Spring.Context.Support.WebSupportModule, Spring.Web “ /> type = "Spring.Context.Support.WebSupportModule, Spring.Web" />
</ httpModules > </ HttpModules>
<!– End - Necesario para Spring.NET –> <! - Ende - Notwendige für Spring.NET ->
… ...
</ system.web > </ System.web>
Es evidente que hace esto, levanta las peticiones que se hacen para los asmx, y el modulo correspondiente para manejar todo esto. Es ist klar, dass dies die Anträge sind für asmx und Module, um all dies.
Y como final, después del nodo de system.web … Und als endgültig nach system.web Knoten ...
</ system.web > </ System.web>
<!– Begin - Necesario para Spring.NET –> <! - Beginn - zu Spring.NET ->
< spring > <Spring>
< context <Hintergrund
type = “ Spring.Context.Support.WebApplicationContext, Spring.Web “ > type = "Spring.Context.Support.WebApplicationContext, Spring.Web">
< resource <Resource
uri = “ ~/Configuration/webServices.xml “ /> uri = "~ / Konfiguration / webServices.xml" />
</ context > </ Context>
</ spring > </ Frühling>
<!– End - Necesario para Spring.NET –> <! - Ende - Notwendige für Spring.NET ->
</ configuration > </ Configuration>
Le asignamos el archivo de configuración, al contexto que estamos usando. Wir weisen Sie die Konfigurationsdatei, die Rahmen, die wir verwenden.
Levantan, y si tipean el nombre alias que apuntamos la implementación del WS, va a andar todo correctamente: Aufgehoben, und wenn der Name tipean alias auf die Umsetzung der WS, dann wird alles glatt gehen:

Bueno, eso fue algo rápido, y que no tenía pensando publicarlo hoy, pero alguien me pidió un ejemplo. Nun, das war etwas schneller und hat nichts dagegen, aber jemand fragte mich ein Beispiel.
Saludos. Grüße.
PD: No se olviden de meter todas las dependencias de spring.net, sino no va a andar nada! PS: Bitte vergessen Sie nicht, alle Einheiten spring.net aber nicht fahren alles! Obvie esos pasos, porque son lógicos. Umgehen Sie diese Schritte, weil sie logisch.
Share and Enjoy: Share and Enjoy: