SlideShare uma empresa Scribd logo
Consumindo SOAP WSDL-First Service
Até agora vimos como criar e consumir Webservices SOAP quando temos
controle sobre a base de código. No entanto, na maioria dos casos, terá que
consumir a partir de um serviço de WSDL já existente. Mule Studio torna este
trabalho muito fácil com a ajuda de uma ferramenta wsdl2java embutido.
Vamos explorar como podemos conseguir isso.
No final deste tutorial, teríamos aprendido a
1. Gerar classes de mensagens publicitárias Java a partir de um WSDL
existente
2. Criar cliente CXF JAX-WS e especificar atributos do cliente Webservice
3. Passe carga apropriado para invocar esse webservice
4. Criar um sub-fluxo e invocá-lo por meio de fluxo de referência a partir de um
fluxo principal
5. Converter objeto Java em XML e exibir no navegador
Abaixo são os dois fluxos vamos tentar construir em poucos minutos seguintes.
Usaremos o seguinte webservice público que traduz um endereço IP em
informação geográfica.
http://ws.cdyne.com/ip2geo/ip2geo.asmx?wsdl
Este webservice leva em dois parâmetros e retorna informações Geo do
endereço IP correspondente. Opcionalmente testar a funcionalidade
Webservice usando SOAP UI. Vamos usar a porta "IP2GeoSoap" e operação
"resolveip" desta WSDL.
Abrir projeto "Mule Training" em Mule Studio. Criar "soapclient" fluxo Mule, se
já não estiver presente. Arraste e solte um elemento de fluxo Sub sobre a lona.
Opcionalmente dar-lhe um nome significativo - resolveIPFlow.
Arraste e solte um componente de SOAP em "resolveIPFlow". Clique em
"Gerar WSDL" de propriedades do componente SOAP. Isso fará com que
diálogo para gerar as classes Java wrapper a partir WSDL.
Digite WSDL URL de IP2Geo Webservice
("http://ws.cdyne.com/ip2geo/ip2geo.asmx?wsdl") e qualquer nome do pacote
que você gostaria. Neste exemplo, classes de mensagens publicitárias Java
será gerado no âmbito do pacote "training.soap.ip2geo". Clique em OK. Mule
Studio usa ferramenta wsdl2java nos bastidores para gerar as classes Java.
Certifique-se de classes de mensagens publicitárias Java são gerados como
mostrado abaixo. IP2Geo.java é a classe de serviço Java, teremos de usar em
etapas subsequentes. Alterar a operação de "cliente JAX-WS" em propriedades
do componente SOAP. Enter "resolveip" para Websevice Operação ",
IP2GeoSoap" para a porta e "training.soap.ip2geo.IP2Geo" para a classe
Cliente. Estes valores são obtidos a partir de WSDL.
componente SOAP converte mula de carga útil em SOAP XML que precisa ser
lançado para endpoint HTTP SOAP. Este ponto final é obtido a partir definição
WSDL, como mostrado abaixo.
Limpar Host, Porta e os campos de caminho de HTTP. Em seguida, a partir do
separador "Avançado", digite HTTP endpoint copiamos no passo anterior.
Finally, we need to send two parameters to this webservice. Mule expects these
parameters in an object array. Mule expression language is used to build array
expression: #[{‘173.194.36.39’, ”}]. Here, ‘173.194.36.39’ maps to “ipAddress”
parameter and empty value for “licenseKey” parameter. This completes
“resolveIPFlow” sub flow.
Lets create main flow that refers to this subflow. Drag and drop another HTTP
endpoint to create another flow – “soapclientFlow2”. Specify “8082” as Port and
“soapclient/wsdlfirst” for Path.
Drag and drop a “Flow Reference” element next to HTTP. Select
“resolveIPFlow” for Flow Name. Sub flow is useful when we want to refer to re-
usable piece of logic from multiple locations. More about sub/child flows can be
read from here.
The subflow “resolveIPFlow” would return Java object
“training.soap.ip2geo.IPInformation”. Lets drag and drop “Object to XML”
transformer next to the Flow Reference to transform java object into XML. Mule
uses XStream for this conversion.
Save and run project. Access http://localhost:8082/soapclient/wsdlfirst to see
result of Webservice.
Consumindo soap wsdl

Mais conteúdo relacionado

Mais procurados

