powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / glassfish, не передается xsd:datуtime
14 сообщений из 14, страница 1 из 1
glassfish, не передается xsd:datуtime
    #37997921
SergeyAKa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нужно передать дату в вебсервис
Вот кусок wsdl

Код: 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.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
      <xsd:element name="HBgetNewCust">
      	<xsd:complexType>
      		<xsd:sequence>

      			<xsd:element name="LastEventShtamp"
      				type="xsd:dateTime">
      			</xsd:element>
      			<xsd:element name="BranchId" type="xsd:long"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="HBgetNewCustResponse">
      	<xsd:complexType>
      		<xsd:sequence maxOccurs="unbounded" minOccurs="1">

      			<xsd:element name="Customers" type="tns:NewCust"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>

----------------------------------------------------------------------------
  <wsdl:message name="HBgetNewCustRequest">
  	<wsdl:part name="parameters" element="tns:HBgetNewCust"></wsdl:part>
  </wsdl:message>
-----------------------------------------------------------------------------

  <wsdl:binding name="HomeBankWSSOAP" type="tns:HomeBankWS">
  	<soap:binding style="document"
  		transport="http://schemas.xmlsoap.org/soap/http" />
  	<wsdl:operation name="HBgetNewCust">
  		<soap:operation
  			soapAction="http://ru.ekb/HomeBankWS/HBgetNewCust" />
  		<wsdl:input>
  			<soap:body use="literal" />
  		</wsdl:input>
  		<wsdl:output>
  			<soap:body use="literal" />
  		</wsdl:output>
  	</wsdl:operation>
  </wsdl:binding>




Вот сам запрос

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
<?xml version="1.0" encoding="UTF-8"?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
    <S:Header/>
    <S:Body>
        <ns2:HBgetNewCust xmlns:ns2="http://ru.ekb/HomeBankWS/">
            <BranchId>26</BranchId>
        </ns2:HBgetNewCust>
    </S:Body>
</S:Envelope>



Видно , что LastEventShtamp не передается.

При этом, если меняю xsd:datetime на xsd:string , то параметр передается

WS работает под GlassFish 3.1.2


Уже третий день пытаюсь разобраться , но так и не смог.

Может кто заметит , что не так?

Спасибо.
...
Рейтинг: 0 / 0
glassfish, не передается xsd:datуtime
    #37997923
SergeyAKa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ошибся немного в заголовке, уж простите.

wsdl сгенерирован под Eclipse
...
Рейтинг: 0 / 0
glassfish, не передается xsd:datуtime
    #37998047
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, а как вы поле это устанавливаете?
...
Рейтинг: 0 / 0
glassfish, не передается xsd:datуtime
    #37998268
SergeyAKa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczНу, а как вы поле это устанавливаете?

Это запрос который показал GlassFish

сам запрос был отправлен

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<?xml version="1.0" encoding="UTF-8"?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
    <S:Header/>
    <S:Body>
        <ns2:HBgetNewCust xmlns:ns2="http://.../HomeBankWS/">
	    <lastEventShtamp>2012-10-15T10:37:35.73100+0600</lastEventShtamp>
            <BranchId>26</BranchId>
        </ns2:HBgetNewCust>
    </S:Body>
</S:Envelope>
...
Рейтинг: 0 / 0
glassfish, не передается xsd:datуtime
    #37998305
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergeyAKaЭто запрос который показал GlassFish

Что за игры в партизанов? Объясните внятно, кто куда передаёт и в чем конкретно проблема?
Кто передаёт XML?
Сервис на GlassFish, поняли уже, зачем было два раза повторять?
Что значит "сам запрос был отправлен, но параметр не передаётся"?
Как вы смотрите переданый и полученый запросы?

SergeyAKa
Код: xml
1.
	    <lastEventShtamp>2012-10-15T10:37:35.73100+0600</lastEventShtamp>



По-моему проблема в том что в Timezone пропущено двоеточие. Поэтому сервер не смог распарсить значение.
...
Рейтинг: 0 / 0
glassfish, не передается xsd:datуtime
    #37998375
