SlideShare uma empresa Scribd logo
Como criar um HTTP proxy dinamico com Mule –
Parte 1
Principio
O proxy encaminha a solicitação HTTP usando o contexto e as
peças caminho relativo do URL de solicitação para determinar o
servidor e a porta à qual o pedido deve ser encaminhado.
No exemplo neste artigo um serviço web SOAP terá a ser
implantado para ouvir a seguinte URL:
http://localhost:8182/services/GreetingService
No URL acima, o servidor ea porta é localhost: 8182, o contexto e
as peças caminho relativo do URL é "serviços / GreetingService".
O exemplo de programa será implantado para ouvir solicitações na
seguinte URL:
http://localhost:8981/dynamicHttpProxy/
A fim de invocar o GreetingService através do proxy HTTP, a URL
do terminal será parecido com este:
http://localhost:8981/dynamicHttpProxy/services/GreetingService
Motivação
A principal motivação para o proxy HTTP dinâmica é a capacidade
de ser capaz de adicionar novos proxies HTTP com um mínimo de
esforço e sem ter que reiniciar o proxy.
Limitações do Programa Exemplo
Falta do programa de exemplo para torná-lo utilizável em um
ambiente de produção são:
• Tratamento de erros.
• Recuperação de configuração de banco de dados.
No exemplo, um simples mapa é usado para armazenar o
mapeamento entre o caminho relativo HTTP e o servidor de destino.
Isso faz claro que não permitem modificar dinamicamente a
configuração do proxy.
• Suporte para verbos HTTP adicionais.
No programa de exemplo apenas suporte para os verbos de HTTP
GET e POST foram implementadas. É trivial para adicionar suporte
para verbos HTTP adicionais, conforme necessário.
• Manipulação de parâmetros HTTP.
O programa de exemplo não considera parâmetros HTTP mas
estes são considerados parte do caminho relativo HTTP.
• Suporte para HTTPS.
Há provavelmente coisas adicionais que se poderia considerar falta
- sinta-se livre para adicionar sugestões nos comentários!
Um serviço Proxy
O exemplo de programa será implementado em um projeto da mula
em SpringSource Tool Suite com o MuleStudio plug-in instalado.
Qualquer IDE baseado em Eclipse com o MuleStudio plug-in
instalado.
Para ser ter um serviço de proxy, uma saudação-serviço SOAP
simples é implementado usando um arquivo de configuração mula e
uma classe Java.
A configuração Mule contém a seguinte configuração:
<?xml version="1.0" encoding="UTF-8"?>
<mule
xmlns:cxf="http://www.mulesoft.org/schema/mule/cxf"
xmlns="http://www.mulesoft.org/schema/mule/core"
xmlns:doc="http://www.mulesoft.org/schema/mule/documentation
"
xmlns:spring="http://www.springframework.org/schema/beans"
xmlns:test="http://www.mulesoft.org/schema/mule/test"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.mulesoft.org/schema/mule/cxf http://www.mulesoft.org/sc
hema/mule/cxf/current/mule-cxf.xsd
http://www.springframework.org/schema/beans http://www.springfra
mework.org/schema/beans/spring-beans-current.xsd
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/
schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/test http://www.mulesoft.org/s
chema/mule/test/current/mule-test.xsd">
<spring:beans>
<spring:bean id="helloService" class="com.ivan.mule.dynamich
ttpproxy.HelloService"/>
</spring:beans>
<flow name="GreetingFlow">
<inbound-endpoint address="http://localhost:8182/services/Gre
etingService"
exchange-pattern="request-response"/>
<cxf:jaxws-service serviceClass="com.ivan.mule.dynamichttppr
oxy.HelloService"/>
<component>
<spring-object bean="helloService"/>
</component>
</flow>
</mule>
A classe Java implementar o serviço se parece com isso:
package com.ivan.mule.dynamichttpproxy;
import java.util.Date;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
/**
* SOAP web service endpoint implementation class that implements
* a service that extends greetings.
*
* @author Ivan Krizsan
*/
@WebService
public class HelloService {
/**
* Greets the person with the supplied name.
*
* @param inName Name of person to greet.
* @return Greeting.
*/
@WebResult(name = "greeting")
public String greet(@WebParam(name = "inName") final String in
Name) {
return "Hello " + inName + ", the time is now " + new Date();
}
}
Informações server Classe Bean
As instâncias da classe informações feijão servidor contém
informações sobre um servidor que para encaminhar solicitações
para.
package com.ivan.mule.dynamichttpproxy;
/**
* Holds information about a server which to forward requests to.
*
* @author Ivan Krizsan
*/
public class ServerInformationBean {
private String serverAddress;
private String serverPort;
private String serverName;
/**
* Creates an instance holding information about a server with sup
plied
* address, port and name.
*
* @param inServerAddress
* @param inServerPort
* @param inServerName
*/
public ServerInformationBean(final String inServerAddress,
final String inServerPort, final String inServerName) {
serverAddress = inServerAddress;
serverPort = inServerPort;
serverName = inServerName;
}
public String getServerAddress() {
return serverAddress;
}
public String getServerPort() {
return serverPort;
}
public String getServerName() {
return serverName;
}
}
Anúncio

