Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Ошибка вебсервиса UnmarshalException: unexpected element / 4 сообщений из 4, страница 1 из 1
19.04.2013, 11:24:39
    #38232275
AndreyDmt
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка вебсервиса UnmarshalException: unexpected element
Приветствую!
Ситуация следующая. Два сервиса, созданные по одним (на сколько я представляю) xsd файлам асинхронно обмениваются данными. Первый отправляет параметры выборки в запросе, в качестве ответа получает "ОК(не ОК)". Через некоторое время сервис должен получить в качестве запроса затребованные данные от второго, выдать свой ОК, но валится с ошибкой
Код: xml
1.
2.
3.
4.
5.
[org.jboss.ws.core.jaxws.SOAPFaultHelperJAXWS] (http-10.80.30.130-8080-1) SOAP request exception
javax.xml.ws.WebServiceException: javax.xml.bind.UnmarshalException: unexpected element (uri:"", local:"Header").
Expected elements are <{http://www.iec.ch/TC57/2008/schema/message}Payload>,
<{http://www.iec.ch/TC57/2008/schema/message}Header>,<{http://www.iec.ch/TC57/2008/schema/message}Request>,
<{http://www.iec.ch/TC57/2008/schema/message}Reply>


Смущает, что в принципе объект Header найден, но с определённым uri. uri в соответствии с переданными xsd. Убедить сервис что это он и есть тот самый Header чёт не получается. Инет ничего не подсказал полезного, да я собственно говоря и сам чётко вопрос сформулировать не могу. В общем помогите, кто чем может, победить сию напасть
...
Рейтинг: 0 / 0
19.04.2013, 11:27:59
    #38232281
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка вебсервиса UnmarshalException: unexpected element
"Клиент" отправляет кривой XML и сервер не может его распарсить. Ошибка связана с таким понятием как XML namespace.
Объявление, которого, потерялось. Покажите входящий XML, возможно ошибку будет просто увидеть в нем. И тогда у вас будет весомый повод настучать по кумполу отправляющей стороне.
...
Рейтинг: 0 / 0
19.04.2013, 14:59:17
    #38232809
AndreyDmt
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка вебсервиса UnmarshalException: unexpected element
Blazkowicz,
От меня запрос данных
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
	xmlns:urn="urn:sap-com:document:sap:soap:functions:mc-style" 
	xmlns:diag="http://transform.ru/DiagTypes">
	<soapenv:Header />
	<soapenv:Body>
		<urn:ZensToroSubscribeService>
			<urn:Data>
				<urn:Header>
					<urn:Verb>GET</urn:Verb>
					<urn:Noun>ZensToroSubscribeService</urn:Noun>
					<urn:Revision>0</urn:Revision>
					<urn:Context>PRODUCTION</urn:Context>
					<urn:Timestamp>2013-04-19T15:53:32.736+06:00</urn:Timestamp>
					<urn:Source>diag</urn:Source>
					<urn:AsyncReplyFlag>true</urn:AsyncReplyFlag>
					<urn:ReplyAddress>10.80.30.130:8080/cimbiostopo/ObjectSubscribe</urn:ReplyAddress>
					<urn:AckRequired>true</urn:AckRequired>
					<urn:MessageID>1043464F-C473-2743-A586-A4088A1AB8F5</urn:MessageID>
					<urn:Comment>?</urn:Comment>
				</urn:Header>
				<urn:Request>
					<diag:DiagServiceType>
						<ClassType>ErpOrganisation_1</ClassType>
						<ObjectId>ALL</ObjectId>
					</diag:DiagServiceType>
				</urn:Request>
			</urn:Data>
		</urn:ZensToroSubscribeService>
	</soapenv:Body>
</soapenv:Envelope>


Ответ о принятии запроса
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
	<soap-env:Header>
	</soap-env:Header>
	<soap-env:Body>
		<n0:ZensToroSubscribeServiceResponse xmlns:n0="urn:sap-com:document:sap:soap:functions:mc-style">
			<Result>
				<Reply>
					<ReplyCode>0.0 </ReplyCode>
					<Error></Error>
					<Id>1043464F-C473-2743-A586-A4088A1AB8F5</Id>
				</Reply>
			</Result>
		</n0:ZensToroSubscribeServiceResponse>
	</soap-env:Body>
</soap-env:Envelope>


Возврат запрошенных данных
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
<soapenv:Envelope xmlns:mes="http://www.iec.ch/TC57/2008/schema/message" xmlns:rdf="#"
	xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
	<soapenv:Header />
	<soapenv:Body>
		<mes:SubscribeObjects>
			<mes:Data>
				<Header>
					<Verb>CREATE</Verb>
					<Noun>SubscribeObject</Noun>
					<Revision>0</Revision>
					<Context>PRODUCTION</Context>
					<Timestamp>2013-04-19T09:52:58+06:00</Timestamp>
					<AsyncReplyFlag>true</AsyncReplyFlag>
					<ReplyAddress>10.0.100.73:8000</ReplyAddress>
					<AckRequired>true</AckRequired>
					<User>
						<UserID />
						<Organization>MRSK-Ural</Organization>
					</User>
					<MessageID>1043464F-C473-2743-A586-A4088A1AB8F5</MessageID>
					<Comment>Редактирование филиалов</Comment>
				</Header>
				<Payload>
...
				</Payload>
			</mes:Data>
		</mes:SubscribeObjects>
	</soapenv:Body>
</soapenv:Envelope>


Сообщение об ошибке
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
<!--
	HTTP/1.1 500 Internal Server Error
	Server: Apache-Coyote/1.1
	X-Powered-By: Servlet 2.5; JBoss-5.0/JBossWeb-2.1
	Set-Cookie: JSESSIONID=3B37FFD766F122271984180199F37E43; Path=/cimbiostopo
	Content-Type: text/xml;charset=UTF-8
	Content-Length: 624
	Date: Fri, 19 Apr 2013 09:54:07 GMT
	Connection: close
-->
<env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'>
	<env:Header></env:Header>
	<env:Body>
		<env:Fault xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'>
			<faultcode>env:Server</faultcode>
			<faultstring>
javax.xml.bind.UnmarshalException: unexpected element (uri:&quot;&quot;, local:&quot;Header&quot;).
Expected elements are &lt;{http://www.iec.ch/TC57/2008/schema/message}Payload&gt;,
&lt;{http://www.iec.ch/TC57/2008/schema/message}Header&gt;,
&lt;{http://www.iec.ch/TC57/2008/schema/message}Request&gt;,
&lt;{http://www.iec.ch/TC57/2008/schema/message}Reply&gt;
                     </faultstring>
		</env:Fault>
	</env:Body>
</env:Envelope>
...
Рейтинг: 0 / 0
19.04.2013, 15:08:04
    #38232833
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка вебсервиса UnmarshalException: unexpected element
AndreyDmtВозврат запрошенных данных
Код: xml
1.
2.
3.
4.
5.
6.
<soapenv:Envelope xmlns:mes="http://www.iec.ch/TC57/2008/schema/message" xmlns:rdf="#"
	xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
...
		<mes:SubscribeObjects>
			<mes:Data>
				<Header>



Вот эти данные не валидны. Кто за них отвечает?
Сервер ожидает что Header находится в namespace=http://www.iec.ch/TC57/2008/schema/message
Должно быть либо <mes:Header>, либо что-то типа
<SubscribeObjects xmlns=" http://www.iec.ch/TC57/2008/schema/message">
Точно не помню.
Тогда все теги внутри SubscribeObjects будут считаться в этом же namespace
Так как у вас уже есть XSD спека, вы можете этот XML провалидировать любой тулзой, и настучать по шапке тому кто отправил кривой XML. Пусть правят.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Ошибка вебсервиса UnmarshalException: unexpected element / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]