Introdução à Servlets e JSP
Introdução à Servlets e JSPIntrodução à Servlets e JSP
Introdução à Servlets e JSP
ledsifes
 
Servlets e jsp
Servlets e jspServlets e jsp
Servlets e jsp
Alan Oliveira
 
Servlets e JSP
Servlets e JSPServlets e JSP
Servlets e JSP
Glaucio Scheibel
 
Curso de JSP
Curso de JSPCurso de JSP
Curso de JSP
Marcelo Gonçalves
 
Introducao ao Ruby On Rails
Introducao ao Ruby On RailsIntroducao ao Ruby On Rails
Introducao ao Ruby On Rails
Andre Ferraro
 
Tutorial +login+mvc
Tutorial +login+mvcTutorial +login+mvc
Tutorial +login+mvc
Diego Feitoza
 
Trabalhando com anexos soap usando módulo cxf do mule
Trabalhando com anexos soap usando módulo cxf do muleTrabalhando com anexos soap usando módulo cxf do mule
Trabalhando com anexos soap usando módulo cxf do mule
Jeison Barros
 
Mule esb teste parte 1
Mule esb teste   parte 1Mule esb teste   parte 1
Mule esb teste parte 1
Jeison Barros
 
Desenvolvimento web com Ruby on Rails (parte 1)
Desenvolvimento web com Ruby on Rails (parte 1)Desenvolvimento web com Ruby on Rails (parte 1)
Desenvolvimento web com Ruby on Rails (parte 1)
Joao Lucas Santana
 
Interagindo com web services RPC, SOAP e REST utilizando PHP
Interagindo com web services RPC, SOAP e REST utilizando PHPInteragindo com web services RPC, SOAP e REST utilizando PHP
Interagindo com web services RPC, SOAP e REST utilizando PHP
Eduardo Cesar
 
Rails na pratica
Rails na praticaRails na pratica
Rails na pratica
Túlio Ornelas
 
Desenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosDesenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São Carlos
Rodolfo Fadino Junior
 
Mule esb com framework cucumber part 1
Mule esb com framework cucumber part 1Mule esb com framework cucumber part 1
Mule esb com framework cucumber part 1
Jeison Barros
 
Tutorial integrado flex_+_java_+_blazeds
Tutorial integrado flex_+_java_+_blazedsTutorial integrado flex_+_java_+_blazeds
Tutorial integrado flex_+_java_+_blazeds
wagnerlsrodrigues
 
Como criar um http proxy dinamico com mule parte 3
Como criar um http proxy dinamico com mule   parte 3Como criar um http proxy dinamico com mule   parte 3
Como criar um http proxy dinamico com mule parte 3
Jeison Barros
 
ASP.NET AJAX
ASP.NET AJAXASP.NET AJAX
ASP.NET AJAX
Nelson Correia
 
Estudo de caso: Mule como um transporte JMS Comum
Estudo de caso: Mule como um transporte JMS ComumEstudo de caso: Mule como um transporte JMS Comum
Estudo de caso: Mule como um transporte JMS Comum
Jeison Barros
 
Novidades do ASP.NET Core 2.1
Novidades do ASP.NET Core 2.1Novidades do ASP.NET Core 2.1
Novidades do ASP.NET Core 2.1
Rodrigo Kono
 
Usando seu codigo java no mule part 1
Usando seu codigo java no mule part 1Usando seu codigo java no mule part 1
Usando seu codigo java no mule part 1
Jeison Barros
 
ASP.NET Core 2.1 #dotnetconf
ASP.NET Core 2.1 #dotnetconfASP.NET Core 2.1 #dotnetconf
ASP.NET Core 2.1 #dotnetconf
Rodrigo Kono
 

Mais procurados (20)

Introdução à Servlets e JSP
Introdução à Servlets e JSPIntrodução à Servlets e JSP
Introdução à Servlets e JSP
 
Servlets e jsp
Servlets e jspServlets e jsp
Servlets e jsp
 
Servlets e JSP
Servlets e JSPServlets e JSP
Servlets e JSP
 
Curso de JSP
Curso de JSPCurso de JSP
Curso de JSP
 
Introducao ao Ruby On Rails
Introducao ao Ruby On RailsIntroducao ao Ruby On Rails
Introducao ao Ruby On Rails
 
Tutorial +login+mvc
Tutorial +login+mvcTutorial +login+mvc
Tutorial +login+mvc
 
