Это общее исключение; "Невозможно создать JAXBContext"
Ошибка JAXB возникает при преобразовании объектов Java в XML или наоборот, если в отображении что-то не так.
method mesajUzunlu ğ u () производит клиент, содержащий методы и неверное отображение.Кроме этого tempuri.org targetNamespace полностью разрушает другие службы, использующие это пространство имен.@ ("mesajUzunl u \ u011f u") эта строка в представлении Unicode не совпадает с * , и мы не можем создать ошибку JAXBContext
[ServiceWSDL_URL_mesajUzunlu ğ u] [1]
Я получил эту ошибку, потому что в моем отображении есть символ не ASCII. 'ğ' .К сожалению, даже серьезные провайдеры предоставляют веб-сервисы, которые используют http://tempuri.org в качестве пространства имен.Правильно использовать URL-адрес конечной точки службы.Тем не мение.Это создает пакет org.tempuri
для прокси-классов веб-клиента.Если существует более одного tempuri.org, использующего поставщиков веб-сервисов, и вы создаете свой класс, соответственно, ваш jar будет скомпилирован в org.tempuri для более чем одного сервиса.Тогда что происходит?Даже этот не-ascii-символ встречается только для определенной службы, все мои клиенты начали удивлять этой ошибкой.Я только что обнаружил реальную причину, очень тщательно изучив Колл Стэк.Я не понимаю, почему эти серьезные организации, такие как министерства или телекоммуникационные компании, используют tempuri.org.
Мой совет - искать символы не-ASCII, внимательно следите за StackTrace и учитывайте org.tempuri при кодировании клиентов.
Среда: Java 1.7, нет webservices-api-2.0.1.jar, последняя версия jaxb-imp.jar
JAXB обозначает архитектуру Java для XMLbinding.It используется для преобразования XML в объект java и объект java в XML. JAXB определяет API для чтения и записи объектов Java в и из документов XML. В отличие от SAX и DOM, нам не нужно знать о методах синтаксического анализа XML.
Для этого конкретного случая в этом вопросе вышеприведенное утверждение привело нас к пониманию следующего элемента stackTrace. Ошибка не может быть передана нам. Из-за сериализации Object <-> XML.
java.lang.StackTraceElement не имеет конструктора по умолчанию без аргументов.
Единственное, что нужно сделать, это просмотреть знакомые элементы stacktrace и использовать инструменты типа Soap UIисследовать.Если мы являемся владельцем службы, лучше вернуть элементы serialize-OK, такие как строка JSON или пользовательский сопоставленный элемент XML.