Recomendados

Trabalhando com anexos soap usando módulo cxf do mule
Trabalhando com anexos soap usando módulo cxf do mule
Jeison Barros
 
Principais perguntas sobre mule esb parte 2
Principais perguntas sobre mule esb parte 2
Jeison Barros
 
Como criar um http proxy dinamico com mule parte 3
Como criar um http proxy dinamico com mule parte 3
Jeison Barros
 
Mule esb teste parte 2
Mule esb teste parte 2
Jeison Barros
 
Introdução ao mule esb para iniciantes
Introdução ao mule esb para iniciantes
Jeison Barros
 
Compilação de tutoriais blog MulePE
Compilação de tutoriais blog MulePE
Jeison Barros
 
Mule esb teste parte 1
Mule esb teste parte 1
Jeison Barros
 
Estudo de caso: Mule como um transporte JMS Comum
Estudo de caso: Mule como um transporte JMS Comum
Jeison Barros
 
Mule esb com framework cucumber part 1
Mule esb com framework cucumber part 1
Jeison Barros
 
Explorando mule esb sftp adapter
Explorando mule esb sftp adapter
Jeison Barros
 
Principais duvidas sobre mule
Principais duvidas sobre mule
Jeison Barros
 
Integração salesforce com mulesoft usando o salesforce conector
Integração salesforce com mulesoft usando o salesforce conector
Jeison Barros
 
Conectores mule
Conectores mule
Guilherme Baccas
 
Mulesoft - Salesforce Analytics Cloud Connector - Part 1
Mulesoft - Salesforce Analytics Cloud Connector - Part 1
Jeison Barros
 
Suporte a Open Source no Oracle WebLogic 12c - Integração com o Spring Framework
Suporte a Open Source no Oracle WebLogic 12c - Integração com o Spring Framework
Ricardo Ferreira
 
Desenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São Carlos
Rodolfo Fadino Junior
 
Desenvolvimento de uma API RESTful com Java EE
Desenvolvimento de uma API RESTful com Java EE
Luan Felipe Knebel
 
Flyweigth - Arquitetura de Referência para Open Banking Brasil Fase 1
Flyweigth - Arquitetura de Referência para Open Banking Brasil Fase 1
Edgar Silva
 
Construindo aplicações leves e performáticas com ASP.NET Core 1.0
Construindo aplicações leves e performáticas com ASP.NET Core 1.0
Fabrício Lopes Sanchez
 
Usando seu codigo java no mule part 1
Usando seu codigo java no mule part 1
Jeison Barros
 
Qconsp 2016 escalando uma plataforma de e-mail transacional- aprendizado da...
Qconsp 2016 escalando uma plataforma de e-mail transacional- aprendizado da...
fabio perrella
 
O Elefante e a Mula
O Elefante e a Mula
Taffarel De Lima Oliveira
 
Servidores Web
Servidores Web
Adilmar Dantas
 
Spring Boot - Uma app do 0 a Web em 30 minutos
Spring Boot - Uma app do 0 a Web em 30 minutos
phelypploch
 
Servidores Web
Servidores Web
bastosluis
 
Deploy automatizado de Aplicações no Jelastic
Deploy automatizado de Aplicações no Jelastic
Ivan Rosolen
 
SoapUI
SoapUI
João Manso
 
