System.Collections.ListofTips System.Collections.ListofTips

May 17, 2008 17 de maio de 2008

Consumir Web Services con Spring.net Consumir Web Services com Spring.net

Filed under: Spring.net — José Franco @ 8:14 pm Arquivado sob: Spring.net - Jose Franco @ 8:14

Bueno, el ejemplo que arme anteriormente, lo publique con el IIS en un directorio virtual llamado WSUserAuthentication Bem, o braço exemplo acima, com a publicação, em um diretório virtual do IIS chamado WSUserAuthentication

Ahora, vamos a armar un cliente que consuma este WS, sin una Web Refence , sino por spring.net. Agora, vamos construir um cliente que consome este foi sem um Web Refence mas por 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. Criar um novo projeto web, temos de refenciar da Primavera bibliotecas, bem como a interface do nosso Web Services e da camada que gera como TransferObjects ", que é o objeto que o cliente irá receber.

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. Teria que pensar como vamos fazer isso mais tarde, o controle das versões do asemblys, se fizermos mudanças na WS, uma alternativa seria colocá-los no GAC, nos esquecer de ter que copiar todos os desenvolvimentos que a chamada WS andaluzia, a versão mais recente se necessário.

En mi caso, genero una carpeta de Configuración, con un Xml de los objetos que consumo en spring, en este caso No meu caso, eu gerar uma configuração do pacote, com um dos objetos que Xml consumo na primavera, no presente caso

<? xml <? Xml
version =1.0 version = "1.0"
encoding =utf-8?> encoding = "utf-8"?>

< objects <Objetos
xmlns =http://www.springframework.net> xmlns = "http://www.springframework.net">

< description > An example that demonstrates simple IoC features. </ description > <Description> Um exemplo simples que demonstra COI funcionalidades. </ Description>

<!– Web Services –> <! - Web Services ->

< object <Objeto
id =UsuarioWS id = "UsuarioWS"


type =Spring.Web.Services.WebServiceProxyFactory, Spring.Services> type = "Spring.Web.Services.WebServiceProxyFactory, Spring.Services">

< property <Imóvel


name =ServiceUri name = "ServiceUri"


value =http://localhost/WSUserAuthentication/UserServices.asmx valor = "http://localhost/WSUserAuthentication/UserServices.asmx"

/> />

< property <Imóvel


name =ServiceInterface name = "ServiceInterface"


value =Synnax.Core.WS.UserAuthentication.Entitys.IUserService, Synnax.Core.WS.UserAuthentication.Entitys valor = "Synnax.Core.WS.UserAuthentication.Entitys.IUserService, Synnax.Core.WS.UserAuthentication.Entitys"

/> />

</ object > </ Object>

</ objects > </ Objectos>

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. Sexo um objeto chamado "UsuarioWS", que é triplicar a WebServiceProxyFactory, que especificam os ServiceUri onde decorreu a nossa era, com as entradas de serviço e implementa a interface.

Definimos el contexto del spring, y la configuracion de los objetos. Nós definir o contexto da Primavera, e na configuração dos objetos.

< configuration > <configuration>

< configSections > <ConfigSections>

< sectionGroup <SectionGroup
name =spring> name = "Primavera">

< section <Seção
name =context name = "contexto"
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 <Compilação
debug =false> debug = "false">

< assemblies > <Assemblies>

< add <Adicionar
assembly =Spring.Core, Version=1.1.2.20125, Culture=neutral, PublicKeyToken=65E474D141E25E07/> montagem = "Spring.Core, Version = 1.1.2.20125, Culture = neutral, PublicKeyToken = 65E474D141E25E07" />

< add <Adicionar
assembly =Spring.Services, Version=1.1.2.20125, Culture=neutral, PublicKeyToken=65E474D141E25E07/> montagem = "Spring.Services, Version = 1.1.2.20125, Culture = neutral, PublicKeyToken = 65E474D141E25E07" />

< add <Adicionar
assembly =Spring.Web, Version=1.1.2.20125, Culture=neutral, PublicKeyToken=65E474D141E25E07/></ assemblies ></ compilation > montagem = "Spring.Web, Version = 1.1.2.20125, Culture = neutral, PublicKeyToken = 65E474D141E25E07" /> </ conjuntos> </ compilation>

< authentication <Autenticação
mode =Windows/> mode = "Windows" />

</ system.web > </ System.web>

< spring > <Spring>

< context > <Context>

< resource <Resource
uri =~/Configuration/Objects.xml/> uri = "~ / Configuração / Objects.xml" />

</ context > </ Context>

</ spring > </ Primavera>

</ configuration > </ Configuration>

Y desde la aplicación E uma vez que a execução

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. Com o nosso método de ensaio, voltou como uma corda, sem casta, encambio no outro método teria de estar a utilizar os objetos de Transferência Objectos.

Les dejo, el ejemplo para que lo vean: Deixo-lhe, por exemplo, para ver:

Consumiendo Web Services con Spring Consumir Web Services com a Primavera

Sepan disculpar, los horrores de ortografía, ya que lo hice rapidito a este post, Saludos! Peça desculpas saber os horrores da ortografia, como eu fiz este post rapidamente, saudações!

Share and Enjoy: Compartilhe e Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • E-mail this story to a friend!
  • BarraPunto
  • blogmarks
  • co.mments
  • De.lirio.us
  • kick.ie
  • LinkedIn
  • Linkter
  • Live
  • Meneame
  • MyShare
  • Print this article!
  • TwitThis
  • YahooMyWeb
Bookmark and Share: Bookmark e Compartilhe:

No Comments » No Comments »

No comments yet. Ainda não há comentários.

RSS feed for comments on this post. TrackBack URL RSS feed para comentários sobre este post. TrackBack URL

Leave a comment Deixe um comentário

Powered by WordPress Powered by WordPress