Jump to content
americob

Utilizar WebServices dos Fundos de Compensação

Recommended Posts

americob

Boa tarde,

Alguém está a implementar estes WebServices, nos programas de salários para comunicar admissões e cessações de empregados?

O manual está na 1ª pagina de http://www.fundoscompensacao.pt mas ainda não consegui perceber como funciona.

Não tem nada de parecido com os da AT, nem com os do Relatório Único, nem com os do VIES.

Share this post


Link to post
Share on other sites
desconfiado

Eu já li o manual mas quando tentei comunicar com os endpoints de teste não estavam a funcionar.

Entretanto liguei para a linha de apoio que vem no manual (707 200 407) e disseram-me que tinham estado em baixo os endpoints de teste e no momento não me sabiam dizer porque o departamento técnico estava de férias (foi esta semana). Mas de qualquer forma tinha que pedir um utilizador e password para testes, bem como um IP (achei um bocado estranho limitarem por IP mas pronto). Ficaram de me enviar as credenciais mas avisaram que levaria até 2 semanas. Devem ser as férias de Natal e ano novo. lol.

De resto a comunicação deve ser o do costume, webservice com autenticação. Tenho que consultar a WSDL quanto me enviarem as credenciais para poder ter mais informações.

Share this post


Link to post
Share on other sites
americob

Eu já tive acesso ao servidor de testes, mas entretanto o meu IP mudou e deixei de ter.

Entretanto tenho tentado com o de Produção (esse funciona com qualquer IP, mal era ...), mas ainda não consegui.

A última tentativa que fiz foi assim:

<?xml version="1.0" encoding="utf-8" ?>
<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/">
<Body>
 <admitirTrabalhador xmlns="http://www.fundoscompensacao.pt/ws/gfct/">
	 <dadosAdmissao>
		 <trabalhador>
			 <retribuicao>505</retribuicao>
			 <dataInicioContrato>2015-11-25</dataInicioContrato>
			 <modalidadeContratoTrabalho>X</modalidadeContratoTrabalho>
			 <niss>19999999995</niss>
		 </trabalhador>
	 </dadosAdmissao>
 </admitirTrabalhador>
</Body>
</Envelope>

mas, a resposta que obtive foi:

<?xml version="1.0" encoding="UTF-8" ?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
 <S:Fault xmlns:ns4="http://www.w3.org/2003/05/soap-envelope">
	 <faultcode>S:Server</faultcode>
	 <faultstring>remuneration.needed</faultstring>
	 <detail>
		 <ns2:bizError xsi:type="ns2:valuesServiceFault" xmlns:ns2="http://www.fundoscompensacao.pt/ws/gfct/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
			 <code>003</code>
			 <desc>É necessário indicar um valor válido para a retribuição.</desc>
			 <maxValue xsi:nil="true" />
			 <minValue xsi:nil="true" />
		 </ns2:bizError>
	 </detail>
 </S:Fault>
</S:Body>
</S:Envelope>

Presumo que o problema esteja na estrutura do XML, pois os problemas de autenticação já foram ultrapassados.

Share this post


Link to post
Share on other sites
lipires

Alguém consegue disponibilizar o WSDL ? Estou a cerca de uma semana espera do acesso pelo ip e não tem sido facil

Share this post


Link to post
Share on other sites
lipires