Introdução ao ASP .NET Web API
Introdução ao ASP .NET Web API
Vinicius Mussak
 
Deploying and running in mule standalone
Deploying and running in mule standalone
AbdulImrankhan7
 
How to make .... google calendar
How to make .... google calendar
Joanna Soltysiak
 

Mais conteúdo relacionado

Mais procurados (20)

Mule esb com framework cucumber part 1
Mule esb com framework cucumber part 1
Jeison Barros
 
Explorando mule esb sftp adapter
Explorando mule esb sftp adapter
Jeison Barros
 
Principais duvidas sobre mule
Principais duvidas sobre mule
Jeison Barros
 
Integração salesforce com mulesoft usando o salesforce conector
Integração salesforce com mulesoft usando o salesforce conector
Jeison Barros
 
Conectores mule
Conectores mule
Guilherme Baccas
 
Mulesoft - Salesforce Analytics Cloud Connector - Part 1
Mulesoft - Salesforce Analytics Cloud Connector - Part 1
Jeison Barros
 
Suporte a Open Source no Oracle WebLogic 12c - Integração com o Spring Framework
Suporte a Open Source no Oracle WebLogic 12c - Integração com o Spring Framework
Ricardo Ferreira
 
Desenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São Carlos
Rodolfo Fadino Junior
 
Desenvolvimento de uma API RESTful com Java EE
Desenvolvimento de uma API RESTful com Java EE
Luan Felipe Knebel
 
Flyweigth - Arquitetura de Referência para Open Banking Brasil Fase 1
Flyweigth - Arquitetura de Referência para Open Banking Brasil Fase 1
Edgar Silva
 
Construindo aplicações leves e performáticas com ASP.NET Core 1.0
Construindo aplicações leves e performáticas com ASP.NET Core 1.0
Fabrício Lopes Sanchez
 
Usando seu codigo java no mule part 1
Usando seu codigo java no mule part 1
Jeison Barros
 
Qconsp 2016 escalando uma plataforma de e-mail transacional- aprendizado da...
Qconsp 2016 escalando uma plataforma de e-mail transacional- aprendizado da...
fabio perrella
 
O Elefante e a Mula
O Elefante e a Mula
Taffarel De Lima Oliveira
 
Servidores Web
Servidores Web
Adilmar Dantas
 
Spring Boot - Uma app do 0 a Web em 30 minutos
Spring Boot - Uma app do 0 a Web em 30 minutos
phelypploch
 
Servidores Web
Servidores Web
bastosluis
 
Deploy automatizado de Aplicações no Jelastic
Deploy automatizado de Aplicações no Jelastic
Ivan Rosolen
 
SoapUI
SoapUI
João Manso
 
Introdução ao ASP .NET Web API
Introdução ao ASP .NET Web API
Vinicius Mussak
 
Mule esb com framework cucumber part 1
Mule esb com framework cucumber part 1
Jeison Barros
 
Explorando mule esb sftp adapter
Explorando mule esb sftp adapter
Jeison Barros
 
Principais duvidas sobre mule
Principais duvidas sobre mule
Jeison Barros
 
Integração salesforce com mulesoft usando o salesforce conector
Integração salesforce com mulesoft usando o salesforce conector
Jeison Barros
 
Mulesoft - Salesforce Analytics Cloud Connector - Part 1
Mulesoft - Salesforce Analytics Cloud Connector - Part 1
Jeison Barros
 
Suporte a Open Source no Oracle WebLogic 12c - Integração com o Spring Framework
Suporte a Open Source no Oracle WebLogic 12c - Integração com o Spring Framework
Ricardo Ferreira
 
Desenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São Carlos
Rodolfo Fadino Junior
 
Desenvolvimento de uma API RESTful com Java EE
Desenvolvimento de uma API RESTful com Java EE
Luan Felipe Knebel
 
Flyweigth - Arquitetura de Referência para Open Banking Brasil Fase 1
Flyweigth - Arquitetura de Referência para Open Banking Brasil Fase 1
Edgar Silva
 
Construindo aplicações leves e performáticas com ASP.NET Core 1.0
Construindo aplicações leves e performáticas com ASP.NET Core 1.0
Fabrício Lopes Sanchez
 
Usando seu codigo java no mule part 1
Usando seu codigo java no mule part 1
Jeison Barros
 