Trabalhando com anexos soap usando módulo cxf do mule
Trabalhando com anexos soap usando módulo cxf do muleTrabalhando com anexos soap usando módulo cxf do mule
Trabalhando com anexos soap usando módulo cxf do mule
 
Mule esb teste parte 1
Mule esb teste   parte 1Mule esb teste   parte 1
Mule esb teste parte 1
 
Desenvolvimento web com Ruby on Rails (parte 1)
Desenvolvimento web com Ruby on Rails (parte 1)Desenvolvimento web com Ruby on Rails (parte 1)
Desenvolvimento web com Ruby on Rails (parte 1)
 
Interagindo com web services RPC, SOAP e REST utilizando PHP
Interagindo com web services RPC, SOAP e REST utilizando PHPInteragindo com web services RPC, SOAP e REST utilizando PHP
Interagindo com web services RPC, SOAP e REST utilizando PHP
 
Rails na pratica
Rails na praticaRails na pratica
Rails na pratica
 
Desenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosDesenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São Carlos
 
Mule esb com framework cucumber part 1
Mule esb com framework cucumber part 1Mule esb com framework cucumber part 1
Mule esb com framework cucumber part 1
 
Tutorial integrado flex_+_java_+_blazeds
Tutorial integrado flex_+_java_+_blazedsTutorial integrado flex_+_java_+_blazeds
Tutorial integrado flex_+_java_+_blazeds
 
Como criar um http proxy dinamico com mule parte 3
Como criar um http proxy dinamico com mule   parte 3Como criar um http proxy dinamico com mule   parte 3
Como criar um http proxy dinamico com mule parte 3
 
ASP.NET AJAX
ASP.NET AJAXASP.NET AJAX
ASP.NET AJAX
 
Estudo de caso: Mule como um transporte JMS Comum
Estudo de caso: Mule como um transporte JMS ComumEstudo de caso: Mule como um transporte JMS Comum
Estudo de caso: Mule como um transporte JMS Comum
 
Novidades do ASP.NET Core 2.1
Novidades do ASP.NET Core 2.1Novidades do ASP.NET Core 2.1
Novidades do ASP.NET Core 2.1
 
Usando seu codigo java no mule part 1
Usando seu codigo java no mule part 1Usando seu codigo java no mule part 1
Usando seu codigo java no mule part 1
 
ASP.NET Core 2.1 #dotnetconf
ASP.NET Core 2.1 #dotnetconfASP.NET Core 2.1 #dotnetconf
ASP.NET Core 2.1 #dotnetconf
 

Destaque

Lean agile requirements with power story
Lean agile requirements with power storyLean agile requirements with power story
Lean agile requirements with power story
PowerStory
 
Web Services
Web ServicesWeb Services
Web Services
Gaurav Tyagi
 
RESTful services
RESTful servicesRESTful services
RESTful services
gouthamrv
 
Pentesting RESTful webservices
Pentesting RESTful webservicesPentesting RESTful webservices
Pentesting RESTful webservices
Mohammed A. Imran
 
Corba introduction and simple example
Corba introduction and simple example Corba introduction and simple example
Corba introduction and simple example
Alexia Wang
 
Common Object Request Broker Architecture - CORBA
Common Object Request Broker Architecture - CORBACommon Object Request Broker Architecture - CORBA
Common Object Request Broker Architecture - CORBA
Peter R. Egli
 
Corba concepts & corba architecture
Corba concepts & corba architectureCorba concepts & corba architecture
Corba concepts & corba architecture
nupurmakhija1211
 

Destaque (7)

Lean agile requirements with power story
Lean agile requirements with power storyLean agile requirements with power story
Lean agile requirements with power story
 
Web Services
Web ServicesWeb Services
Web Services
 
RESTful services
RESTful servicesRESTful services
RESTful services
 
Pentesting RESTful webservices
Pentesting RESTful webservicesPentesting RESTful webservices
Pentesting RESTful webservices
 
Corba introduction and simple example
Corba introduction and simple example Corba introduction and simple example
Corba introduction and simple example
 
Common Object Request Broker Architecture - CORBA
Common Object Request Broker Architecture - CORBACommon Object Request Broker Architecture - CORBA
Common Object Request Broker Architecture - CORBA
 
Corba concepts & corba architecture
Corba concepts & corba architectureCorba concepts & corba architecture
Corba concepts & corba architecture
 

