Gerar classes a partir arquivo .xsd

Estou tentando consumir o web service de uma prefeitura de Minas Gerais porém não consigo gerar as classes com o arquivo .xsd disponível no site da prefeitura da cidade http://187.45.245.217/bambui_contrib/

Quando dou o comando “xjc -p” apresenta o erro abaixo. Já entrei em contato com suporte e me informaram que o arquivo .xsd esta correto. Alguém sabe o que pode ser? Obrigado

nfse_3.xsd (37,2 KB)

Ola Akelecara, assim como esta fazendo não ira funcionar, primeiro porque no arquivo XSD disponibilizado para download contém um targetNamespace com um path errado, se tentar localizar o XSD em:
http://www.sistema.com.br/Nfse/arquivos/nfse_3.xsd

não ira encontrar, por isso uma das opções do seu erro é: ‘Não foi possivel encontrar o documento’.

O modo de resolver é editando o arquivo em targetNamespace e xmlns informando onde esta o arquivo, ex:

<xsd:schema xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns="nfse_3.xsd" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="nfse_3.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

Como você que você esta executando o comando de dentro da pasta bin do java então basta informar direto o nome do arquivo, caso fosse em outra pasta seria o caminho relativo.

mas ainda é necessário outro arquivo para funcionar devido a forma como foi feito o XSD, é um arquivo de biding do JAXB, segue um modelo abaixo, apenas copie e cole junto com este.

<?xml version="1.0" encoding="UTF-8"?>
<bindings xmlns="http://java.sun.com/xml/ns/jaxb"
          xmlns:xsd="http://www.w3.org/2001/XMLSchema"
          xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
          version="2.1">

  <globalBindings>
    <xjc:simple />
  </globalBindings>

</bindings>

por último crie uma pasta ai dentro da bin que servira para armazenar files gerados ex nome da pasta: teste

agora só executar o comando, precisa informar nele os parâmetros para ler o file de biding e ignorar umas validações, segue:

C:\Program Files\Java\jdk1.8.0_66\bin>xjc -p teste nfse_3.xsd -b xsd.xjb -disableXmlSecurity -extension