Я создаю простую веб-службу SOAP, используя SLSB и JAX-WS. аннотации. Объекты, которые я хотел бы передать, - это JAXB, сгенерированный из схем OGC, спасибо за проект OGC на java.net. Один конкретный метод, с которым у меня проблемы (который приводит к сбою развертывания) - это ситуация, когда поле (eventTime) объекта запроса (GetResult) находится в другом пакете, чем объект запроса. ObjectFactory для этого типа отличается, и там является проблемой при маршалинге / демаршалинге.
Подмножество ошибок, которые я получаю:
Нет ObjectFactory с @XmlElementDecl для элемента
{http://www.opengis.net/ogc}temporalOps.
эта проблема связана со следующим местоположением:
в защищенном javax.xml.bind.JAXBElement
net.opengis.sos.v_1_0_0.GetResult $ EventTime.temporalOps
в net.opengis.sos.v_1_0_0.GetResult $ EventTime
в защищенном java.util.List
net.opengis.sos.v_1_0_0.GetResult.eventTime
в net.opengis.sos.v_1_0_0.GetResult
в общедоступном net.opengis.sos.v_1_0_0.GetResult
net.opengis.sos.v_1_0_0.ObjectFactory.createGetResult ()
at net.opengis.sos.v_1_0_0.ObjectFactory
В стандартном приложении SE, когда я инициализирую JAXBContext как below, everything works well.
JAXBContext context = JAXBContext.newInstance("net.opengis.sos.v_1_0_0:net.opengis.sensorml.v_1_0_1:net.opengis.sos.v_1_0_0.filter.v_1_1_0");
How do I set the JAXB packages in the JAX-WS context?
My app server/environment is GF 3.1.
Thanks for the help!
Steve