Tags

, , , ,

Neste artigo irei mostrar como podemos gravar um conteúdo XML usando o DbAdapter do BPEL.

Abaixo um Describe Command para mostrar detalhes da tabela e campo onde irei realizar o Insert do XML

Imagem Blog UansCarvalho

Abaixo criei um projeto simples no BPEL chamado GravaXMLBpel

Imagem Blog UansCarvalho

Podemos então criar um DbAdapter com a opção Insert Only (mas pode ser o Merge sem problemas), no meu caso dei o nome de GravaXMLDBAdapter

Imagem Blog UansCarvalho

Agora estou importando a tabela PROJECT

Imagem Blog UansCarvalho

Criamos então nosso DBAdapter.

Imagem Blog UansCarvalho

Crie agora um BPEL normalmente e ligue com seu DBAdapter.

Imagem Blog UansCarvalho

Abra o seu xsd que é do seu BPEL criado, no meu caso é o GravaXMLBPELProcess.xsd

Imagem Blog UansCarvalho

Edite o seu element de entrada e crie dois campos apenas que será os que precisamos para realizar a gravação na tabela.

Imagem Blog UansCarvalho

Agora dentro do seu BPEL arraste o componente Invoke e ligue no seu Adapter e arraste um Transformation para ligarmos nosso Input em nosso Invoke

Imagem Blog UansCarvalho

Dê um duplo clique sobre o seu Transform para então ligarmos nosso Input com a variável de Input do nosso Adapter.

Imagem Blog UansCarvalho

Clique em Ok e seu Transformation será aberto, então ligue o IdDepartamento com o projectno e no campo xml do seu lado direito que corresponde a sua tabela, clique com o botão direito navegue até a opção Add XSL Node e escolha a opção copy-of

Imagem Blog UansCarvalho

Ficará assim:

Imagem Blog UansCarvalho

Ligue então o xml do seu lado esquerdo com o copy-of do seu lado direito

Imagem Blog UansCarvalho

Salve tudo e realize o deploy do Projeto e vamos testar:

Veja abaixo que dentro da tag <ns1:xml> estou passando um XML qualquer
Imagem Blog UansCarvalho

Veja abaixo nosso conteúdo XML inserido no campo XML da tabela PROJECT

Imagem Blog UansCarvalho

Imagem Blog UansCarvalho

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

 

Abraços e até a Próxima

/:-D