Semelhante a Consumindo soap wsdl

Tutorial WebSocket em Java
Tutorial WebSocket em JavaTutorial WebSocket em Java
Tutorial WebSocket em Java
lucascsoliveira
 
Mvc model view controller - java para desenvolvimento web
Mvc   model view controller - java para desenvolvimento webMvc   model view controller - java para desenvolvimento web
Mvc model view controller - java para desenvolvimento web
Valdir Junior
 
Computacao distribuida com rmi
Computacao distribuida com rmiComputacao distribuida com rmi
Computacao distribuida com rmi
Portal_do_Estudante_SD
 
Zk Framework
Zk FrameworkZk Framework
Zk Framework
thiagoprocaci
 
Apresentação jsf 2.0
Apresentação jsf 2.0Apresentação jsf 2.0
Apresentação jsf 2.0
Paulo Neto
 
Apresentação Java Web Si Ufc Quixadá - MVC
Apresentação Java Web Si Ufc Quixadá - MVCApresentação Java Web Si Ufc Quixadá - MVC
Apresentação Java Web Si Ufc Quixadá - MVC
Zarathon Maia
 
Programação para Web II: Estrutura de um projeto Java Web
Programação para Web II: Estrutura de um projeto Java WebProgramação para Web II: Estrutura de um projeto Java Web
Programação para Web II: Estrutura de um projeto Java Web
Alex Camargo
 
Criando cliente com wsimport
Criando cliente com wsimportCriando cliente com wsimport
Criando cliente com wsimport
Wederson Marcos dos Santos
 
Desafio Rest API
Desafio Rest APIDesafio Rest API
Desafio Rest API
Reinaldo Junior
 
Curso de Java (Parte 7) Web Application
Curso de Java (Parte 7) Web ApplicationCurso de Java (Parte 7) Web Application
Curso de Java (Parte 7) Web Application
Mario Sergio
 
Jsf
JsfJsf
Aula Ruby
Aula RubyAula Ruby
Programação para Web II: NodeJS
Programação para Web II:  NodeJSProgramação para Web II:  NodeJS
Programação para Web II: NodeJS
Alex Camargo
 
RMI em Java
RMI em JavaRMI em Java
RMI em Java
Charleston Anjos
 
Java wsdp
Java wsdpJava wsdp
2016/08/19 - Uma visão geral da AWS para desenvolvedores
2016/08/19 - Uma visão geral da AWS para desenvolvedores2016/08/19 - Uma visão geral da AWS para desenvolvedores
2016/08/19 - Uma visão geral da AWS para desenvolvedores
Jardel Weyrich
 
Jsf
JsfJsf
Melhores práticas de CI/CD na construção de aplicações modernas
Melhores práticas de CI/CD na construção de aplicações modernasMelhores práticas de CI/CD na construção de aplicações modernas
Melhores práticas de CI/CD na construção de aplicações modernas
Amazon Web Services LATAM
 
Java Fx Guia De IntroduçãO
Java Fx Guia De IntroduçãOJava Fx Guia De IntroduçãO
Java Fx Guia De IntroduçãO
danielfc
 
Java Seminar
Java SeminarJava Seminar
Java Seminar
armeniocardoso
 

Semelhante a Consumindo soap wsdl (20)

Tutorial WebSocket em Java
Tutorial WebSocket em JavaTutorial WebSocket em Java
Tutorial WebSocket em Java
 
Mvc model view controller - java para desenvolvimento web
Mvc   model view controller - java para desenvolvimento webMvc   model view controller - java para desenvolvimento web
Mvc model view controller - java para desenvolvimento web
 
Computacao distribuida com rmi
Computacao distribuida com rmiComputacao distribuida com rmi
Computacao distribuida com rmi
 
Zk Framework
Zk FrameworkZk Framework
Zk Framework
 
Apresentação jsf 2.0
Apresentação jsf 2.0Apresentação jsf 2.0
Apresentação jsf 2.0
 
Apresentação Java Web Si Ufc Quixadá - MVC
Apresentação Java Web Si Ufc Quixadá - MVCApresentação Java Web Si Ufc Quixadá - MVC
Apresentação Java Web Si Ufc Quixadá - MVC
 
Programação para Web II: Estrutura de um projeto Java Web
Programação para Web II: Estrutura de um projeto Java WebProgramação para Web II: Estrutura de um projeto Java Web
Programação para Web II: Estrutura de um projeto Java Web
 
