Acessar WebService TOTVS RM pelo JAVA.
Neste tutorial vou demonstrar como acessar os webservices do TOTVS RM utilizando a linguagem de programação Java.
Entre em contato e faça um orçamento.
Após configurar seu ambiente de desenvolvimento crie um novo projeto java.
Em seguida, na pasta do seu projeto clique com o botão direito do mouse e em seguida vá em NEW > Other > Web Service Client.
Nesta janela inclua o endereço do seu webservice. Exemplo: http://localhost:8054/wsConsultaSQL/MEX?wsdl
Caso tenha dificuldades para entendimento desta URL, confira este artigo: Como configurar o webservice pelo RM Host ( Recomendado )
Após o preenchimento clique em Finish.
Erros no Eclipse
Em meu ambiente aconteceram alguns erros, entre eles cito os dois abaixo:
The package javax.xml.namespace is accessible from more than one module: <unnamed>, java.xml
The type javax.xml.rpc.ServiceException cannot be resolved. It is indirectly referenced from required .class files
Para os erros citados acima a solução aplicada no meu ambiente foi remover o arquivo javaxrpc.jar e importar este: Javaxrpc-api-1.1
As etapas para este processo são: Clicar com botão direito do mouse nas propriedades do seu projeto, vá em java build path, remova o javaxrpc.jar e após baixar o arquivo indicado acima vá em add external Jar e importe o arquivo JAR que você baixou do repositório Maven.
wsConsSQL
Para realizar consultas SQL é necessário utilizar o webservice exclusivo para esta finalidade. Ele pode ser encontrado na sua url, conforme exemplo: http://localhost:8054/wsConsultaSQL/MEX?wsdl
Realize a primeira etapa, criando o webservice Client utilizando este endereço.
Em seguida, crie um novo arquivo java, chamado Principal, e inclua o seguinte código.
Atenção para dois itens, a variável endpoint deverá ser adaptada conforme seu ambiente foi configurado e o método realizarConsultaSQL recebe como parâmetro: sqlStub.realizarConsultaSQL(Código da Consulta SQL no RM, Código da Coligada de onde a Consulta foi Criada, Letra do Sistema onde a consulta foi criada, Parâmetros);
package br.eti.willian;
import java.net.MalformedURLException;
import java.net.URL;
import java.rmi.RemoteException;
import com.totvs.www.RM_IRMSServerStub;
import com.totvs.www.RM_IwsConsultaSQLStub;
public class Principal {
public static void main(String[] args) {
String xml="";
try {
URL endpoint = new URL("http://localhost:8054/wsConsultaSQL/IwsConsultaSQL/");
RM_IRMSServerStub r = new RM_IRMSServerStub();
RM_IwsConsultaSQLStub sqlStub = new RM_IwsConsultaSQLStub(endpoint, r._getService());
sqlStub.setUsername("usuarioDoRm");
sqlStub.setPassword("senhaDoRm");
xml = sqlStub.realizarConsultaSQL("teste", 1, "T", "");
} catch (RemoteException | MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(xml);
}
}
Veja o tópico Conclusão deste artigo.
RMDataServer
Neste tópico será demonstrado como utilizar o RMDataServer implementado no Java.
Para realizar a leitura do DataServer com java é necessário utilizar o webservice exclusivo para esta finalidade. Ele pode ser encontrado na sua url, conforme exemplo: http://localhost:8054/wsDataServer/MEX?wsdl
Ajuste a variável endpoint, conforme seu endereço.
package br.eti.willian;
import java.net.MalformedURLException;
import java.net.URL;
import java.rmi.RemoteException;
import com.totvs.www.RM_IRMSServerStub;
import com.totvs.www.RM_IwsDataServerStub;
public class Principal {
public static void main(String[] args) {
String xml = "";
URL endpoint;
try {
endpoint = new URL("http://localhost:8054/wsDataServer/IwsDataServer");
RM_IRMSServerStub r = new RM_IRMSServerStub();
RM_IwsDataServerStub dataServerStub = new RM_IwsDataServerStub(endpoint, r._getService());
dataServerStub.setUsername("usuarioDoRM");
dataServerStub.setPassword("senhaDoRM");
xml = dataServerStub.readView("MovTmvData", "TTMV.CODCOLIGADA=1", "CODCOLIGADA=1;CODSISTEMA=T");
System.out.println(xml);
} catch (MalformedURLException | RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Conclusão
O TOTVS RM tem evoluído nas integrações REST, entretanto não consigo dizer se todos os recursos já são homologados neste método. O objetivo deste documento é demonstrar de forma prática como executar as rotinas de webservices do TOTVS RM através da linguagem de programação java e utilizando os webservices em XML.
Após concluir a integração com o RM você perceberá que o retorno das funções são registros, do tipo string, que contém o conteúdo em XML.
Caberá agora a você buscar meios de Converter este XML em um Objeto java e em seguida continuar com seu projeto.
Obrigado.
Entre em contato e faça um orçamento.
Comments ()