°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
Avalados por :
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>
°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
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 :
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
contacto@primeconsultor.com
+1 (305) 285-8622
© 2025 Todos los derechos reservados.
Desarrollado por Prime Consultor