Criando cliente com wsimport
Criando cliente com wsimportCriando cliente com wsimport
Criando cliente com wsimport
 
Desafio Rest API
Desafio Rest APIDesafio Rest API
Desafio Rest API
 
Curso de Java (Parte 7) Web Application
Curso de Java (Parte 7) Web ApplicationCurso de Java (Parte 7) Web Application
Curso de Java (Parte 7) Web Application
 
Jsf
JsfJsf
Jsf
 
Aula Ruby
Aula RubyAula Ruby
Aula Ruby
 
Programação para Web II: NodeJS
Programação para Web II:  NodeJSProgramação para Web II:  NodeJS
Programação para Web II: NodeJS
 
RMI em Java
RMI em JavaRMI em Java
RMI em Java
 
Java wsdp
Java wsdpJava wsdp
Java wsdp
 
2016/08/19 - Uma visão geral da AWS para desenvolvedores
2016/08/19 - Uma visão geral da AWS para desenvolvedores2016/08/19 - Uma visão geral da AWS para desenvolvedores
2016/08/19 - Uma visão geral da AWS para desenvolvedores
 
Jsf
JsfJsf
Jsf
 
Melhores práticas de CI/CD na construção de aplicações modernas
Melhores práticas de CI/CD na construção de aplicações modernasMelhores práticas de CI/CD na construção de aplicações modernas
Melhores práticas de CI/CD na construção de aplicações modernas
 
Java Fx Guia De IntroduçãO
Java Fx Guia De IntroduçãOJava Fx Guia De IntroduçãO
Java Fx Guia De IntroduçãO
 
Java Seminar
Java SeminarJava Seminar
Java Seminar
 

Mais de Jeison Barros

Pdfteste
PdftestePdfteste
Pdfteste
Jeison Barros
 
Introdução a RAML - parte 1
Introdução a RAML -  parte 1Introdução a RAML -  parte 1
Introdução a RAML - parte 1
Jeison Barros
 
O básico do uso de rest vs soap
O básico do uso de rest vs soapO básico do uso de rest vs soap
O básico do uso de rest vs soap
Jeison Barros
 
Restful considerada prejudicial - parte 1
Restful considerada prejudicial -  parte 1Restful considerada prejudicial -  parte 1
Restful considerada prejudicial - parte 1
Jeison Barros
 
Restful considerada prejudicial parte 2
Restful considerada prejudicial   parte 2Restful considerada prejudicial   parte 2
Restful considerada prejudicial parte 2
Jeison Barros
 
Estratégia api e design
Estratégia api e designEstratégia api e design
Estratégia api e design
Jeison Barros
 
Transformando eficientemente resultados de uma consulta jdbc para json
Transformando eficientemente resultados de uma consulta jdbc para jsonTransformando eficientemente resultados de uma consulta jdbc para json
Transformando eficientemente resultados de uma consulta jdbc para json
Jeison Barros
 
Como criar um http proxy dinamico com mule parte 1
Como criar um http proxy dinamico com mule   parte 1Como criar um http proxy dinamico com mule   parte 1
Como criar um http proxy dinamico com mule parte 1
Jeison Barros
 
Rest api vs SOAP
Rest api vs SOAPRest api vs SOAP
Rest api vs SOAP
Jeison Barros
 
Conectando seu banco de dados usando jdbc
Conectando seu banco de dados usando jdbcConectando seu banco de dados usando jdbc
Conectando seu banco de dados usando jdbc
Jeison Barros
 
Habilidades necessárias para integrar aplicativos e dados
Habilidades necessárias para integrar aplicativos e dadosHabilidades necessárias para integrar aplicativos e dados
Habilidades necessárias para integrar aplicativos e dados
Jeison Barros
 
Qual integration framework você deve usar parte 2
Qual integration framework você deve usar parte 2Qual integration framework você deve usar parte 2
Qual integration framework você deve usar parte 2
Jeison Barros
 
Qual integration framework você deve usar parte 1
Qual integration framework você deve usar parte 1Qual integration framework você deve usar parte 1
Qual integration framework você deve usar parte 1
Jeison Barros
 
Começando com mulesoft e maven
Começando com mulesoft e mavenComeçando com mulesoft e maven
Começando com mulesoft e maven
Jeison Barros
 
