DesenvolvimentoBanco de DadosGravando um anexo (Attachment) no Banco de Dados com...

Gravando um anexo (Attachment) no Banco de Dados com o BPEL

-

Um processo BPEL pode receber um anexo (Attachment) MIME juntamente com um Payload. O anexo pode estar em qualquer formato (Por exemplo, DOC, PDF, JPEG, XML, Texto, e assim por diante).

Vamos neste primeiro momento enviar um arquivo do tipo JPEG ao BPEL e gravá-lo em um Banco de Dados usando a função ora:getAttachmentContent do BPEL

A grande jogada para fazermos isso está nas definições do WSDL, o restante será muito tranquilo.

Vamos a definição do WSDL por partes:

Aqui teremos as operações de Request e Response normalmente, no Request enviaremos um ID de Transação.

No Response receberemos um código e uma mensagem de erro ou sucesso da nossa operação de Gravação.

Imagem Blog UansCarvalho

Abaixo terá um detalhe muito importante na definição das mensagens onde estará o nosso “anexo” que deverá ser do tipo “binário”

Imagem Blog UansCarvalho

Logo Abaixo também teremos outro passo muito importante do nosso WSDL que será no “input” do nosso “operation”, veja que é imprescindível que esteja entre uma tag do tipo <mime:multipartRelated>

Imagem Blog UansCarvalho

Abaixo segue o nosso WSDL completo:

Imagem Blog UansCarvalho

Imagem Blog UansCarvalho

WSDL OK.

Agora vamos criar um DBAdapter para realizar a gravação do nosso arquivo.

Observação: o campo da tabela no banco de dados onde iremos gravar o arquivo deverá ser do tipo BLOB

Abaixo um DBAdapter criado com o nome GravaArquivoDBAdapter

Imagem Blog UansCarvalho

Agora vamos criar um BPEL baseado em nosso WSDL criado anteriormente e ligarmos em nosso novo DBAdapter.

Imagem Blog UansCarvalho

Agora abra o BPEL e arraste um Assign para iniciarmos nossas variáveis e um Invoke para nosso DBAdapter:

Imagem Blog UansCarvalho

Após isso arraste mais um Assign abaixo do Invoke para colocarmos uma mensagem de sucesso caso nossa imagem seja gravada com sucesso e adicione também um CatchAll com outro Assign em caso de nossa imagem não ser gravada conforme abaixo:

Imagem Blog UansCarvalho

Vamos iniciar nossas variáveis:

  1. Ligue o idTransacao do input do seu WSDL com o input da sua variável criada para seu Invoke
  2. Ainda no seu input da variável do seu Invoke arraste uma Expression para ela e coloque o código abaixo

ora:getAttachmentContent(“inputVariable”,”anexo”)

Então ficaremos assim:

Imagem Blog UansCarvalho

Preencha sua Variável abaixo do Invoke caso a imagem seja gravada com sucesso.

Imagem Blog UansCarvalho

Pronto.. Agora realize o deploy localmente e vamos testá-lo.

Primeiro no EM pegue o WSDL do seu BPEL

Imagem Blog UansCarvalho

Para testarmos, vamos enviar um arquivo do tipo JPEG através do SOAUI, primeiro vamos inserir o WSDL do nosso projeto conforme abaixo:

Imagem Blog UansCarvalho

Abra o Request e em idTransacao coloque o numero 1 para criarmos uma transação com numero 1, e clique em Attachments conforme abaixo:

Imagem Blog UansCarvalho

Agora clique no sinal + e será aberto um popup para que você localize a imagem que deseja inserir, no meu caso Imagem.jpeg

Imagem Blog UansCarvalho

Clique em Open e outro popup será aberto conforme abaixo, clique em Yes em seguida para que a imagem seja anexada ao SoapUi

Imagem Blog UansCarvalho

Veja que a imagem agora foi anexada e logo abaixo em attachments está com o numero 1

Porem veja que na guia Part conforme indica a seta vermelha, está vazia e em Type está UNKNOWN.

Imagem Blog UansCarvalho

Clique em Part e escolha a opção anexo e veja que em Type irá automaticamente mudar para MIME.

Imagem Blog UansCarvalho

Agora no seu SoapUi clique em Submit (setinha > verde) para executar o nosso processo.

Imagem Blog UansCarvalho

Caso sua mensagem seja essa, o nosso processo foi concluído com sucesso.

Imagem Blog UansCarvalho

Agora basta conferir no seu banco de Dados o ID da transação referente a imagem que inserirmos.

Imagem Blog UansCarvalho

Duvidas ? Deixe seu comentário e faça download deste Projeto :-)

Abraços e até a Próxima

/:-D

 

 

Uanderson Carvalhohttp://uanscarvalho.com.br/
Uanderson Carvalho é um Oracle ACE, especialista Oracle SOA com foco em integração entre sistemas legado utilizando as tecnologias Oracle Fusion Middleware e SOA, Pós-graduado em Administração de Banco de Dados Oracle. Certificado pela Oracle como: Oracle SOA Suite 11g Certified Implementation Specialist.

Latest news

Plano de conteúdo para redes sociais: o que divulgar sendo uma empresa de TI?

Não encontrar o conteúdo certo para a rede social da sua empresa é um problema que está perto de acabar. Acesse e conheça o Plano de Conteúdo!

Estratégia de comunicação para TI: 5 erros para NÃO cometer

Existem 5 erros comuns que você não pode cometer mais na comunicação da sua empresa. Se você é um MSP que busca o sucesso, acesse e confira!

Inovação e Liderança: Uma Jornada de Transformação Digital

Inovação e Liderança: Uma Jornada de Transformação DigitalNo ritmo acelerado do mundo de hoje, a combinação de inovação e empreendedorismo é fundamental para profissionais que desejam gerar impacto nas organizações. Ao longo da minha carreira, passei de funções técnicas para posições de liderança, e, nesse caminho, aprendi como a tecnologia pode ser uma força transformadora nos negócios.

IDCA – A Força Motriz por Trás da Excelência em Infraestrutura Digital

Em um mundo cada vez mais digital, a Infraestrutura Digital robusta e confiável se tornou a espinha dorsal da sociedade moderna. É nesse cenário crucial que o IDCA (International Data Center Authority) se destaca como líder mundial, moldando o presente e o futuro da indústria. Mas o que torna o IDCA tão especial?
Publicidade

Gerenciador de senhas: saiba como fortalecer a segurança de TI da sua empresa em 2024

Um gerenciador de senhas é uma ferramenta projetada para armazenar, organizar e gerenciar senhas de forma segura. Mas podemos mostrar que ele vai muito além disso!

Software para MSPs: indo além do preço ao procurar pelas ferramentas certas

Confira 5 dicas essenciais para escolher as melhores plataformas para compor o monitoramento e segurança da infraestrutura de TI dos seus clientes

Must read

Plano de conteúdo para redes sociais: o que divulgar sendo uma empresa de TI?

Não encontrar o conteúdo certo para a rede social da sua empresa é um problema que está perto de acabar. Acesse e conheça o Plano de Conteúdo!

Estratégia de comunicação para TI: 5 erros para NÃO cometer

Existem 5 erros comuns que você não pode cometer mais na comunicação da sua empresa. Se você é um MSP que busca o sucesso, acesse e confira!
- Advertisement -

You might also likeRELATED
Recommended to you