Вы находитесь на странице: 1из 7

Vamos ver como chamar um servio em BPEL.

Para tanto, vamos utilizar o servio de converso que desenvolvemos


no tutorial Criando um WS com o Eclipse, da 1 semana o ConversorService.
Antes de tudo, vamos fazer o deploy desse servio no servidor Apache. Para tanto, abra o projeto do Conversor no
Eclipse e, com o boto direito no nome do projeto, escolha a opo Export War File. A janela que abre pergunta
o destino do arquivo .war a ser gerado. Navegue (browse) at a pasta webapps de onde se encontra instalado o seu
Apache Tomcat. O destino composto da pasta mais o nome do arquivo (que deve ser ConversorWS.war).
Por exemplo, no meu computador a pasta a seguinte:
C:\Program Files\Apache Tomcat 7\webapps\ConversorWS.war
Feito isso, Abra o Eclipse e siga os passos seguintes:
1. Abra o Eclipse.
2. Ative o Servidor ODE.
Opcional: se desejar testar se o servio de converso est ativo e funcionando, abra um navegador Web (ou o SoapUI)
e direcione-o para http://localhost:8080/ConversorWS/services/Conversor?wsdl. Se tudo estiver ok, o wsdl dele
aparecer!
3. Crie um novo projeto BPEL, chamado de BPELConversor.
4. Crie um processo BPEL. Conforme o exemplo:




No se esquea de que o processo do tipo sncrono e que o endereo do servio deve incluir a pasta
ode/processes!
5. Quando o editor grfico abrir, troque o tipo da tarefa genrica para Invoke (algo similar foi feito no Ol
Mundo BPEL) e adicione duas tarefas Assign (uma antes e uma depois do Invoke), conforme o exemplo:

6. Clique na atividade Fix_ME-Add_Business_Logic_Here e pressione F2. Com isso, voc poder trocar o
nome dela para um mais significativo. Chame-a de InvokeConversor. Faa o mesmo para Assign e Assign1,
conforme o exemplo:

7. Antes de seguir adiante, vamos importar o WSDL do servio de Converso. Para tanto, clique com o boto
direito no nome do seu projeto (na pasta bpelContent) e selecione Import WSDL. Na janela que abre,
digite a URL de onde se encontra o WSDL do WS conversor (http://localhost:8080/ConversorWS/services/
Conversor?wsdl).
8. Clique em InvokeConversor e v para sua janela de propriedades (abaixo do desenho). V para a aba
details, conforme o exemplo:



9. Em Partner Link, selecione a opo Create Global Partner Link.:



10. Depois, vrias janelas aparecero. A primeira pergunta o nome do link para o servio parceiro:



11. A segunda associa um link parceiro a um servio. Como ns j importamos o WSDL do servio, ele deve
aparecer. Basta selecion-lo, conforme o exemplo:



a) A janela seguinte pergunta que nome de tipo voc quer dar para o Link Type. Escolha um nome
qualquer, como, por exemplo: conversorLTN.
b) Finalmente, a ltima janela pergunta qual o papel que o servio ter dentro da composio. Escolha
d o nome de ConversorRole e selecione Conversor. Clique em finish!

12. Precisamos configurar os tipos de dados do BPEL de maneira que eles sejam compatveis com os tipos do
servio de converso. O servio de converso recebe floats e retorna floats. Para tanto, clique no
ConversorInvocatorArtifacts.wsdl do seu projeto bpel:




13. Ao fazer isso, a janela seguinte aparece. Clique nas setas ao lado das operaes do ConversorInvocator,
conforme o exemplo (em ConversorInvocatorRequest):


a) Ao fazer isso, abre-se uma nova janela como a seguinte. Clique no tipo e troque para float:


b) Salve e feche o arquivo. Depois, repita o processo para a outra seta (para o
ConversorInvocatorResponse)!

14. Clique novamente em InvokeConversor e v para sua janela de propriedades (abaixo do desenho). V
para a aba details e selecione o convesorws como Partner Link. Agora as operaes do novo servio
parceiro devem estar aparecendo nas propriedades da tarefa Invoke. Selecione uma delas
(celciusParaFarenheit, por exemplo):



a) Observe que, do lado direito, na seo Quick Pick, as funcionalidades do servio aparecem. D um
clique duplo em celciusParaFarenheitRequest. Com isso, as variveis de entrada e sada dela sero
adicionadas ao editor...













b) Se voc fez tudo direitinho at agora, duas novas variveis devem ter aparecido (ver figura abaixo).
Confirme se isso ocorreu, pois voc precisar delas para os passos seguintes.



15. No editor grfico, clique na atividade AssignInputToWSInput e abra sua janela de propriedades. V para
a aba details:



a) Clique em New para criar uma nova atribuio. Associe a varivel input com a varivel
celciusParaFarenheit:




Aps selecion-las, clique no editor grfico. Ele vai perguntar se voc deseja criar um inicializador para a
varivel. Responda que sim.
16. No editor grfico, selecione a outra tarefa de AssignWSResultToOutput, abaixo de Invoke, e abra sua
janela de propriedades. V para a aba details e crie uma nova varivel para associar
celciusParaFarenheitReturn com a varivel result, conforme o exemplo:



Novamente, clique no editor grfico. Ele vai perguntar se voc deseja criar um inicializador para a varivel.
Responda que sim.

17. Clique no arquivo wsdl do processo bpel (timeinvocatorArtifacts.wsdl) e a seguinte tela deve aparecer:



18. Clique no ConversorInvocatorService e ajuste suas propriedades para que aponte para o endereo correto:


19. Crie um novo arquivo do tipo BPEL Deployment Descriptor:



20. Nele, ajuste o partner link de inbound interfaces para ConversorInvocatorPort e o de outbound interfaces
para Conversor:


21. Salve tudo e faa o deploy do servio bpel recm criado (veja o tutorial HelloWorldBpel, caso no lembre).

22. Teste com o SoapUI ou com o Web services explorer do Eclipse.

Вам также может понравиться