Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: Atualização guia de marca
Informações
titleAtenção

Esta página foi revisada para considerar as novas configurações de server do TOTVS Fluig Plataforma para a atualização 1.6.

Índice

Índice
maxLevel4
outlinetrue
exclude.*ndice
stylenone

 


Objetivo

O objetivo desse guia é apresentar a integração de widgets com serviços REST.

 


Integração de widget com serviços REST

Para obter dados de uma fonte externa à plataforma, a forma mais aconselhável é por chamada REST. Vamos criar um REST  dentro do próprio widget, para isso devemos seguir alguns passos.

...

Em seguida, temos que alterar os arquivos jboss-web.xml

Nota
titleFique atento!

A propriedade context-root precisa ser idêntica ao application.code fornecido para a sua widget no arquivo application.info, precedida por uma "/".

Exemplo: se sua widget possui o código news, o context-root precisa ser /news.

Bloco de código
languagexml
<?xml version="1.0" encoding="UTF-8"?>
<jboss-web>
    <context-root>/news</context-root>
    <disable-cross-context>false</disable-cross-context>
    <security-domain>TOTVSTech</security-domain>
    <security-role>
        <role-name>user</role-name>
        <principal-name>totvstech</principal-name>
    </security-role>
    <security-role>
        <role-name>totvstech</role-name>
        <principal-name>totvstech</principal-name>
    </security-role>
    <security-role>
        <role-name>sysadmin</role-name>
        <principal-name>wcmadmin</principal-name>
    </security-role>
    <security-role>
        <role-name>admin</role-name>
        <principal-name>wcmadmin</principal-name>
    </security-role>
    <valve>
        <class-name>com.totvs.technology.auth.saml.TOTVSAuthenticatorValve</class-name>
    </valve>
</jboss-web>

Também temos que alterar o arquivo web.xml para que possamos acessar esse REST.

Bloco de código
languagexml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
	 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
	 version="3.0">
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    <!-- REST -->
    <security-constraint>
        <display-name>REST</display-name>
        <web-resource-collection>
            <web-resource-name>REST</web-resource-name>
            <description>REST</description>
            <url-pattern>/api/rest/*</url-pattern>
        </web-resource-collection>
        <auth-constraint>
            <description>REST</description>
            <role-name>user</role-name>
        </auth-constraint>
    </security-constraint>
    <login-config>
        <auth-method>FORM<method>FLUIGAUTH,FORM</auth-method>
        <realm-name>TOTVSTech</realm-name>
        <form-login-config>
            <form-login-page>/login.jsp</form-login-page>
            <form-error-page>/loginfail.jsp</form-error-page>
        </form-login-config>
    </login-config>
    <security-role>
        <role-name>totvstech</role-name>
    </security-role>
    <security-role>
        <role-name>user</role-name>
    </security-role>
    <security-role>
        <role-name>sysadmin</role-name>
    </security-role>
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
</web-app>

...

  • '/news': é o código do widget;
  • '/api/rest': é o @Path da classe ApplicationConfig.java;
  • '/news': é o @Path da classe NewsRest.java;
  • '/feed': é o @Path do método da classe NewsRest.java que desejamos chamar.

Pom.xml

Por fim, temos de declarar a dependência ao módulo foundation-security-authentication-saml no pom.xml do widget.

...

languagexml

...

  • .

...

 

...