Erro ao usar a função REST - Consumir WebService



  • Olá, estou tentando usar a função REST - Consumir WebService e ainda não obtive exito.

    Já consultei aqui no forum e até achei alguns posts falando sobre o assunto, mas ainda não consegui fazer funcionar.

    Já tentei seguir conforme o Manual do maker, mas também sem sucesso!

    Já assisti um video da softwell usando essa função (me parece que em versão anterior, pois, tem menos parâmetros que a atual), mas da mesma forma não consegui fazer funcionar.

    O webservice que estou consultando é o seguinte:

    https://www.alphavantage.co/query?function=GLOBAL_QUOTE&symbol=MSFT&apikey=demo

    e ele retorna um json assim:

    {
    "Global Quote": {
    "01. symbol": "MSFT",
    "02. open": "122.6200",
    "03. high": "124.0000",
    "04. low": "122.6100",
    "05. price": "123.7600",
    "06. volume": "15648724",
    "07. latest trading day": "2019-04-22",
    "08. previous close": "123.3700",
    "09. change": "0.3900",
    "10. change percent": "0.3161%"
    }
    }


    Estou informado os parâmetros da função em fluxo na camada Servidor da seguinte forma:

    Parâmetro 1: GET
    Parâmetro 2: https://www.alphavantage.co/query
    Parâmetro 3: function=GLOBAL_QUOTE&symbol=MSFT&apikey=demo
    Parâmetro 4: Nulo ou com outra função que recebe uma mensagem e apresenta a mensagem para o usuário.
    Parâmetro 5: Nulo
    Parâmetro 6: Nulo
    Parâmetro 7: Nulo
    Parâmetro 8: Nulo
    Parâmetro 9: Nulo ou com outra função que recebe uma mensagem e apresenta a mensagem para o usuário.
    Parâmetro 10: Nulo.

    Ao tentar executar, apresenta a mensagem de erro abaixo:

    Exceção Gerada:
    javax.net.ssl.SSLException: Received fatal alert: internal_error
    at sun.security.ssl.Alerts.getSSLException(Alerts.java:208)
    at sun.security.ssl.Alerts.getSSLException(Alerts.java:154)
    at sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:2023)
    at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1125)
    at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1375)
    at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1403)
    at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1387)
    at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:553)
    at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:412)
    at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:179)
    at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:328)
    at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:612)
    at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:447)
    at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:884)
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:107)
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:55)
    at wfr.com.systems.system_cb3.rules.WebrunFunctions.ebfRestCall(WebrunFunctions.java:12641)
    at wfr.com.systems.system_cb3.rules.ObterCotacaoByAlphavantagedebug00000000000000000000000000000000.run(ObterCotacaoByAlphavantagedebug00000000000000000000000000000000.java:74)
    at wfr.rules.WFRRule.start(SourceFile:761)
    at wfr.rules.WFRRule.call(SourceFile:1823)
    at wfr.rules.WFRRule.call(SourceFile:57)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)


  • javax.net.ssl.SSLException: Received fatal alert: internal_error

    Esse problema está associado ao HTTPS.

    Tudo indica que o Java que está rodando o Webrun não está reconhecendo o certificado. Vc pode add manualmente no cacerts do Java do Webrun (geralmente dirInstalacao\Webrun Studio\java\jre\lib\security) ou atualizar a versão do Java.

    Para atualizar:
    a. Instala o JDK 1.8 mais atualizado em um diretório qualquer (pode ser o padrão)
    b. Para o serviço do Webrun Studio
    c. Renomeia a pasta "[color=#FFBF40]java[/color]" ([b]dirInstalacao[/b]\Webrun Studio\java) para "[color=#FF0040]java_old[/color]"
    d. Copia a instalação realizada no passo "a" para o diretório "dirInstalacao\Webrun Studio\" Preservando o nome "java"
    e. Iniciar o serviço e testar novamente.


  • [quote="Ronélio Oliveira" post_id=9272 time=1556300481 user_id=67] javax.net.ssl.SSLException: Received fatal alert: internal_error

    Esse problema está associado ao HTTPS.

    Tudo indica que o Java que está rodando o Webrun não está reconhecendo o certificado. Vc pode add manualmente no cacerts do Java do Webrun (geralmente dirInstalacao\Webrun Studio\java\jre\lib\security) ou atualizar a versão do Java.

    Para atualizar:
    a. Instala o JDK 1.8 mais atualizado em um diretório qualquer (pode ser o padrão)
    b. Para o serviço do Webrun Studio
    c. Renomeia a pasta "[color=#FFBF40]java[/color]" ([b]dirInstalacao[/b]\Webrun Studio\java) para "[color=#FF0040]java_old[/color]"
    d. Copia a instalação realizada no passo "a" para o diretório "dirInstalacao\Webrun Studio\" Preservando o nome "java"
    e. Iniciar o serviço e testar novamente. [/quote] Opa, valeu e muito obrigado era isso mesmo!


  • Opa, excelente!

    Vou encerrar o tópico!

Log in to reply