Ошибка парсинга XML в SOAP сообщении
От: indee  
Дата: 26.06.13 12:41
Оценка:
При вызове WebMethod из .NET приложения, получаю такую ошибку:




При тестировании Web севисов с soapUI и java клиентами, все работает гладко.

Подскажите пожалуйста, как ошибку побороть?
(Есть подозрение, что это BOM byte order mark)
Re: Ошибка парсинга XML в SOAP сообщении
От: 6lackbird Россия  
Дата: 26.06.13 13:05
Оценка:
Здравствуйте, indee, Вы писали:

I>При вызове WebMethod из .NET приложения, получаю такую ошибку:



I>


I>При тестировании Web севисов с soapUI и java клиентами, все работает гладко.


I>Подскажите пожалуйста, как ошибку побороть?

I>(Есть подозрение, что это BOM byte order mark)

Поставь прокси между .net клиентом и сервером и посмотри на запрос — с ним что то не так

Например http://ws.apache.org/tcpmon/download.cgi
"Мы будем уничтожать свое ядерное оружие вместе с Америкой" (c) Б. Ельцин
Re[2]: Ошибка парсинга XML в SOAP сообщении
От: indee  
Дата: 26.06.13 13:14
Оценка:
Здравствуйте, 6lackbird, Вы писали:

6>Здравствуйте, indee, Вы писали:


I>>При вызове WebMethod из .NET приложения, получаю такую ошибку:



I>>


I>>При тестировании Web севисов с soapUI и java клиентами, все работает гладко.


I>>Подскажите пожалуйста, как ошибку побороть?

I>>(Есть подозрение, что это BOM byte order mark)

6>Поставь прокси между .net клиентом и сервером и посмотри на запрос — с ним что то не так


6>Например http://ws.apache.org/tcpmon/download.cgi


byte order mark?
Re: Ошибка парсинга XML в SOAP сообщении
От: Blazkowicz Россия  
Дата: 26.06.13 13:26
Оценка:
Здравствуйте, indee, Вы писали:

I>
stacktrace можно посмотреть?

I>(Есть подозрение, что это BOM byte order mark)

По любому оно. Варианты такие
1) Взять другого провайдера JAX-WS, где эта ошибка исправлена.
2) Расковырять код по стектрейсу и посмотреть где можно вклинится чтобы исправить.
3) Взять OpenJDK и пропатчить.
4) Добавить фильтр, который обработает входяший запрос перед его отправлением в JAX-WS
Re[2]: Ошибка парсинга XML в SOAP сообщении
От: indee  
Дата: 26.06.13 13:43
Оценка:
Здравствуйте, Blazkowicz, Вы писали:

B>Здравствуйте, indee, Вы писали:


I>>
B>stacktrace можно посмотреть?

I>>(Есть подозрение, что это BOM byte order mark)

B>По любому оно. Варианты такие
B>1) Взять другого провайдера JAX-WS, где эта ошибка исправлена.
B>2) Расковырять код по стектрейсу и посмотреть где можно вклинится чтобы исправить.
B>3) Взять OpenJDK и пропатчить.
B>4) Добавить фильтр, который обработает входяший запрос перед его отправлением в JAX-WS

stacktrace:





Glassfish:

Re[3]: Ошибка парсинга XML в SOAP сообщении
От: Blazkowicz Россия  
Дата: 26.06.13 13:56
Оценка:
Здравствуйте, indee, Вы писали:

Для JDK, можно сюда вклинится и дописать свой фильтр, оборачивающий InputStream с фильтрацией BOM. Либо если это не BOM, то фильтрацией других не валидных символов.

I> at sun.net.httpserver.AuthFilter.doFilter(AuthFilter.java:83)

I> at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:80)
I> at sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(ServerImpl.java:668)
I> at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:77)
I> at sun.net.httpserver.ServerImpl$Exchange.run(ServerImpl.java:640)


Для GF аналогичным образом можно Servlet Filter применить.
I>Glassfish:
I> at org.glassfish.webservices.JAXWSServlet.doPost(JAXWSServlet.java:145)
I> at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
I> at javax.servlet.http.HttpServlet.service(HttpServlet.java:770)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.