Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> SOAP. Java - server, Perl - client. кодировки 
:(
    Опции темы
BaldHeaded2
Дата 30.10.2007, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 11.10.2007

Репутация: нет
Всего: нет



доброе время суток!

есть веб-сервис написанный на java, который локально работает замечательно. есть перловый скрипт
в роли клиента. при вызове метода удалённого класса через soap протокол, параметром которого
является xml-документ в виде строки, вылетает ошибка:
Код

env:Client     org.xml.sax.SAXParseException: Invalid byte 2 of 3-byte UTF-8 sequence.

и я не знаю, то ли клиент отдаёт в неправильной кодировке, то ли
веб-сервис понимает неправильно.

"вырезки".
wsdl:
Код

<types>
  <schema targetNamespace='http://localhost/services/service' 
     xmlns='http://www.w3.org/2001/XMLSchema' 
     xmlns:soap11-enc='http://schemas.xmlsoap.org/soap/encoding/' 
     xmlns:tns='http://localhost/services/service' 
     xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>
   <complexType name='parseXML'>
    <sequence>
     <element name='String_1' nillable='true' type='string'/>
    </sequence>
   </complexType>
   <complexType name='parseXMLResponse'>
    <sequence>
     <element name='result' nillable='true' type='string'/>
    </sequence>
   </complexType>
   <element name='parseXML' type='tns:parseXML'/>
   <element name='parseXMLResponse' type='tns:parseXMLResponse'/>
  </schema>
 </types>


скрипт:
Код

use SOAP::Lite;
my $xml = '<?xml version="1.0"?>
          <корень>
               <элемент атрибут="PPPPP123123123123"/>
          </корень>';
my $service = new SOAP::Lite
     -> uri('http://localhost/services/service')
     -> proxy('http://host:8080/Ejb/service?wsdl');     
my $content = $service->parseXML(SOAP::Data->name('String_1')->type(string => $xml));


кодировка скрипта cp1251.

пробовал поступать по рекомндациям мануала по кодировкам
результат в этих случаях такой:
Код

env:Client, org.jboss.ws.core.jaxrpc.binding.BindingException: org.jboss.ws.core.jaxrpc.binding.jbossxb.UnmarshalException: Failed to parse source: Requested element {http://localhost/services/service}String_1 is not allowed in this position in the sequence. The next element should be String_1

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Работа с сетью | Следующая тема »


 




[ Время генерации скрипта: 0.0788 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.