sábado, 13 de maio de 2017

Rest Adapter - SOA Suite 12c

Neste post irei consumir o mesmo serviço Rest criado no post "IntelliJ, Spring Boot and Rest" no SOA Suite 12c usando o "Rest Adapter".
Crie um "Application" e um projeto do Service Bus para fazer este exemplo. Caso tenha duvida de como criar veja no post "Criando e testando Proxy Service no JDeveloper 12c".

Passos:

1-) Arraste o componente "Rest" para "External Service".


2-) Irá abrir uma popup preencha com os seguintes valores:

  • Name: "MyTestReference"
  • Type: "Reference"
  • Reference will beinvoked by components using WSDL interfaces: "true"

Click em "Next"




3-) Na próxima tela, preencha os valores:
Base URI: "http://localhost:8090/mytest"
Resource edite para "/myPostMethod"



4-) Em "Methods" clck no sinal de "+", irá aparecer a seguinte popup:


5-) Preencha os campos com os seguintes valores:
Method: "myPostMethod"
Http Verb: "POST"


6-) Na aba "Request", click na engrenagem "Difine Schema for Native Format" de "Schema URL" e irá aparecer a seguinte popup, click em "Next":



7-) Em "File Name" preencha "myPostRequest.xsd" e click em "Next":



8-) Click em "Next":



9-) Em "Sample" preencha com {"firstName":"string","lastName":"string"} e click em "Next":



10-) Click em "Next":



11-) Click em "Finish":


12-) Voltamos para a popup anterior, selecione o xsd gerado em "Schema URL".
Agora vamos comfigurar o response. Click na aba "Response", em "Payload" selecione "JSON" e execute os mesmos passos (6 a 11) mas para as seguintes configurações:

File Name: "myPostResponse.xsd"
Sample: "{"welcome":"string"}"


Click em "OK".

13-) Click em "Finish":


14-) Foi gerado o business  MyTestReference.bix, click com o botão direito nele selecione "Run" para testarmos:


Na tela de teste, repare que podemos testar tanto em SOAP quanto REST

Teste SOAP:



Teste Rest:

2 comentários:

  1. Se eu precisar usar um campo já existente no soap ex. name no rest como nome como posso fazer isso ? verb post mesmo.

    ResponderExcluir
    Respostas
    1. No caso deste post, a definição do schema e do JSON tem que ter os mesmos nomes para os elementos, pois os mesmos mapeiam a request da API que está sendo consumida.

      Excluir