Qconsp 2016 escalando uma plataforma de e-mail transacional- aprendizado da...
Qconsp 2016 escalando uma plataforma de e-mail transacional- aprendizado da...
fabio perrella
 
Spring Boot - Uma app do 0 a Web em 30 minutos
Spring Boot - Uma app do 0 a Web em 30 minutos
phelypploch
 
Servidores Web
Servidores Web
bastosluis
 
Deploy automatizado de Aplicações no Jelastic
Deploy automatizado de Aplicações no Jelastic
Ivan Rosolen
 
Introdução ao ASP .NET Web API
Introdução ao ASP .NET Web API
Vinicius Mussak
 

Destaque (20)

Deploying and running in mule standalone
Deploying and running in mule standalone
AbdulImrankhan7
 
How to make .... google calendar
How to make .... google calendar
Joanna Soltysiak
 
Tarea interdisciplinar del curso Clásicos Escolares
Tarea interdisciplinar del curso Clásicos Escolares
tomasrodriguezreyes
 
Mule data mapper
Mule data mapper
Naresh Naidu
 
mule salesforce
mule salesforce
F K
 
Mule soap web services
Mule soap web services
Naresh Naidu
 
Bashing cultural monsters in continuous integration by Vivek Ganesan XP Confe...
Bashing cultural monsters in continuous integration by Vivek Ganesan XP Confe...
XP Conference India
 
20150513_CarinaABrunson_Resume
20150513_CarinaABrunson_Resume
Carina Brunson
 
A LITTLE ABOUT MYSELF
A LITTLE ABOUT MYSELF
Steffi Sharon
 
Our Recipe Book
Our Recipe Book
Lamia Büşra YEŞİL
 
Presentatie TIM Vastgoed - 10 minutes with BNI
Presentatie TIM Vastgoed - 10 minutes with BNI
Tim Schaap
 
SOA na Prática – Criando uma Aplicação BPMN com Bonita Open Solution, Mule ES...
SOA na Prática – Criando uma Aplicação BPMN com Bonita Open Solution, Mule ES...
Michel Azevedo
 
example of a project plan
example of a project plan
Joanna Soltysiak
 
Prosklisi gs
Prosklisi gs
psaltakis
 
αυτόχθονες λαοί!!!
αυτόχθονες λαοί!!!
Chrysa Arabatzoglou
 
The Mule Agent
The Mule Agent
Shanky Gupta
 
Containerization (Export/Import Goods)
Containerization (Export/Import Goods)
Dr. Sneha Sharma
 
Παχυσαρκία και μεταβολικό σύνδρομο
Παχυσαρκία και μεταβολικό σύνδρομο
psaltakis
 
μιηαιλιδου παγκρητιιο παιδιατρικο 2017
μιηαιλιδου παγκρητιιο παιδιατρικο 2017
psaltakis
 
Deploying and running in mule standalone
Deploying and running in mule standalone
AbdulImrankhan7
 
How to make .... google calendar
How to make .... google calendar
Joanna Soltysiak
 
Tarea interdisciplinar del curso Clásicos Escolares
Tarea interdisciplinar del curso Clásicos Escolares
tomasrodriguezreyes
 
mule salesforce
mule salesforce
F K
 
Mule soap web services
Mule soap web services
Naresh Naidu
 
Bashing cultural monsters in continuous integration by Vivek Ganesan XP Confe...
Bashing cultural monsters in continuous integration by Vivek Ganesan XP Confe...
XP Conference India
 
20150513_CarinaABrunson_Resume
20150513_CarinaABrunson_Resume
Carina Brunson
 
A LITTLE ABOUT MYSELF
A LITTLE ABOUT MYSELF
Steffi Sharon
 
Presentatie TIM Vastgoed - 10 minutes with BNI
Presentatie TIM Vastgoed - 10 minutes with BNI
Tim Schaap
 
SOA na Prática – Criando uma Aplicação BPMN com Bonita Open Solution, Mule ES...
SOA na Prática – Criando uma Aplicação BPMN com Bonita Open Solution, Mule ES...
Michel Azevedo
 
Prosklisi gs
Prosklisi gs
psaltakis
 
αυτόχθονες λαοί!!!
αυτόχθονες λαοί!!!
Chrysa Arabatzoglou
 
