Consumir Web Services con Spring.net Consuming Web Services mit Spring.net
Bueno, el ejemplo que arme anteriormente, lo publique con el IIS en un directorio virtual llamado WSUserAuthentication Nun, beispielsweise über den Arm, mit der Veröffentlichung in einem virtuellen IIS-Verzeichnis mit dem Namen WSUserAuthentication

Ahora, vamos a armar un cliente que consuma este WS, sin una Web Refence , sino por spring.net. Nun wollen wir noch einen Client, der verbraucht wurde, ohne einen Web-Refence, sondern durch spring.net.
Generamos un nuevo proyecto web, tenemos que refenciar a las librerías de Spring, como también a la interfaz de nuestro Web Services y la capa que genere como “TransferObjects”, que tiene el objeto que va a recibir el cliente. Erstellen Sie ein neues Web-Projekt, wir müssen refenciar die Frühjahrstagung Bibliotheken, sowie der Schnittstelle von unserer Web-Services und der Schicht, das als TransferObjects ", das ist das Objekt, das dem Kunden erhalten.

Habría que pensar cómo vamos a hacer, para versiones posteriores, el control de las versiones de los asemblys, en caso de hacer modificaciones en nuestro WS, una alternativa seria colocarlos en la GAC, para olvidarnos de tener que copiar en todos los desarrollos que llamen al WS, la última versión en caso de necesitarla. Wäre zu denken, wie wir das tun werden später die Kontrolle über die Versionen der asemblys Wenn wir die Veränderungen in der WS, eine Alternative wäre sie in den GAC, zu vergessen, die, um alle Entwicklungen, die Aufforderung WS andalusien, die neueste Version, wenn erforderlich.

En mi caso, genero una carpeta de Configuración, con un Xml de los objetos que consumo en spring, en este caso In meinem Fall habe ich ein Setup-Paket, mit einem der Objekte, die Xml Verbrauch im Frühjahr, in diesem Fall
<? 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 > An example that demonstrates simple IoC features. </ description > <Description> Ein Beispiel, das zeigt einfach IOC-Funktionen. </ Description>
<!– Web Services –> <! - Web Services ->
< object <Objekt
id = “ UsuarioWS “ id = "UsuarioWS"
type = “ Spring.Web.Services.WebServiceProxyFactory, Spring.Services “ > type = "Spring.Web.Services.WebServiceProxyFactory, Spring.Services">
< property <Eigentum
name = “ ServiceUri “ name = "ServiceUri"
value = “ http://localhost/WSUserAuthentication/UserServices.asmx “ value = "http://localhost/WSUserAuthentication/UserServices.asmx"
/> />
< property <Eigentum
name = “ ServiceInterface “ name = "ServiceInterface"
value = “ Synnax.Core.WS.UserAuthentication.Entitys.IUserService, Synnax.Core.WS.UserAuthentication.Entitys ” value = "Synnax.Core.WS.UserAuthentication.Entitys.IUserService, Synnax.Core.WS.UserAuthentication.Entitys"
/> />
</ object > </ Object>
</ objects > </ Objekte>
Genero un objeto, llamado “UsuarioWS”, que es del tiplo del WebServiceProxyFactory, que especificamos la ServiceUri que es donde tenemos corriendo nuestro WS, con el servicio que insumimos, y la interfaz que implementa. Geschlecht ein Objekt namens "UsuarioWS", die Höhen der WebServiceProxyFactory, in denen die ServiceUri, wo wir unsere WS lief, mit dem Service-Ein-und implementiert das Interface.
Definimos el contexto del spring, y la configuracion de los objetos. Wir definieren den Rahmen der Frühling, und die Konfiguration der Objekte.
< configuration > <configuration>
< configSections > <ConfigSections>
< sectionGroup <SectionGroup
name = “ spring “ > name = "spring">
< section <Abschnitt
name = “ context “ name = "Kontext"
type = “ Spring.Context.Support.ContextHandler, Spring.Core “ /> type = "Spring.Context.Support.ContextHandler, Spring.Core" />
</ sectionGroup > </ SectionGroup>
</ configSections > </ ConfigSections>
< appSettings /> <AppSettings />
< connectionStrings /> <ConnectionStrings />
< system.web > <system.web>
< compilation <Compilation
debug = “ false “ > debug = "false">
< assemblies > <assemblies>
< add <Add
assembly = “ Spring.Core, Version=1.1.2.20125, Culture=neutral, PublicKeyToken=65E474D141E25E07 “ /> Montage = "Spring.Core, Version = 1.1.2.20125, Culture = neutral, PublicKeyToken = 65E474D141E25E07" />
< add <Add
assembly = “ Spring.Services, Version=1.1.2.20125, Culture=neutral, PublicKeyToken=65E474D141E25E07 “ /> Montage = "Spring.Services, Version = 1.1.2.20125, Culture = neutral, PublicKeyToken = 65E474D141E25E07" />
< add <Add
assembly = “ Spring.Web, Version=1.1.2.20125, Culture=neutral, PublicKeyToken=65E474D141E25E07 “ /></ assemblies ></ compilation > Montage = "Spring.Web, Version = 1.1.2.20125, Culture = neutral, PublicKeyToken = 65E474D141E25E07" /> </ Assemblies> </ compilation>
< authentication <Authentifizierung
mode = “ Windows “ /> mode = "Windows" />
</ system.web > </ System.web>
< spring > <Spring>
< context > <Context>
< resource <Resource
uri = “ ~/Configuration/Objects.xml “ /> uri = "~ / Konfiguration / Objects.xml" />
</ context > </ Context>
</ spring > </ Frühling>
</ configuration > </ Configuration>
Y desde la aplicación Und seit der Umsetzung
IUserService _ws = ( IUserService ) ContextRegistry .GetContext().GetObject( “UsuarioWS” ); IUserService _ws = (IUserService) ContextRegistry. GetContext (). GetObject ( "UsuarioWS");
lblMessage.Text = _ws.Test(); lblMessage.Text = _ws.Test ();
Con nuestro metodo, Test, como devuelve un string, no hay que castearlo, encambio en el otro metodo tendriamos que estar usando, los objetos de Transfer Objects. Mit unserer Methode, Test, wieder als String, keine Kaste, encambio in die andere Methode wäre mit den Objekten der Transfer Objects.
Les dejo, el ejemplo para que lo vean: Ich überlasse Ihnen, zum Beispiel zu sehen:
Consumiendo Web Services con Spring Consuming Web Services mit Spring
Sepan disculpar, los horrores de ortografía, ya que lo hice rapidito a este post, Saludos! Apologize wissen, die Schrecken der Rechtschreibung, wie ich diesen Post schnell, Grüße!
























