1 2 Previous Next 19 Replies Latest reply on Mar 5, 2015 9:23 AM by -dg- Go to original post
      • 15. Re: JBoss: Resposta de Web Service - xml sem tag inicial (<? xml version="1.0" encoding=UTF-8 ?>)
        luan.cestari

        Ae Carlos, blz?

         

        Deu certo o WS com handler? Qualquer coisa a gente da uma cutucada nos desenvolvedores e se for um bug a gente abre um jira para voltar essa feature =)

         

        Abracos

        Luan

        • 16. Re: JBoss: Resposta de Web Service - xml sem tag inicial (<? xml version="1.0" encoding=UTF-8 ?>)
          cjsouza

          Olá Luan, bom dia!

           

          Estava muito corrido na última semana com os projetos da empresa e acabei deixando um tirando um pouco o foco do problema, desculpe pela falta do feedback...

           

          A princípio funcionou na saída do "debug" com o System.out, mas não chegou na mensagem final com o SoapUI...

          Como tenho facilidade em alterar minha aplicação legada, acabei tratando a falta do header no meu código e adicionando na "unha" mesmo.

          Para outros tratamentos e validações das mensagens achei bacana(ainda estou estudando o fluxo dessas informações), mas para uma alteração simples de comportamento achei um canhão para matar mosca... rsrsrs

           

          Muito obrigado.

          Grande abraço!

           

          Realizei alguns testes com o código abaixo:

          public class MessageHandlerSOAP implements SOAPHandler<SOAPMessageContext> {

              public boolean handleMessage(SOAPMessageContext mc) {

                  try {

                      final SOAPMessage message = mc.getMessage();

                      final SOAPBody body = message.getSOAPBody();

                      final SOAPHeader header = message.getSOAPHeader();

                      final String localName = body.getFirstChild().getLocalName();

                      if ("messageViewResponse".equals(localName)

                              || "listarProdutosResponse".equals(localName)

                              || "multiplyResponse".equals(localName)) {

                          /**

                           * final Node responseNode = (Node) body.getFirstChild(); final

                           * Node returnNode = (Node) responseNode.getFirstChild(); final

                           * Node intNode = (Node) returnNode.getFirstChild();

                           *

                           * final int value = new Integer(intNode.getNodeValue());

                           * intNode.setNodeValue(Integer.toString(value * 1000));

                           */

                          System.out.println("ENTRADA HANDLER");

                          System.out.println(message

                                  .getProperty(SOAPMessage.WRITE_XML_DECLARATION));

                          try {

                              System.out.println("SEM ALTERACAO");

                              message.writeTo(System.out);

                          } catch (IOException e) {

                              // TODO Auto-generated catch block

                              e.printStackTrace();

                          }

                          System.out.println("PROCESSAMENTO HANDLER");

                          message.setProperty(SOAPMessage.CHARACTER_SET_ENCODING, "utf-8");

                          message.setProperty(SOAPMessage.WRITE_XML_DECLARATION, "true");

                          message.saveChanges();

                          try {

                              message.writeTo(System.out);

                          } catch (IOException e1) {

                              // TODO Auto-generated catch block

                              e1.printStackTrace();

                          }

                          System.out.println(message

                                  .getProperty(SOAPMessage.WRITE_XML_DECLARATION));

                          try {

                              System.out.println("COM ALTERACAO");

                              message.saveChanges();

                              message.writeTo(System.out);

                          } catch (IOException e) {

                              // TODO Auto-generated catch block

                              e.printStackTrace();

                          }

                          System.out.println(header.getValue());

                          message.saveChanges();

                          System.out.println("SAIDA HANDLER");

                      }

                      return true;

                  } catch (SOAPException e) {

                      return false;

                  }

              }

           

              public Set<QName> getHeaders() {

                  return Collections.emptySet();

              }

           

              public void close(MessageContext mc) {

              }

           

              public boolean handleFault(SOAPMessageContext mc) {

                  return true;

              }

          }

          • 17. Re: JBoss: Resposta de Web Service - xml sem tag inicial (<? xml version="1.0" encoding=UTF-8 ?>)
            -dg-

            Olá José Carlos.

             

            Estou passando pela mesma situação e já verifiquei em inúmeros sites.

             

            A definição é aquela que o Luan postou e os códigos são iguais a este abaixo:

             

            message.setProperty(SOAPMessage.CHARACTER_SET_ENCODING, "utf-8");

            message.setProperty(SOAPMessage.WRITE_XML_DECLARATION, "true");

             

            Contudo, no meu caso, a coisa continua não funcionando.

             

            Sua aplicação está funcionando ou isso é um bug do Wildfly que ainda não foi corrigido?

             

            Grato.

             

            []s

            • 18. Re: JBoss: Resposta de Web Service - xml sem tag inicial (<? xml version=&quot;1.0&quot; encoding=UTF-8 ?>)
              cjsouza

              Olá Edgar, boa noite!

               

              Cara, no meu caso não funcionou e acabei tratando a ausência da tag na

              minha aplicação cliente.

              Uma outra alternativa que não tentei, foi utilizar filters em EJB's, mas

              como já havia resolvido de outra maneira (acredito que não da melhor forma)

              acabei não avançando na questão.

               

              Posso estar enganado, mas creio que seja algum bug mesmo no WildFly / JBoss.

               

              Grande abraço!

               

               

              Atenciosamente,

               

              --

              Carlos J. Souza

               

               

               

              2015-03-04 17:24 GMT-03:00 Edgar Rocha Mendonça <do-not-reply@jboss.com>:

               

                    JBoss Developer

              <https://developer.jboss.org/?et=watches.email.thread>     JBoss:

              Resposta de Web Service - xml sem tag inicial (<? xml version="1.0"

              encoding=UTF-8 ?>)

               

              reply from Edgar Rocha Mendonça

              <https://developer.jboss.org/people/-dg-?et=watches.email.thread> in *JBUG

              Brasil* - View the full discussion

              <https://developer.jboss.org/message/920586?et=watches.email.thread#920586>

               

              • 19. Re: JBoss: Resposta de Web Service - xml sem tag inicial (<? xml version="1.0" encoding=UTF-8 ?>)
                -dg-

                OK.

                 

                Grato José Carlos.

                 

                []s

                1 2 Previous Next