Chamar serviço com Basic Authentication no BPEL ou BPM


Nesse post eu vou mostrar como chamar um serviço com Basic Authentication no BPEL ou BPM.

Vou fazer criando um processo BPM porém para criar no BPEL é o mesmo processo.

Obs: Para a realização desse post foi usado a versão 11.1.1.6.0 do JDeveloper.

O print abaixo mostra o composite de um projeto bpm com um Web Service.

Esse serviço possui Basic Authentication, por isso necessitamos passar login e senha para acessar qualquer método desse serviço.

Para chamar o serviço primeiramente nós precisamos setar as Policies.

Para isso clique  com o botão direto no serviço e clique em Configure WS Policies.

Na seguinte tela, na seção Security clique no botão ” + ” e selecione o item oracle/wss_username_token_client_policy.

Clique em OK.

Você será redirecionado para a tela principal do composite. Repare que agora o serviço ficou com o desenho de um cadeado amarelo.

Agora nós vamos setar o login que sera usado para autenticar esse serviço.

Para fazer isso selecione o serviço e na seção Bindings Properties, clique no botão verde ” + “.

E adicione a seguinte propriedade:

Name: oracle.webservices.auth.username

Value: SEU_USERNAME_PARA_AUTENTICACAO

Clique em OK.

A propriedade deveria aparecer na lista de propriedades da seção Bindings Properties, mas o Jdeveloper deve ter algum bug que não deixa essas propriedades serem exibidas. Porém não se preocupe com isso.

Agora vamos setar a senha para o usuário, repita o mesmo passo para setar o username, porém agora utilize as propriedades abaixo:

Name: oracle.webservices.auth.password

Value: SENHA_DO_USUARIO.

Pronto você configurou a autenticação para poder chamar seu serviço no BPEL ou BPM.

Para ter certeza que as propriedades foram adicionadas com sucesso, basta visualizar o source do composite.xml, caso as propriedades que você adicionou esteja aparecendo na referencia do seu serviço, isso que dizer que tudo funcionou como esperado.

A referência do seu serviço deve ser parecida com essa:


<reference name="ServicoSeguro" ui:wsdlLocation="CheckIn.wsdl">
 <interface.wsdl interface="http://www.xxx.xxx.xxx/#wsdl.interface(CheckInSoap)"/>
 <binding.ws port="http://www.xxx.xxx/xxx/#wsdl.endpoint(CheckIn/CheckInSoap)"
 location="CheckIn.wsdl" soapVersion="1.1">
 <wsp:PolicyReference URI="oracle/wss_username_token_client_policy"
 orawsp:category="security" orawsp:status="enabled"/>
 <property name="weblogic.wsee.wsat.transaction.flowOption"
 type="xs:string" many="false">WSDLDriven</property>
 <property name="oracle.webservices.auth.username" type="xs:string"
 many="false" override="may">SEU_USERNAME_PARA_AUTENTICACAO</property>
 <property name="oracle.webservices.auth.password" type="xs:string"
 many="false" override="may">SENHA_DO_USUARIO</property>
 </binding.ws>
 </reference>

Até o próximo post.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *