|
|
|
SOAP. Java - server, Perl - client. ох, уж эти кодировки...
|
|||
|---|---|---|---|
|
#18+
доброе время суток! есть веб-сервис написанный на java, который локально работает замечательно. есть перловый скрипт в роли клиента. при вызове метода удалённого класса через soap протокол, параметром которого является xml-документ в виде строки, вылетает ошибка: env:Client org.xml.sax.SAXParseException: Invalid byte 2 of 3-byte UTF-8 sequence. и я не знаю в чей огород кидать камень: то ли клиент отдаёт в неправильной кодировке, то ли веб-сервис понимает неправильно. помогите, пожалуйста разобраться. "вырезки". wsdl: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. perl: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. з.ы. веб-сервис написан не мной, его код привести не могу (во всяком случае пока, ибо доступа до самого кода нет). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2007, 16:42:40 |
|
||
|
SOAP. Java - server, Perl - client. ох, уж эти кодировки...
|
|||
|---|---|---|---|
|
#18+
а какая кодировка у перловой переменной $xml ? (perldoc encoding) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2007, 07:35:41 |
|
||
|
SOAP. Java - server, Perl - client. ох, уж эти кодировки...
|
|||
|---|---|---|---|
|
#18+
scripа какая кодировка у перловой переменной $xml ? (perldoc encoding) сам файл скрипта в cp1251. получается, что и $xml будет в cp1251. правильно я понимаю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2007, 09:43:05 |
|
||
|
SOAP. Java - server, Perl - client. ох, уж эти кодировки...
|
|||
|---|---|---|---|
|
#18+
i'm_novice scripа какая кодировка у перловой переменной $xml ? (perldoc encoding) сам файл скрипта в cp1251. получается, что и $xml будет в cp1251. правильно я понимаю? SOAP Cookbook , раздел Internationalization and encoding ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2007, 11:41:22 |
|
||
|
SOAP. Java - server, Perl - client. ох, уж эти кодировки...
|
|||
|---|---|---|---|
|
#18+
Roman V Tchemisov SOAP Cookbook , раздел Internationalization and encoding читал, конечно. пробовал. в первом случае выдает: 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 во втором: syntax error near "tr/\0-\x{ff}//CU" Compilation failed in require для второго случая в cookbook написано # convert to UTF (if you're using Perl 5.6) а у меня 5.8.8, в котором, я так понимаю модификатора U нет, оттого и ошибка. You may need to use Unicode::String or Unicode::Map8 to convert from your encoding to UTF-8. и так пробовал Unicode::String Код: plaintext 1. 2. 3. Unicode::Map8 Код: plaintext 1. 2. 3. что не так в моих действиях? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2007, 13:03:27 |
|
||
|
SOAP. Java - server, Perl - client. ох, уж эти кодировки...
|
|||
|---|---|---|---|
|
#18+
А можно посмотреть код Ваших попыток? Что будет, если скрипт на Perl перевести в UTF-8? ======================= Роман Чемисов Тел.: +79149052257 ICQ: 157070721 Skype: gangabass ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2007, 04:28:26 |
|
||
|
SOAP. Java - server, Perl - client. ох, уж эти кодировки...
|
|||
|---|---|---|---|
|
#18+
да собственно весь код попыток я привёл. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. если скрипт перевести в utf8, то получается String_1 is not allowed...... хотя, я так подозреваю, что он встречает элемент с namespace: {http://localhost/services/service}String_1 а хочет увидеть без оного ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2007, 10:36:58 |
|
||
|
SOAP. Java - server, Perl - client. ох, уж эти кодировки...
|
|||
|---|---|---|---|
|
#18+
решено. если кому пригодиться, пожалуйста... проблема была именно в namespace. точнее в их наличии. soap::lite подставляет ns во все элементы, принадлежащие soap:env. Код: plaintext 1. 2. 3. Код: plaintext Код: plaintext 1. 2. 3. Код: plaintext 1. ну, и плюс кодировка $xml должна быть utf-8. я просто перевёл скрипт в utf-8, а можно заюзать Encode::encode_utf8(...); з.ы. дело оказалось, как в большинстве случаев, в невнимательности)) з.ы.ы. спасибо откликнувшимся ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2007, 18:27:21 |
|
||
|
|

start [/forum/topic.php?fid=59&tid=2144146]: |
0ms |
get settings: |
14ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
49ms |
get topic data: |
16ms |
get forum data: |
5ms |
get page messages: |
66ms |
get tp. blocked users: |
2ms |
| others: | 358ms |
| total: | 535ms |

| 0 / 0 |
