Olá, Caso esteja recebendo uma exception parecida com a mostrada abaixo...
javax.xml.bind.UnmarshalException: unexpected element (uri:"http://www.portalfiscal.inf.br/nfe",
local:"inutNFe"). Expected elements are
<{http://www.w3.org/2000/09/xmldsig#}Signature>
... tente fazer o seguinte. Coloque essas anotações na ordem informando o namespace.
@XmlRootElement(name="inutNFe", namespace="http://www.portalfiscal.inf.br/nfe")
@XmlType(name = "TInutNFe", namespace = "http://www.portalfiscal.inf.br/nfe", propOrder = {"infInut", "signature"})
@XmlAccessorType(XmlAccessType.FIELD)
public class TInutNFe {
Por aqui resolveu  :mrgreen:
Share
Olá, Estávamos convertendo um XML em Java Object normalmente com o trecho abaixo:
Object object = (JAXBElement<Object>) unmarsh.unmarshal(is);
object.getValue();
Depois de uma alteração passei a receber essa exception:
java.lang.ClassCastException: br.com.xxxx.nfe.beans.TInutNFe cannot be cast to javax.xml.bind.JAXBElement
A alteração foi incluir essa anotação na classe
@XmlRootElement(name="inutNFe", namespace="http://www.portalfiscal.inf.br/nfe")
Com isso a variável object é uma instância do bean e não de JAXBElement, dessa forma não é necessária fazer a chamada ao método getValue() na segunda linha.
Share
Olá, Para obter o trace (ou dump) request/response do webservice criado com JAX-WS ajuste as seguintes propriedades no servidor de aplicação.  
-Dcom.sun.xml.ws.transport.http.client.HttpTransportPipe.dump=true
-Dcom.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.dump=true
-Dcom.sun.xml.ws.transport.http.HttpAdapter.dump=true
-Dcom.sun.xml.internal.ws.transport.http.HttpAdapter.dump=true
Você verá no console algumas mensagens parecidas com essas:
---[HTTP request]---
Cache-control: no-cache
Host: 127.0.0.1:7778
Content-type: text/xml; charset=utf-8
Content-length: 1142
Pragma: no-cache
User-agent: Axis/1.4
Soapaction: ""
Accept: application/soap+xml, application/dime, multipart/related, text/*
<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soapenv:Body><getFaturasDebitosTotalizado2 xmlns="http://wsagefatura.sondautilities.com.br/"><agencia xmlns="">1</agencia><caixa xmlns="">1</caixa><user xmlns="">user</user><pass xmlns="">****</pass><tipoBusca xmlns="">UC</tipoBusca><situacao xmlns="">A</situacao><entsFat xmlns=""><mensagemWS></mensagemWS><retornoWS>OK</retornoWS><codigo>101</codigo><descricao>FATURAS</descricao></entsFat><entsFat xmlns=""><mensagemWS></mensagemWS><retornoWS>OK</retornoWS><codigo>105</codigo></getFaturasDebitosTotalizado2></soapenv:Body></soapenv:Envelope>--------------------
---[HTTP response 200]---
<?xml version="1.0" ?><S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Body><ns2:getFaturasDebitosTotalizado2Response xmlns:ns2="http://wsagefatura.sondautilities.com.br/"><return><mensagemWS></mensagemWS><retornoWS>OK</retornoWS><codCpu>04</codCpu><codEmp>0008</codEmp><codUC>9999</codUC><vlrEmitido>28.57</vlrEmitido></return></ns2:getFaturasDebitosTotalizado2Response></S:Body></S:Envelope>--------------------
Share
Olá, Comecei a olhar as novidades do Java 8 e pensei comigo mesmo: Demorou mas chegou! Gostei muito das novidades que são destacadas pela Oracle e blogs ao redor do mundo (eu acho que tem mais algumas novidades menos destacadas que eu vou gostar 🙂 ) Posso dizer que: As expressões Lambdas, que existem há muito tempo em outras linguagens realmente são muitos legais. A nova API para trabalhar com datas facilitou muito o entendimento e consequentemente a manipulação de data e hora no Java. Abaixo enumerei 6 linhas que gostei de ver que compila e roda (quase um sonho).
        ArrayList<String> listaNomes = new ArrayList<>();
        listaNomes.add("Katia");
        listaNomes.add("Ana");
        listaNomes.add("Fernanda");
        listaNomes.add("Andreia");
        //(1) Ordena pelo length da string
        listaNomes.sort((n1, n2) -> Integer.compare(n1.length(), n2.length()));
        //(2) Mostra a lista no console
        listaNomes.forEach(s -> System.out.println(s));
        LocalDate dataInicial = LocalDate.of(2014, Month.MAY, 14);
        //(3) Soma 1 ano
        LocalDate dataFinal = dataInicial.plusYears(1);
        System.out.println(dataFinal);
        LocalTime horaAgora = LocalTime.now();
        //(4) Somar minutos a hora
        System.out.println(horaAgora.plusMinutes(15));
        //(5) Diferença em dias de duas datas
        long days = ChronoUnit.DAYS.between(dataInicial, dataFinal);
        System.out.println(days);
        //(6) Diferença entre horas em minutos
        System.out.println(Duration.between(LocalTime.parse("11:00:00"), LocalTime.parse("17:00:00")).toMinutes());
Para esse post é só, ainda falta olhar o modificador default em interfaces, a API Stream para coleções e outras novidades. Referências: Java Magazine Oracle Documentation Get all countries using Java SE 8 Locale 
Share
Olá, [Atualização 01/nov/13 19:00: Segundo o twitter do BB já é possível acessar o internet banking pelo Mavericks.] Tem muita gente com problema de acesso ao internet banking do BB e do Itaú no Safari (Versão 7.0 (9537.71)) por causa do Java (no meu caso versão 7 update 45). Existe um procedimento que podemos fazer para que ele funcione. [Atualização 15/10/2014] Abrir o Java Control Panel que fica no menu da maçã > preferências do sistema. Vá na aba segurança, clica em editar lista de sites e adicione esses dois endereços: https://www2.bancobrasil.com.br/ https://aapj.bb.com.br/ Clique em OK.
Java Control Panel

Java Control Panel

Testado com Java 7 Update 67 [/Fim Atualização] Vamos lá configurar o Safari, no menu Safari clique em Preferências ou tecle ⌘, Na aba Segurança, marque a opção permitir plug-ins e clique no botão Gerenciar Ajuste do Site. A tela abaixo será aberta. Tela de configuração No lado esquerdo clique em Java e no lado direito veja se o site do Banco do Brasil aparece, se não aparecer tente acessar sua conta e depois volte nessa etapa. Continue lendo o artigo »
Share