Mule esb com framework cucumber part 2
Mule esb com framework cucumber part 2Mule esb com framework cucumber part 2
Mule esb com framework cucumber part 2
Jeison Barros
 
Explorando mule esb sftp adapter
Explorando mule esb sftp adapterExplorando mule esb sftp adapter
Explorando mule esb sftp adapter
Jeison Barros
 
Fluxo dinâmicos usando spring aplication
Fluxo dinâmicos usando spring aplicationFluxo dinâmicos usando spring aplication
Fluxo dinâmicos usando spring aplication
Jeison Barros
 
Data mapping com Groovy - Part 2
Data mapping com Groovy - Part 2Data mapping com Groovy - Part 2
Data mapping com Groovy - Part 2
Jeison Barros
 
Relatório analytics de mula tempo de execução usando splunk
Relatório analytics de mula tempo de execução usando splunkRelatório analytics de mula tempo de execução usando splunk
Relatório analytics de mula tempo de execução usando splunk
Jeison Barros
 
Substituindo o request message no mule
Substituindo o request message no muleSubstituindo o request message no mule
Substituindo o request message no mule
Jeison Barros
 

Mais de Jeison Barros (20)

Pdfteste
PdftestePdfteste
Pdfteste
 
Introdução a RAML - parte 1
Introdução a RAML -  parte 1Introdução a RAML -  parte 1
Introdução a RAML - parte 1
 
O básico do uso de rest vs soap
O básico do uso de rest vs soapO básico do uso de rest vs soap
O básico do uso de rest vs soap
 
Restful considerada prejudicial - parte 1
Restful considerada prejudicial -  parte 1Restful considerada prejudicial -  parte 1
Restful considerada prejudicial - parte 1
 
Restful considerada prejudicial parte 2
Restful considerada prejudicial   parte 2Restful considerada prejudicial   parte 2
Restful considerada prejudicial parte 2
 
Estratégia api e design
Estratégia api e designEstratégia api e design
Estratégia api e design
 
Transformando eficientemente resultados de uma consulta jdbc para json
Transformando eficientemente resultados de uma consulta jdbc para jsonTransformando eficientemente resultados de uma consulta jdbc para json
Transformando eficientemente resultados de uma consulta jdbc para json
 
Como criar um http proxy dinamico com mule parte 1
Como criar um http proxy dinamico com mule   parte 1Como criar um http proxy dinamico com mule   parte 1
Como criar um http proxy dinamico com mule parte 1
 
Rest api vs SOAP
Rest api vs SOAPRest api vs SOAP
Rest api vs SOAP
 
Conectando seu banco de dados usando jdbc
Conectando seu banco de dados usando jdbcConectando seu banco de dados usando jdbc
Conectando seu banco de dados usando jdbc
 
Habilidades necessárias para integrar aplicativos e dados
Habilidades necessárias para integrar aplicativos e dadosHabilidades necessárias para integrar aplicativos e dados
Habilidades necessárias para integrar aplicativos e dados
 
Qual integration framework você deve usar parte 2
Qual integration framework você deve usar parte 2Qual integration framework você deve usar parte 2
Qual integration framework você deve usar parte 2
 
Qual integration framework você deve usar parte 1
Qual integration framework você deve usar parte 1Qual integration framework você deve usar parte 1
Qual integration framework você deve usar parte 1
 
Começando com mulesoft e maven
Começando com mulesoft e mavenComeçando com mulesoft e maven
Começando com mulesoft e maven
 
Mule esb com framework cucumber part 2
Mule esb com framework cucumber part 2Mule esb com framework cucumber part 2
Mule esb com framework cucumber part 2
 
Explorando mule esb sftp adapter
Explorando mule esb sftp adapterExplorando mule esb sftp adapter
Explorando mule esb sftp adapter
 
Fluxo dinâmicos usando spring aplication
Fluxo dinâmicos usando spring aplicationFluxo dinâmicos usando spring aplication
Fluxo dinâmicos usando spring aplication
 
Data mapping com Groovy - Part 2
Data mapping com Groovy - Part 2Data mapping com Groovy - Part 2
Data mapping com Groovy - Part 2
 
Relatório analytics de mula tempo de execução usando splunk
Relatório analytics de mula tempo de execução usando splunkRelatório analytics de mula tempo de execução usando splunk
Relatório analytics de mula tempo de execução usando splunk
 
