Avalados por :

Solução para erro de conexão a webservice SSL com B1if e átomo Call HTTP

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 7 Vistas
0
Loading...

Olá a todos,

Versão do B1if: 1.19.3

Preciso fazer uma conexão a um webservice ssl.

Para isso, estou usando o átomo Call HTTP, pois assim posso controlar o payload completo (cabeçalho + corpo) da mensagem soap.

Importei o certificado em um repositório de confiança que configurei no centro de controle.

Após executar a chamada, recebo o seguinte erro:


<Payload Role="C" id="atom2" statusNo="HTTP" statusMsg="" reference="atom3" sysid="" payload="atom3" throwException="false">
  <http.header />
     <httaError xmlns="urn:com.sap.b1i.xcellerator:upltdoc" HTTPcode="" HTTPmsg="">
       <exceptionMsg>javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure</exceptionMsg>
       <returnData />
  </httaError>
  </Payload>

Minha configuração de conexão é a seguinte (omitindo informações sensíveis, é claro)


<connect>
  <destProtocol>https</destProtocol>
  <destHost>myenv.myhost.com</destHost>
  <destPort>443</destPort>
  <destPath>mypath/sub</destPath>
  <query />
  <proxyHost>myproxy.net</proxyHost>
  <proxyPort>8080</proxyPort>
  <method>post</method>
  <authentification>none</authentification>
  <user />
  <password />
  <user2query />
  <password2query />
  <trustStoreURI>com.sap.b1i.vplatform.directory/System/truststore.jks</trustStoreURI>
  <keyStoreURI /> </connect>

O xml do payload é muito básico, apenas uma solicitação para iniciar sessão no webservice e obter um token de retorno.


<payload>
- <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
- <s:Header>
  <Action xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none" s:mustUnderstand="1">https://mycompleteurl.com</Action> 
  </s:Header>
- <s:Body xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <login xmlns="https://schemas.xmlsoap.org/ws/2005/05/identity">
    <username>myusername</username>
    <password>mypassword</password>
  </login>
</s:Body>
</s:Envelope>
Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

2 Respuestas

0
Loading...

°Olá Bastian!

°Sim! °Agora está funcionando!

Uma coisa que precisei adicionar foi o certificado que recebi do fornecedor. Adicionei ao repositório de confiança Tomcat.jks e então funcionou...

Muito obrigado pela ajuda.

Cumprimentos,

Joeri

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Loading...

Hi Joeri,


A seguinte descrição estabelece uma conexão de handshake SSL entre o Cliente e o Servidor.

O cliente (B1iF) se identifica usando trustStoreURI e o servidor é definido pelo keyStoreURI, onde o certificado deve ser carregado .

Já carregou o arquivo .keystore em B1if BizStore para usá-lo como trustStore?

.keystore possui um certificado autoassinado do servidor B1i e pode ser encontrado em <Pasta de Instalação do B1i>\Tomcat\webapps\B1iXcellerator

Para carregar o arquivo, por favor, use o B1i Control Center -> Manutenção -> BizStore Upload :

    • Configurações do Tipo de Carga = bpm.pltype=jks
    • Nome do Arquivo = .keystore
    • BizStore-URI = /com.sap.b1i.vplatform.directory/Certificates/Tomcat(unified)

Pressione "Enviar" e verifique o arquivo carregado através de B1i Control Center -> Configurações -> Administrador de Certificados selecionando o BizStore-URI escolhido.

O alias utilizado é "tomcat". A senha necessária para ver "Detalhes Adicionais" está em <Pasta de Instalação do B1i>\Tomcat\conf\server.xml.

Para o seu certificado externo, por exemplo *.pfx, por favor, use o mesmo método de carregamento com as seguintes Configurações do Tipo de Carga: bpm.pltype=pfx.

Agora você pode usar ambos os certificados como keyStore e trustStore preenchendo os seguintes parâmetros em seu carregamento xslt:


<connect>
<!--a seção de conexão é opcional - você também pode definir uma referência ao sld-->
<destProtocol>https</destProtocol>
<destHost>seu host</destHost>
<destPort>443</destPort>
<destPath>sua rota</destPath>
<query></query>
<proxyHost>seu webproxy</proxyHost>
<proxyPort>sua porta de proxy web</proxyPort>
<method>POST</method>
<authentification>x509</authentification>
<user>usuário do seu certificado externo</user>
<password>senha do seu certificado externo</password>
<user2query></user2query>
<password2query></password2query>
<trustStoreURI> /com.sap.b1i.vplatform.directory/Certificates/Tomcat.jks</trustStoreURI>
<keyStoreURI>/com.sap.b1i.vplatform.directory/Certificates/<externalCertificate>.pfx</keyStoreURI>
</connect>

Atenciosamente

Bastian

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?