Acessar WebService TOTVS RM pelo JAVA.

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.

criar novo > outro
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 )

Configurar webservice.

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.