package com.smartlogic.ses.client;

import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;

import org.w3c.dom.Element;

public abstract class AbstractSimpleNodeDate extends AbstractSimpleNode  {
	private static final long serialVersionUID = -7383419011106091654L;

	public AbstractSimpleNodeDate() {}
	
	public AbstractSimpleNodeDate(String value) {
		super(value);
	}

	public AbstractSimpleNodeDate(Element element) {
		super(element);
	}
	
	
	private final static DateTimeFormatter defaultDateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssZ"); 
	public ZonedDateTime getZonedDateTime() {
		if ((getValue() == null) || (getValue().length() == 0)) return null;
		
		return ZonedDateTime.parse(getValue(), defaultDateTimeFormatter);
	}
	public void setZonedDateTime(ZonedDateTime zonedDateTime) {
		setValue(defaultDateTimeFormatter.format(zonedDateTime));
	}
	
	public ZonedDateTime getZonedDateTime(DateTimeFormatter dateTimeFormatter) {
		if ((getValue() == null) || (getValue().length() == 0)) return null;
		
		return ZonedDateTime.parse(getValue(), dateTimeFormatter);
	}

}

@@ -141,16 +141,66 @@
 ent;%0D%0A%0D%0A
+import javax.xml.bind.annotation.XmlTransient;%0D%0A%0D%0A
 public a
@@ -651,17 +651,32 @@
 m:ssZ%22);
- 
+%0D%0A%09@XmlTransient
 %0D%0A%09publi

Mark the getZonedDateTime method with @XmlTransient. The JAXB parsers are seeing the getX and setX methods and assume there's a state property of type ZonedDateTime. The old JAXB implementations (java 8) don't handle the java.time stuff at all. This fixes the JAXB problem for a client (AZ).