SergeyAKa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всяко пробовал. Не помогло.

Хотя, проблема в принципе решена. Проблема оказалась в клиенте.
...
Рейтинг: 0 / 0
glassfish, не передается xsd:datуtime
    #37998932
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczПо-моему проблема в том что в Timezone пропущено двоеточие.(Известное) смещение от UTC - знак и четыре десятичные цифры. Никаких двоеточий там нет.
...
Рейтинг: 0 / 0
glassfish, не передается xsd:datуtime
    #37998944
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov(Известное) смещение от UTC - знак и четыре десятичные цифры. Никаких двоеточий там нет.

RTFM3.2.7.3 Timezones

Timezones are durations with (integer-valued) hour and minute properties (with the hour magnitude limited to at most 14, and the minute magnitude limited to at most 59, except that if the hour magnitude is 14, the minute value must be 0); they may be both positive or both negative.

The lexical representation of a timezone is a string of the form: (('+' | '-') hh ':' mm) | 'Z', where

hh is a two-digit numeral (with leading zeros as required) that represents the hours,
mm is a two-digit numeral that represents the minutes,
'+' indicates a nonnegative duration,
'-' indicates a nonpositive duration.

The mapping so defined is one-to-one, except that '+00:00', '-00:00', and 'Z' all represent the same zero-length duration timezone, UTC; 'Z' is its canonical representation.

When a timezone is added to a UTC dateTime, the result is the date and time "in that timezone". For example, 2002-10-10T12:00:00+05:00 is 2002-10-10T07:00:00Z and 2002-10-10T00:00:00+05:00 is 2002-10-09T19:00:00Z.
...
Рейтинг: 0 / 0
glassfish, не передается xsd:datуtime
    #37998959
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczRTFM3.2.7.3 Timezones
...Модификатор Z в шаблоне log4j давно ставили? Переменную tz? Форматы strftime или/и лог, например, Apache httpd тоже не смотрели?
...
Рейтинг: 0 / 0
glassfish, не передается xsd:datуtime
    #37998968
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovМодификатор Z в шаблоне log4j давно ставили? Переменную tz? Форматы strftime или/и лог, например, Apache httpd тоже не смотрели?
Ну-ка, ну-ка поподробнее какое они все имеют отношение к XSD спецификации?
...
Рейтинг: 0 / 0
glassfish, не передается xsd:datуtime
    #37999014
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczНу-ка, ну-ка поподробнее какое они все имеют отношение к XSD спецификации?Хреновость определения: The time zone may be specified as Z (UTC) or (+|-)hh:mm .
Хотя ISO 8601 допускает три варианта: the zone designator would be "+01:00", "+0100", or simply "+01" .
...
Рейтинг: 0 / 0
glassfish, не передается xsd:datуtime
    #37999058
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovХреновость определения: The time zone may be specified as Z (UTC) or (+|-)hh:mm .
Хотя ISO 8601 допускает три варианта: the zone designator would be "+01:00", "+0100", or simply "+01" .
Ну, вот я не знаю чем они все руководствовались. XSD не понимает без двоеточия, в SimpleDateFormat не понимает двоеточие.
ISO-8601 сохраняет нейтралитет, а разрабы пусть решают как хотят.
...
Рейтинг: 0 / 0
glassfish, не передается xsd:datуtime
    #37999183
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczНу, вот я не знаю чем они все руководствовались. XSD не понимает без двоеточия, в SimpleDateFormat не понимает двоеточие.Второй, как я понимаю, руководствовался сложившейся практикой, а XSD, видимо, пошёл по пути "максимальной красивости".
...
Рейтинг: 0 / 0
glassfish, не передается xsd:datуtime
    #37999608
SergeyAKa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Разобрался в проблеме.

Тестировщик нетбинса делал тег LastEventShtamp с маленькой буквы, т.е. lastEventShtamp. Сделал запрос сервису напрямую, и поставил сначала lastEventShtamp, параметр не передавался. Потом LastEventShtamp , параметр передался.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / glassfish, не передается xsd:datуtime
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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