Tenho mas a senha muda consoante o ip...e como pedi novo acesso por ip diferente, a senha que tenho não funciona :(...tenho de aguardar até para ter acesso ao WSDL...

Share this post


Link to post
Share on other sites
lipires

Boa tarde

Qualquer request que faço(testes) a resposta é sempre a mesma "É necessário indicar um valor válido para a retribuição."

Request

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
  <soapenv:Header/>
  <soapenv:Body>
  <ns1:admitirTrabalhador xmlns:ns1="http://www.fundoscompensacao.pt/ws/gfct/">
	 <ns1:dadosAdmissao>
		<ns2:dataFimContrato xmlns:ns2="http://www.fundoscompensacao.pt/ws/gfct">2010-12-01T00:00:00.000+00:00</ns2:dataFimContrato>
		<ns2:dataInicioContrato xmlns:ns2="http://www.fundoscompensacao.pt/ws/gfct">2010-12-01T00:00:00.000+00:00</ns2:dataInicioContrato>
		<ns2:diuturnidades xmlns:ns2="http://www.fundoscompensacao.pt/ws/gfct">0</ns2:diuturnidades>
		<s1:modalidadeContratoTrabalho xmlns:s1="http://www.fundoscompensacao.pt/ws/gfct">A</s1:modalidadeContratoTrabalho>
		<ns2:niss xmlns:ns2="http://www.fundoscompensacao.pt/ws/gfct">19999999995</ns2:niss>
		<ns2:retribuicao xmlns:ns2="http://www.fundoscompensacao.pt/ws/gfct">100</ns2:retribuicao>
	 </ns1:dadosAdmissao>
  </ns1:admitirTrabalhador>
  </soapenv:Body>
</soapenv:Envelope>

Response

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
  <S:Body>
  <S:Fault xmlns:ns4="http://www.w3.org/2003/05/soap-envelope">
	 <faultcode>S:Server</faultcode>
	 <faultstring>remuneration.needed</faultstring>
	 <detail>
		<ns2:bizError xsi:type="ns2:valuesServiceFault" xmlns:ns2="http://www.fundoscompensacao.pt/ws/gfct/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
		   <code>003</code>
		   <desc>É necessário indicar um valor válido para a retribuição.</desc>
		   <maxValue xsi:nil="true"/>
		   <minValue xsi:nil="true"/>
		</ns2:bizError>
	 </detail>
  </S:Fault>
  </S:Body>
</S:Envelope>

Alguém já invocou com sucesso ?

Share this post


Link to post
Share on other sites
americob

Tenho exatamente o mesmo problema.

Estou assim desde Dezembro.

Como aquilo ainda faz pouca coisa (só faz admissão e demissão), e os meus clientes ainda não me chatearam com isso, deixei andar.

Quando aquilo deixar alterar valores, aí sim, seria interessante.

Agora em Janeiro, quando aumentou o SMN, houve clientes que perguntaram como estava. Alguns tinham dezenas de empregados para alterar o vencimento.

Limitei-me a responder que essa função ainda não existe.

Share this post


Link to post
Share on other sites
lipires

Já tenho implementado e a funcionar em ambiente produtivo... tive de retirar todos os namespaces que por default eram colocados no meu request porque descobri que por algum motivo os fundos de compensação não aceitavam o request...

Hoje... estou com problemas de comunicação... não sei o que se passa...

  • Vote 1

Share this post


Link to post
Share on other sites
Valteralves

Bom dia a todos,

Não estou a conseguir sequer efetuar a ligação! 

É frustrante, o suporte telefónico só efetua o pedido de password para ambiente de testes.

Alguém que tenha conseguido suplantar e esteja a utilizar pode facultar o code behind  da criação do cliente para invocação da tarefa (cessação, admissão, alteração) s.f.f.?

 

Code Behind:

FGCT_CloseContract.trabalhador worker = new FGCT_CloseContract.trabalhador();

worker.identificadorContrato = fgctContractCode;

worker.motivoCessacaoContrato = "DSDI";

worker.dataFimContrato = adm;

 

FGCT_CloseContract.cessarContratoClient client = new FGCT_CloseContract.cessarContratoClient();

client.ClientCredentials.UserName.UserName = socialSecurityIdentifier;

client.ClientCredentials.UserName.Password = ssPwd;

client.ClientCredentials.ServiceCertificate.Authentication.CertificateValidationMode = X509CertificateValidationMode.None;

 

client.ChannelFactory.Credentials.UserName.UserName = socialSecurityIdentifier;

client.ChannelFactory.Credentials.UserName.Password = ssPwd;

 

client.cessarContrato(worker);

 

Provavelmente tenho um bloco duplicado mas penso ter o código necessário.

Não consigo sequer estabelecer ligação. Já tive vários erros, por isso queria despistar falhas na criação dos objetos para depois partir para o serviço.

Edited by Valteralves
Adicionar bloco de código

Share this post


Link to post
Share on other sites
Rafael Miranda Durante

Olá a todos!

Alguém conseguiu alguma evolução quanto a este tópico? Também tenho o mesmo erro em ambiente de testes. Não há nenhum exemplo de `XML` na documentação para facilitar nossa vida, pois não? =(

-----------------

Atualização:

Conseguimos resposta com o modelo:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:gfct="http://www.fundoscompensacao.pt/ws/gfct/">
   <soapenv:Header/>
   <soapenv:Body>
      <gfct:admitirTrabalhador>
         <dadosAdmissao>
            <dataFimContrato>X</dataFimContrato>
            <dataInicioContrato>X</dataInicioContrato>
            <diuturnidades>X</diuturnidades>
            <modalidadeContratoTrabalho>X</modalidadeContratoTrabalho>
            <niss>X</niss>
            <retribuicao>X</retribuicao>
         </dadosAdmissao>
      </gfct:admitirTrabalhador>
   </soapenv:Body>
</soapenv:Envelope>

Considerações:

  • Ao contrário do que diz a atual documentação, a tag <trabalhador> na verdade é <niss>, para o endpoint admitirTrabalhador?wsdl 
  • A tag <gfct:admitirTrabalhador> recebe o nome da operação, sempre em camelCase;
  • A tag <dadosAdmissao> pode variar para <dadosContrato> (quando cessarContrato) e <dadosAlteracao> (quando alterarContrato).
Edited by Rafael Miranda Durante
complemento de resposta encontrada
  • Vote 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.