Completed

Ajuda na solução de problema de integração com webservice C#

Published on the June 20, 2018 in IT & Programming

About this project

Open

Tenho um webservice que estou consumindo, me deparei com um problema onde o mesmo informa que a sessão de solicitação do login e diferente da solicitação de confirmação.
O cliente está em asp.net mvc C# , todas as rotinas estão prontas, mais tenho este problema.
O webservice recebe apenas o xml pronto, então eu mesmo estou montando o xml fazendo uma concatenação de strings.


Como eu fiz.
Após adicionar o meu webservice nas referências, tenho alguns métodos que faz a criação do xml padronizado de acordo com cada modelo do manual

Para realizar o login:

//1 - criando o arquivo do login
            CriacaoDoSolicitaLogin();

            //2 - chamando o arquivo xml de login sem assinar
            string xml1 = LerXML(@"SolicitaLogonSemAssinatura.xml");

            //3 - assina o xml do solicitalogin
            AssinaXML(xml1, "1");

            //4  - Chama o xml de login assinado
            string xml2 = LerXML(@"SolicitaLogon.xml");

            //5 - enviando o arquivo assinado para o webservice solicitaLogon
            br.jus.tjsp.esaj.ServicoPJ objWSProducao = new br.jus.tjsp.esaj.ServicoPJ();
            string RetornaRespostaXml = objWSProducao.SolicitaLogon(xml2);

              OBS: Aqui eu tenho sucesso, me retornar um código que preciso criptografar em reenviar

            //6 - grava o retorno xml do login
            EscreveXMLIndividual(RetornaRespostaXml, "confirmaLogonRetorno.xml");

          //pego o código do desafio
            //8 - Criptografa o código desafio
            string codigodesafio = AssinarCodigoDesafio(CodigoDesafio);

            //9 - monta o novo xml para envio da confirmação
            CriacaoDoConfirmacaLogin(codigodesafio);

            //10 - chama o arquivo confirmaLogon
            string desafioxml = LerXML(@"confirmaLogonSemAssinatura.xml");

            //11 - assina o arquivo e faz a criação do novo confirmaLoginAssinado
            AssinaXML(desafioxml,"2");

            //12  - Chama o xml de confirmaLogin assinado
            string xml3 = LerXML(@"confirmaLogon.xml");

            //13 - enviando o arquivo
            string RetornaConfirmacaoDesafio = objWSProducao.confirmaLogon(xml3);
            EscreveXMLIndividual(RetornaConfirmacaoDesafio, "RetornaConfirmacaoDesafio.xml");

Neste ponto, informa que a sessão do webservice não era a mesma da solicitação do login.
Recebo uma mensagem informando "erro sessao da confirmacao diferente da sessao da solicitacao de logon"

no manual fala isso:

todas as chamadas ao web service deverão ser realizadas dentro de uma mesma sessão. Sendo que, uma sessão é identificada por cookie (JSESSIONID), que precisará estar presente em todas as requisições dessa sessão. Assim, será possível verificar de forma adequada a identidade do usuário que efetuou o login e por consequência dar as respectivas autorizações para acesso às demais mensagens do Web Service.

Category IT & Programming
Subcategory Web development
What is the scope of the project? Medium-sized change
Is this a project or a position? Project
I currently have I have specifications
Required availability As needed
API Integrations Other (Other APIs)
Roles needed Developer

Delivery term: Not specified

Skills needed

Other projects posted by Itamar S.