Substituindo o request message no mule
Substituindo o request message no muleSubstituindo o request message no mule
Substituindo o request message no mule
 

Consumindo soap wsdl

  • 1. Consumindo SOAP WSDL-First Service Até agora vimos como criar e consumir Webservices SOAP quando temos controle sobre a base de código. No entanto, na maioria dos casos, terá que consumir a partir de um serviço de WSDL já existente. Mule Studio torna este trabalho muito fácil com a ajuda de uma ferramenta wsdl2java embutido. Vamos explorar como podemos conseguir isso. No final deste tutorial, teríamos aprendido a 1. Gerar classes de mensagens publicitárias Java a partir de um WSDL existente 2. Criar cliente CXF JAX-WS e especificar atributos do cliente Webservice 3. Passe carga apropriado para invocar esse webservice 4. Criar um sub-fluxo e invocá-lo por meio de fluxo de referência a partir de um fluxo principal 5. Converter objeto Java em XML e exibir no navegador Abaixo são os dois fluxos vamos tentar construir em poucos minutos seguintes. Usaremos o seguinte webservice público que traduz um endereço IP em informação geográfica. http://ws.cdyne.com/ip2geo/ip2geo.asmx?wsdl
  • 2. Este webservice leva em dois parâmetros e retorna informações Geo do endereço IP correspondente. Opcionalmente testar a funcionalidade Webservice usando SOAP UI. Vamos usar a porta "IP2GeoSoap" e operação "resolveip" desta WSDL.
  • 3. Abrir projeto "Mule Training" em Mule Studio. Criar "soapclient" fluxo Mule, se já não estiver presente. Arraste e solte um elemento de fluxo Sub sobre a lona. Opcionalmente dar-lhe um nome significativo - resolveIPFlow. Arraste e solte um componente de SOAP em "resolveIPFlow". Clique em "Gerar WSDL" de propriedades do componente SOAP. Isso fará com que diálogo para gerar as classes Java wrapper a partir WSDL. Digite WSDL URL de IP2Geo Webservice ("http://ws.cdyne.com/ip2geo/ip2geo.asmx?wsdl") e qualquer nome do pacote que você gostaria. Neste exemplo, classes de mensagens publicitárias Java será gerado no âmbito do pacote "training.soap.ip2geo". Clique em OK. Mule
  • 4. Studio usa ferramenta wsdl2java nos bastidores para gerar as classes Java. Certifique-se de classes de mensagens publicitárias Java são gerados como mostrado abaixo. IP2Geo.java é a classe de serviço Java, teremos de usar em etapas subsequentes. Alterar a operação de "cliente JAX-WS" em propriedades do componente SOAP. Enter "resolveip" para Websevice Operação ", IP2GeoSoap" para a porta e "training.soap.ip2geo.IP2Geo" para a classe Cliente. Estes valores são obtidos a partir de WSDL. componente SOAP converte mula de carga útil em SOAP XML que precisa ser lançado para endpoint HTTP SOAP. Este ponto final é obtido a partir definição
  • 5. WSDL, como mostrado abaixo. Limpar Host, Porta e os campos de caminho de HTTP. Em seguida, a partir do separador "Avançado", digite HTTP endpoint copiamos no passo anterior.
  • 6. Finally, we need to send two parameters to this webservice. Mule expects these parameters in an object array. Mule expression language is used to build array expression: #[{‘173.194.36.39’, ”}]. Here, ‘173.194.36.39’ maps to “ipAddress” parameter and empty value for “licenseKey” parameter. This completes “resolveIPFlow” sub flow.
  • 7. Lets create main flow that refers to this subflow. Drag and drop another HTTP endpoint to create another flow – “soapclientFlow2”. Specify “8082” as Port and “soapclient/wsdlfirst” for Path. Drag and drop a “Flow Reference” element next to HTTP. Select “resolveIPFlow” for Flow Name. Sub flow is useful when we want to refer to re- usable piece of logic from multiple locations. More about sub/child flows can be read from here.
  • 8. The subflow “resolveIPFlow” would return Java object “training.soap.ip2geo.IPInformation”. Lets drag and drop “Object to XML” transformer next to the Flow Reference to transform java object into XML. Mule uses XStream for this conversion. Save and run project. Access http://localhost:8082/soapclient/wsdlfirst to see result of Webservice.