На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Следующие правила действуют в данном разделе в дополнение к общим Правилам Форума
1. Здесь обсуждается Java, а не JavaScript! Огромная просьба, по вопросам, связанным с JavaScript, SSI и им подобным обращаться в раздел WWW Masters или, на крайний случай, в Многошум.
2. В случае, если у вас возникают сомнения, в каком разделе следует задать свой вопрос, помещайте его в корневую ветку форума Java. В случае необходимости, он будет перемещен модераторами (с сохранением ссылки в корневом разделе).

3. Запрещается создавать темы с просьбой выполнить какую-то работу за автора темы. Форум является средством общения и общего поиска решения. Вашу работу за Вас никто выполнять не будет.
4. Не рекомендуется создавать несколько несвязанных вопросов в одной теме. Пожалуйста, создавайте по одной теме на вопрос.
Модераторы: dark_barker, wind
  
> связь вебсервисов (на java) с другими платформами и языками
    Проблема состыковки существующего вебсервиса java с клиентами НЕ java.

    Java-клиент прекрасно работает с сервером, а вот perl-клиент - нет.

    Непонятно, с какой стороны решать проблему - либо со стороны сервера (тогда тема - не оффтопик), либо со стороны клиента (тогда извиняйте - и буду рад помощи).


    Сервер:
    - Java 1.5.0_12,
    - JBoss 4.2.1.GA
    - JBossWS 1.2.1GA

    Проблемный клиент:
    - Perl 5.8.8
    - SOAP::Lite 0.69
    - FreeBSD 5.3


    При соединении perl-клиентом возникают разного рода ошибки:

    17:29:11,716 ERROR [STDERR] [Fatal Error] :2:7: Invalid byte 2 of 3-byte UTF-8 sequence.
    17:29:11,731 ERROR [SOAPFaultHelperJAXRPC] SOAP request exception
    java.io.IOException: org.xml.sax.SAXParseException: Invalid byte 2 of 3-byte UTF-8 sequence.
    at org.jboss.ws.core.utils.DOMUtils.parse(DOMUtils.java:133)


    Если же следовать рекомендациям на
    http://cookbook.soaplite.com/#internationalization%20and%20encoding

    (конвертирование данных soap-сообщения в utf-8 из cp1251), то получаем ошибку:

    17:30:54,157 ERROR [SOAPFaultHelperJAXRPC] SOAP request exception
    org.jboss.ws.WSException: org.jboss.ws.core.jaxrpc.binding.BindingException: org.jboss.ws.core.jaxrpc.binding.jbossxb.UnmarshalException: Failed to parse source: Requested element {http://localhost/services/KkarService}String_1 is not allowed in this position in the sequence. The next element should be String_1
    at org.jboss.ws.core.soap.XMLContent.unmarshallObjectContents(XMLContent.java:248)


    Если проблему можно решить на стороне сервиса (и джава платформы) - буду рад советам.
    Если же на стороне клиента проблемы - подскажите ключевые слова для гугления.
      Как хинт по поводу 2-й ошибки. если не ошибаюсь soap lite поддерживает только стиль rpc/encoded, а JBossWS основан на спецификации JAXWS в которой этот стиль не поддерживается и считается deprecated. Потому и может возникнуть

      Цитата poltora @
      org.jboss.ws.core.jaxrpc.binding.jbossxb.UnmarshalException: Failed to parse source: Requested element {http://localhost/services/KkarService}String_1 is not allowed in this position in the sequence. The next element should be String_1
      1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
      0 пользователей:


      Рейтинг@Mail.ru
      [ Script execution time: 0,0162 ]   [ 14 queries used ]   [ Generated: 19.05.24, 13:29 GMT ]