Containerization (Export/Import Goods)
Containerization (Export/Import Goods)
Dr. Sneha Sharma
 
Παχυσαρκία και μεταβολικό σύνδρομο
Παχυσαρκία και μεταβολικό σύνδρομο
psaltakis
 
μιηαιλιδου παγκρητιιο παιδιατρικο 2017
μιηαιλιδου παγκρητιιο παιδιατρικο 2017
psaltakis
 
Anúncio

Semelhante a Como criar um http proxy dinamico com mule parte 1 (7)

Substituindo o request message no mule
Substituindo o request message no mule
Jeison Barros
 
Tutorial esb (aulas praticas)
Tutorial esb (aulas praticas)
Ricardo Moreira Milhomem
 
Web services, aplicações, acesso a aplicações, XML, API
Web services, aplicações, acesso a aplicações, XML, API
Nuno Pereira
 
Curso de proxy
Curso de proxy
Regisnaldo Alencar
 
Web Services Rest
Web Services Rest
Bruno Luiz Pereira da Silva
 
XML Free Programming - Brazil
XML Free Programming - Brazil
Stephen Chin
 
PHP RESTful Web Services - PHPConf'09
PHP RESTful Web Services - PHPConf'09
Felipe Ribeiro
 
Substituindo o request message no mule
Substituindo o request message no mule
Jeison Barros
 
Web services, aplicações, acesso a aplicações, XML, API
Web services, aplicações, acesso a aplicações, XML, API
Nuno Pereira
 
XML Free Programming - Brazil
XML Free Programming - Brazil
Stephen Chin
 
PHP RESTful Web Services - PHPConf'09
PHP RESTful Web Services - PHPConf'09
Felipe Ribeiro
 
Anúncio

Mais de Jeison Barros (19)

Pdfteste
Pdfteste
Jeison Barros
 
Introduçã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 soap
Jeison Barros
 
Restful considerada prejudicial - parte 1
Restful considerada prejudicial - parte 1
Jeison Barros
 
Restful considerada prejudicial parte 2
Restful considerada prejudicial parte 2
Jeison Barros
 
Estraté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 json
Jeison Barros
 
Rest api vs SOAP
Rest api vs SOAP
Jeison Barros
 
Conectando 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 dados
Jeison Barros
 
Qual 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 1
Jeison Barros
 
Consumindo soap wsdl
Consumindo soap wsdl
Jeison Barros
 
Começ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 2
Jeison Barros
 
Fluxo dinâmicos usando spring aplication
Fluxo dinâmicos usando spring aplication
Jeison Barros
 
Data 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 splunk
Jeison Barros
 
Usando seu codigo java no mule part 2
Usando seu codigo java no mule part 2
Jeison Barros
 
Introduçã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 soap
Jeison Barros
 
Restful considerada prejudicial - parte 1
Restful considerada prejudicial - parte 1
Jeison Barros
 
Restful considerada prejudicial parte 2
Restful considerada prejudicial parte 2
Jeison Barros
 
Estraté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 json
Jeison Barros
 
Conectando 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 dados
Jeison Barros
 
Qual 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 1
Jeison Barros
 
Consumindo soap wsdl
Consumindo soap wsdl
Jeison Barros
 
Começ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 2
Jeison Barros
 
Fluxo dinâmicos usando spring aplication
Fluxo dinâmicos usando spring aplication
Jeison Barros
 
Data 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 splunk
Jeison Barros
 
Usando seu codigo java no mule part 2
Usando seu codigo java no mule part 2
Jeison Barros
 

