Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.135.201.209] |
|
Сообщ.
#1
,
|
|
|
Проблема состыковки существующего вебсервиса 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
,
|
|
|
Как хинт по поводу 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 |