Hi, I am trying to use the API like so, creating a BundleApp via API. I am using Falcon 0.9 jars.
private static void generateBundle() throws FalconException{ BUNDLEAPP bundleapp = new BUNDLEAPP(); //BUNDLEAPP bundle = unmarshalBundleapp(bundleTemplate); bundleapp.setName("My-Bundle-App"); CONTROLS controls = new CONTROLS(); controls.setKickOffTime(sdf.format(new Date())); bundleapp.setControls(controls); COORDINATOR coordinator = new COORDINATOR(); coordinator.setName("My-Bundle-Coordinator"); coordinator.setAppPath("/user/cloudera/oozieco"); bundleapp.getCoordinator().add(coordinator); JAXBElement<BUNDLEAPP> bApp = new org.apache.falcon.oozie.bundle.ObjectFactory().createBundleApp(bundleapp); try { Marshaller buMarshaller = OozieUtils.BUNDLE_JAXB_CONTEXT.createMarshaller(); //Marshaller buMarshaller = JAXBContext.newInstance(BUNDLEAPP.class).createMarshaller(); buMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE); SchemaFactory schemaFactory = SchemaFactory.newInstance("http://www.w3.org/2001/XMLSchema"); Schema schema = schemaFactory.newSchema(GenerateCoordinator.class.getResource("/oozie-bundle-0.2.xsd")); buMarshaller.setSchema(schema); buMarshaller.marshal(bApp, new OutputStreamWriter(System.out)); } catch (JAXBException | SAXException e) { // TODO Auto-generated catch block e.printStackTrace(); } } But when I execute this code, I get an exception <?xml version="1.0" encoding="UTF-8" standalone="yes"?> javax.xml.bind.MarshalException - with linked exception: [org.xml.sax.SAXParseException; lineNumber: 0; columnNumber: 0; cvc-elt.1.a: Cannot find the declaration of element 'bundle-app'.] at com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:323) at com.sun.xml.bind.v2.runtime.MarshallerImpl.marshal(MarshallerImpl.java:249) at javax.xml.bind.helpers.AbstractMarshallerImpl.marshal(AbstractMarshallerImpl.java:116) at com.ligadata.oozie.check.GenerateCoordinator.generateBundle(GenerateCoordinator.java:84) at com.ligadata.oozie.check.GenerateCoordinator.main(GenerateCoordinator.java:52) Caused by: org.xml.sax.SAXParseException; lineNumber: 0; columnNumber: 0; cvc-elt.1.a: Cannot find the declaration of element 'bundle-app'. at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source) at org.apache.xerces.util.ErrorHandlerWrapper.error(Unknown Source) at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source) at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source) at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source) at org.apache.xerces.impl.xs.XMLSchemaValidator.handleStartElement(Unknown Source) at org.apache.xerces.impl.xs.XMLSchemaValidator.startElement(Unknown Source) at org.apache.xerces.jaxp.validation.ValidatorHandlerImpl.startElement(Unknown Source) at org.xml.sax.helpers.XMLFilterImpl.startElement(XMLFilterImpl.java:551) at com.sun.xml.bind.v2.runtime.output.SAXOutput.endStartTag(SAXOutput.java:128) at com.sun.xml.bind.v2.runtime.output.ForkXmlOutput.endStartTag(ForkXmlOutput.java:106) at com.sun.xml.bind.v2.runtime.XMLSerializer.endAttributes(XMLSerializer.java:310) at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:699) at com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl$1.serializeBody(ElementBeanInfoImpl.java:156) at com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl$1.serializeBody(ElementBeanInfoImpl.java:193) at com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeBody(ElementBeanInfoImpl.java:321) at com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeRoot(ElementBeanInfoImpl.java:328) at com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeRoot(ElementBeanInfoImpl.java:76) at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsRoot(XMLSerializer.java:498) at com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:320) ... 4 more Not sure what I am doing wrong. Similar code works for Coordinator App and Workflow App. Thanks in Advance. Chandra