Como criar um http proxy dinamico com mule parte 1

  • 1. Como criar um HTTP proxy dinamico com Mule – Parte 1 Principio O proxy encaminha a solicitação HTTP usando o contexto e as peças caminho relativo do URL de solicitação para determinar o servidor e a porta à qual o pedido deve ser encaminhado. No exemplo neste artigo um serviço web SOAP terá a ser implantado para ouvir a seguinte URL: http://localhost:8182/services/GreetingService No URL acima, o servidor ea porta é localhost: 8182, o contexto e as peças caminho relativo do URL é "serviços / GreetingService". O exemplo de programa será implantado para ouvir solicitações na seguinte URL: http://localhost:8981/dynamicHttpProxy/ A fim de invocar o GreetingService através do proxy HTTP, a URL do terminal será parecido com este: http://localhost:8981/dynamicHttpProxy/services/GreetingService Motivação A principal motivação para o proxy HTTP dinâmica é a capacidade de ser capaz de adicionar novos proxies HTTP com um mínimo de esforço e sem ter que reiniciar o proxy. Limitações do Programa Exemplo Falta do programa de exemplo para torná-lo utilizável em um ambiente de produção são: • Tratamento de erros. • Recuperação de configuração de banco de dados.
  • 2. No exemplo, um simples mapa é usado para armazenar o mapeamento entre o caminho relativo HTTP e o servidor de destino. Isso faz claro que não permitem modificar dinamicamente a configuração do proxy. • Suporte para verbos HTTP adicionais. No programa de exemplo apenas suporte para os verbos de HTTP GET e POST foram implementadas. É trivial para adicionar suporte para verbos HTTP adicionais, conforme necessário. • Manipulação de parâmetros HTTP. O programa de exemplo não considera parâmetros HTTP mas estes são considerados parte do caminho relativo HTTP. • Suporte para HTTPS. Há provavelmente coisas adicionais que se poderia considerar falta - sinta-se livre para adicionar sugestões nos comentários! Um serviço Proxy O exemplo de programa será implementado em um projeto da mula em SpringSource Tool Suite com o MuleStudio plug-in instalado. Qualquer IDE baseado em Eclipse com o MuleStudio plug-in instalado. Para ser ter um serviço de proxy, uma saudação-serviço SOAP simples é implementado usando um arquivo de configuração mula e uma classe Java. A configuração Mule contém a seguinte configuração: <?xml version="1.0" encoding="UTF-8"?> <mule xmlns:cxf="http://www.mulesoft.org/schema/mule/cxf" xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation " xmlns:spring="http://www.springframework.org/schema/beans" xmlns:test="http://www.mulesoft.org/schema/mule/test"
  • 3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.mulesoft.org/schema/mule/cxf http://www.mulesoft.org/sc hema/mule/cxf/current/mule-cxf.xsd http://www.springframework.org/schema/beans http://www.springfra mework.org/schema/beans/spring-beans-current.xsd http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/ schema/mule/core/current/mule.xsd http://www.mulesoft.org/schema/mule/test http://www.mulesoft.org/s chema/mule/test/current/mule-test.xsd"> <spring:beans> <spring:bean id="helloService" class="com.ivan.mule.dynamich ttpproxy.HelloService"/> </spring:beans> <flow name="GreetingFlow"> <inbound-endpoint address="http://localhost:8182/services/Gre etingService" exchange-pattern="request-response"/> <cxf:jaxws-service serviceClass="com.ivan.mule.dynamichttppr oxy.HelloService"/> <component> <spring-object bean="helloService"/> </component> </flow> </mule> A classe Java implementar o serviço se parece com isso:
  • 4. package com.ivan.mule.dynamichttpproxy; import java.util.Date; import javax.jws.WebParam; import javax.jws.WebResult; import javax.jws.WebService; /** * SOAP web service endpoint implementation class that implements * a service that extends greetings. * * @author Ivan Krizsan */ @WebService public class HelloService { /** * Greets the person with the supplied name. * * @param inName Name of person to greet. * @return Greeting. */ @WebResult(name = "greeting") public String greet(@WebParam(name = "inName") final String in Name) { return "Hello " + inName + ", the time is now " + new Date(); } } Informações server Classe Bean
  • 5. As instâncias da classe informações feijão servidor contém informações sobre um servidor que para encaminhar solicitações para. package com.ivan.mule.dynamichttpproxy; /** * Holds information about a server which to forward requests to. * * @author Ivan Krizsan */ public class ServerInformationBean { private String serverAddress; private String serverPort; private String serverName; /** * Creates an instance holding information about a server with sup plied * address, port and name. * * @param inServerAddress * @param inServerPort * @param inServerName */ public ServerInformationBean(final String inServerAddress, final String inServerPort, final String inServerName) { serverAddress = inServerAddress; serverPort = inServerPort; serverName = inServerName;
  • 6. } public String getServerAddress() { return serverAddress; } public String getServerPort() { return serverPort; } public String getServerName() { return serverName; } }