SlideShare uma empresa Scribd logo
1 de 9
Baixar para ler offline
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 WSDL-First SOAP

Mais conteúdo relacionado

Mais procurados

Introdução à Servlets e JSP
Introdução à Servlets e JSPIntrodução à Servlets e JSP
Introdução à Servlets e JSPledsifes
 
Introducao ao Ruby On Rails
Introducao ao Ruby On RailsIntroducao ao Ruby On Rails
Introducao ao Ruby On RailsAndre Ferraro
 
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 muleJeison Barros
 
Mule esb teste parte 1
Mule esb teste   parte 1Mule esb teste   parte 1
Mule esb teste parte 1Jeison 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 PHPEduardo Cesar
 
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 CarlosRodolfo 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 1Jeison Barros
 
Tutorial integrado flex_+_java_+_blazeds
Tutorial integrado flex_+_java_+_blazedsTutorial integrado flex_+_java_+_blazeds
Tutorial integrado flex_+_java_+_blazedswagnerlsrodrigues
 
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 3Jeison Barros
 
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 ComumJeison 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.1Rodrigo 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 1Jeison Barros
 
ASP.NET Core 2.1 #dotnetconf
ASP.NET Core 2.1 #dotnetconfASP.NET Core 2.1 #dotnetconf
ASP.NET Core 2.1 #dotnetconfRodrigo 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 storyPowerStory
 
RESTful services
RESTful servicesRESTful services
RESTful servicesgouthamrv
 
Pentesting RESTful webservices
Pentesting RESTful webservicesPentesting RESTful webservices
Pentesting RESTful webservicesMohammed 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 - CORBAPeter R. Egli
 
Corba concepts & corba architecture
Corba concepts & corba architectureCorba concepts & corba architecture
Corba concepts & corba architecturenupurmakhija1211
 

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 WSDL-First SOAP

Tutorial WebSocket em Java
Tutorial WebSocket em JavaTutorial WebSocket em Java
Tutorial WebSocket em Javalucascsoliveira
 
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 webValdir Junior
 
Apresentação jsf 2.0
Apresentação jsf 2.0Apresentação jsf 2.0
Apresentação jsf 2.0Paulo 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á - MVCZarathon 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 WebAlex Camargo
 
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 ApplicationMario Sergio
 
Programação para Web II: NodeJS
Programação para Web II:  NodeJSProgramação para Web II:  NodeJS
Programação para Web II: NodeJSAlex Camargo
 
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 desenvolvedoresJardel Weyrich
 
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 modernasAmazon 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çãOdanielfc
 

Semelhante a Consumindo WSDL-First SOAP (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

Introdução a RAML - parte 1
Introdução a RAML -  parte 1Introdução a RAML -  parte 1
Introdução a RAML - parte 1Jeison 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 soapJeison Barros
 
Restful considerada prejudicial - parte 1
Restful considerada prejudicial -  parte 1Restful considerada prejudicial -  parte 1
Restful considerada prejudicial - parte 1Jeison Barros
 
Restful considerada prejudicial parte 2
Restful considerada prejudicial   parte 2Restful considerada prejudicial   parte 2
Restful considerada prejudicial parte 2Jeison Barros
 
Estratégia api e design
Estratégia api e designEstratégia api e design
Estratégia api e designJeison 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 jsonJeison 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 1Jeison 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 jdbcJeison 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 dadosJeison 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 2Jeison 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 1Jeison Barros
 
Começando com mulesoft e maven
Começando com mulesoft e mavenComeçando com mulesoft e maven
Começando com mulesoft e mavenJeison 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 2Jeison Barros
 
Explorando mule esb sftp adapter
Explorando mule esb sftp adapterExplorando mule esb sftp adapter
Explorando mule esb sftp adapterJeison Barros
 
Fluxo dinâmicos usando spring aplication
Fluxo dinâmicos usando spring aplicationFluxo dinâmicos usando spring aplication
Fluxo dinâmicos usando spring aplicationJeison Barros
 
Data mapping com Groovy - Part 2
Data mapping com Groovy - Part 2Data mapping com Groovy - Part 2
Data mapping com Groovy - Part 2Jeison 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 splunkJeison Barros
 
Substituindo o request message no mule
Substituindo o request message no muleSubstituindo o request message no mule
Substituindo o request message no muleJeison 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 WSDL-First SOAP

  • 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.