Как изменить кодирование wsimport-сгенерированных файлов?

Я только что выпустил модуль python для PyPI, названный word2number для конкретной цели. https://github.com/akshaynagpal/w2n

Установите его, используя:

pip install word2number

убедитесь, что ваш пип обновлен до последняя версия.

Использование:

from word2number import w2n

print w2n.word_to_num("two million three thousand nine hundred and eighty four")
2003984

6
задан Sylar 10 December 2009 в 15:28
поделиться

2 ответа

Это несколько плохо задокументировано. WSImport использует XJC (из JAXB) для создания файлов Java, и документация здесь указывает, что достаточно изменить кодировку символов в файле XML (хотя я этого не пробовал). Если вас устраивает запуск JAXB вручную, вы также можете настроить это с помощью свойства JAXB_ENCODING в своем JAXBContext.

3
ответ дан 17 December 2019 в 02:29
поделиться

При использовании wsimport через задачу Ant с помощью gradle можно просто использовать encoding свойство, указывающее желаемое кодирование в wsimport. Я протестировал с wsimport версией 2.2.7

configurations {
   schemaGenerationBeans
}

dependencies {
   // dependencies per compilar schemas
   schemaGenerationBeans 'com.sun.xml.bind:jaxb-xjc:2.2.7'
   schemaGenerationBeans 'com.sun.xml.ws:jaxws-ri:2.2.7'
   schemaGenerationBeans 'com.sun.xml.ws:jaxws-tools:2.2.7'
}

task generateJaxb {

    ant.taskdef(name: 'wsimport', classname: 'com.sun.tools.ws.ant.WsImport', classpath: configurations.schemaGenerationBeans.asPath)

    ant.wsimport(wsdl: "$projectDir/src/main/resources/somepath/YOUR_WSDL.wsdl",
            wsdlLocation: "/somepath/YOUR_WSDL.wsdl", // relative path for generated classes
            package: 'org.your.package.xsd',
            xnocompile: 'true',
            xendorsed: 'true',
            sourcedestdir: "$projectDir/src/main/java/",
            encoding : 'utf-8' // DESIRED ENCODING PROPERTY!
    )
}
0
ответ дан 17 December 2019 в 02:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: