Я только что выпустил модуль 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
Это несколько плохо задокументировано. WSImport использует XJC (из JAXB) для создания файлов Java, и документация здесь указывает, что достаточно изменить кодировку символов в файле XML (хотя я этого не пробовал). Если вас устраивает запуск JAXB вручную, вы также можете настроить это с помощью свойства JAXB_ENCODING в своем JAXBContext.
При использовании 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!
)
}