Bug in DataConnection / XSD Schema handling with attributes
It took me one day to figure out that Dataconnection does not like importing regular schema or XML instances - they have to be wrapped in an XDP "envelope" (like what XDP output mode creates).
After getting over that hurdle - then if you have attributes with the same name on different elements - eg it crashes XFA.
This is a VERY common thing - and Adobe should not crash on this.
Also - the information model is flawed in that you need a unique instance to bind to - so how do you do repeating blocks to individual fields?
There needs to be a way to make a generic model structure element - but then assign that to multiple form fields - but each time add an index value. E.g. [box1][box2] etc.
The only solution here is to use XSLT to clean-up the mess.
I was able to finally get my xslt working so that it re-formats the xdp output into normal XML.
It should not be this hard to do all this. Ho hum.
DW
Similar Messages
-
Hi all,
I just got a copy of the book "Pro SQL Server 2008 XML" written by Michael Coles (published by Apress) and try to learn the XML Schema Collection in my SQL Server 2012 Management Studio (SSMS2012). I studied Chapter 4 XML Collection of the book
and executed the following code of Listing 4-8 Complex Schema with Attribute:
-- Pro SQL Server 2008 XML by Michael Coles (Apress)
-- Listing04-08.sql Complex XML Schema with Attribute
-- shcColes04-08.sql saved in C:\\Documents\XML_SQL_Server2008_code_Coles_Apress
-- 6 April 2015 8:00 PM
CREATE XML SCHEMA COLLECTION dbo.ComplexTestSchemaCollection_attribute
AS
N'<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="item">
<xs:complexType>
<xs:sequence>
<xs:element name="name" />
<xs:element name="color" />
<xs:group ref="id-price" />
<xs:group ref="size-group" />
</xs:sequence>
<xs:attribute name="id" />
<xs:attribute name="number" />
</xs:complexType>
</xs:element>
<xs:group name="id-price">
<xs:choice>
<xs:element name="list-price" />
<xs:element name="standard-cost" />
</xs:choice>
</xs:group>
<xs:group name="size-group">
<xs:sequence>
<xs:element name="size" />
<xs:element name="unit-of-measure" />
</xs:sequence>
</xs:group>
</xs:schema>';
GO
DECLARE @x XML (dbo.ComplexTestSchemaCollection_attribute);
SET @x = N'<?xml version="1.0"?>
<item id="749" number="BK-R93R-62">
<name>Road-150 Red, 62</name>
<color>Red</color>
<list-price>3578.27</list-price>
<size>62</size>
<unit-of-measure>CM</unit-of-measure>
</item>';
SELECT @x;
GO
DROP XML SCHEMA COLLECTION dbo.ComplexTestSchemaCollection_attribute;
It worked nicely. But, I just found out the coding that was downloaded from the website of Apress and I just executed was different from the coding of Listing 4-8 listed in the book: all the <xs: ....> and </xs: ..> in my SSMS2012 are
listed as <xsd:...> and </xsd:...> respectively in the book!!?? The same thing happens in the Listing 4-3 Simple XML Schema, Listing 4-5 XML Schema and Valid XML Document with Comple Type Definition, Listion 4-6 XML Schema and XML
Document Document with Complex Type Using <sequence> and <choice>, and Listing 4-7 Complex XML Schema and XML Document with Model Group Definition (I executed last week) too. I wonder: should xs or xsd be used in the XML
Schema Collection of SSMS2012? Please kindly help, clarify this matter and explain the diffirence of using xs and xsd for me.
Thanks in advance,
Scott ChangHi Scott,
Using xs or xsd depends on how you declare the namespace prefix.
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="item">
I've posted a very good link in your last question, just in case you might have missed it, please see the below link.
Understanding XML Namespaces
In an XML document we use a namespace prefix to qualify the local names of both elements and attributes . A prefix is really just an abbreviation for the namespace identifier (URI), which is typically quite long. The prefix is first mapped to a namespace
identifier through a namespace declaration. The syntax for a namespace declaration is:
xmlns:<prefix>='<namespace identifier>'
If you have any question, feel free to let me know.
Eric Zhang
TechNet Community Support -
XSD Schema issue with 11g - Urgent
All,
SOA,JDev Version - 11.1.1.1.0
In my current project(Async BPEL), I'm using a xsd schema(custom one) which I have used in 10g. The import of schema to jdev went thru fine. After import, I've set the custom schema element as the payload for the receive activity. (i.e Structure pane --> MessageTypes --> Process WSDL --> <process>RequestMessage --> payload --> Element --> BrowseElement --> project schema files --> Choose the custom schema and select the root element). After setting it up, I tried to deploy the process. I got the following error.
*+[2010-01-08T16:17:17.502+05:30] [soa_server4] [ERROR] [SOA-21037] [oracle.integration.platform.blocks.deploy.servlet] [tid: [ACTIVE].ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: weblogic] [ecid: 0000IODYsIR9DgYVLqBT8A1BHgwq00001Q,0] [APP: soa-infra] [arg: Error during composite deployment: oracle.fabric.common.FabricDeploymentException: oracle.fabric.common.FabricException: Update Failed: Unable to register service.: Update Failed: Unable to register service..] Sending back error message: Error during composite deployment: oracle.fabric.common.FabricDeploymentException: oracle.fabric.common.FabricException: Update Failed: Unable to register service.: Update Failed: Unable to register service...+*
I tried the same scenario with the schema which the BPEL process created, it deployed successfully.
In 11g, is there any stringent steps to verify the custom schema? If so, please share your thoughts. Its of high importance to me. Kindly help.
Thanks,
SenOnce I had a similar problem, although I am not sure with the error messge, but I saw that the wsdl file was still reflecting the process as message part and was also using the namespace of default xsd, for xs:client. It might have effects some where else as well, could not recollect, where all I was required to change.
So I think it is better to create the empty composite first, copy your schema file in it and then when dragging the BPEL component, specify the data types from your schema, instead of 'process' and 'processResponse'.
HTH,
SwapSawe. -
Catch all error information while validating xml content with xsd schema
Hi experts,
I created a java mapping to validating the input xml content with xsd schema (schema validation). What I want is to catch all error message to the xml not just the first error. I used SAXParser in sapxmltoolkit.jar to do the schema validation. The below is a part of my java mapping.
XMLReader parser = XMLReaderFactory.createXMLReader("com.sap.engine.lib.xml.parser.SAXParser");
parser.setFeature( "http://xml.org/sax/features/validation" , true);
parser.setFeature( "http://apache.org/xml/features/validation/schema" , true);
parser.setProperty("http://java.sun.com/xml/jaxp/properties/schemaLanguage", "http://www.w3.org/2001/XMLSchema"); parser.setProperty("http://java.sun.com/xml/jaxp/properties/schemaSource",this.getClass().getClassLoader().getResourceAsStream(schema)); // schema is my schema name
parser.setErrorHandler(new ParseErrorHandler()); // ParseErrorHandler is my own ErrorHandler which extends DefaultHandler
parser.parse(new InputSource(new ByteArrayInputStream(sinput.getBytes())));
// In error handler, I comment all code so as not to throw any exception
public class ParseErrorHandler extends DefaultHandler
public void error(SAXParseException e) throws SAXException
// sSystem.out.println("Error" + e.getMessage());
// throw e;
public void fatalError(SAXParseException e)
// throw e;
// System.out.println("SAP Fatal Error" + e.getMessage());
Unfortunately the program always stopped while catching the first error. Check the below log.
com.sap.engine.lib.xml.parser.NestedSAXParserException: Fatal Error: com.sap.engine.lib.xml.parser.ParserException:
ERRORS :
cvc-simple-type : information item '/:ShipNotice[1]/:Header[1]/:To[1]/:PartnerInformation[1]/:AddressInformation[1]/:CityName[1]' is not valid, because it's value does not satisfy the constraints of facet 'minLength' with value '1'.
cvc-data : information item '/:ShipNotice[1]/:Header[1]/:To[1]/:PartnerInformation[1]/:AddressInformation[1]/:CityName[1]' is is not valid with respoct to the corresponding simple type definition.
cvc-element : element information item '/:ShipNotice[1]/:Header[1]/:To[1]/:PartnerInformation[1]/:AddressInformation[1]/:CityName[1]' is associated with invalid data.
cvc-element : element information item '/:ShipNotice[1]/:Header[1]/:To[1]/:PartnerInformation[1]/:AddressInformation[1]' is not valid with respect to it's complex type definition..
cvc-element : element information item '/:ShipNotice[1]/:Header[1]/:To[1]/:PartnerInformation[1]' is not valid with respect to it's complex type definition..
cvc-element : element information item '/:ShipNotice[1]/:Header[1]/:To[1]' is not valid with respect to it's complex type definition..
cvc-element : element information item '/:ShipNotice[1]/:Header[1]' is not valid with respect to it's complex type definition..
cvc-element : element information item '/:ShipNotice[1]' is not valid with respect to it's complex type definition..
-> com.sap.engine.lib.xml.parser.ParserException:
I tried using Xerces and JAXP to do validation, the same error happened. I have no idea on this. Does xi has its own error handler logic? Is there any body can make me get out of this?
Thanks.<h6>Hi experts,
<h6>
<h6>I created a java mapping to validating the input xml content with xsd schema (schema validation). What I want is to catch all <h6>error message to the xml not just the first error. I used SAXParser in sapxmltoolkit.jar to do the schema validation. The below <h6>is a part of my java mapping.
<h6>XMLReader parser = XMLReaderFactory.createXMLReader("com.sap.engine.lib.xml.parser.SAXParser");
<h6>parser.setFeature( "http://xml.org/sax/features/validation" , true);
<h6>parser.setFeature( "http://apache.org/xml/features/validation/schema" , true);
<h6>parser.setProperty("http://java.sun.com/xml/jaxp/properties/schemaLanguage", "http://www.w3.org/2001/XMLSchema"); <h6>parser.setProperty("http://java.sun.com/xml/jaxp/properties/schemaSource",this.getClass().getClassLoader().getResourceAsStream(schema)); <h6>// schema is my schema name
<h6>parser.setErrorHandler(new ParseErrorHandler()); // ParseErrorHandler is my own ErrorHandler which extends Default Handler
<h6>parser.parse(new InputSource(new ByteArrayInputStream(sinput.getBytes())));
<h6>
<h6>// In error handler, I comment all code so as not to throw any exception
<h6>public class ParseErrorHandler extends DefaultHandler
<h6>{
<h6> public void error(SAXParseException e) throws SAXException
<h6> {
<h6> // sSystem.out.println("Error" + e.getMessage());
<h6> // throw e;
<h6> }
<h6>
<h6> public void fatalError(SAXParseException e)
<h6> {
<h6> // throw e;
<h6> // System.out.println("SAP Fatal Error" + e.getMessage());
<h6>
<h6> }
<h6>
<h6>}
<h6>
<h6>Unfortunately the program always stopped while catching the first error. Check the below log.
<h6>
<h6>com.sap.engine.lib.xml.parser.NestedSAXParserException: Fatal Error: com.sap.engine.lib.xml.parser.ParserException:
<h6>ERRORS :
<h6>cvc-simple-type : information item <h6>'/:ShipNotice[1]/:Header[1]/:To[1]/:PartnerInformation[1]/:AddressInformation[1]/:CityName[1]' <h6>is not valid, because it's value does not satisfy the constraints of facet 'minLength' with value '1'.
<h6>cvc-data : information item <h6>'/:ShipNotice[1]/:Header[1]/:To[1]/:PartnerInformation[1]/:AddressInformation[1]/:CityName[1]' <h6>is is not valid with respoct to the corresponding simple type definition.
<h6>cvc-element : element information item <h6>'/:ShipNotice[1]/:Header[1]/:To[1]/:PartnerInformation[1]/:AddressInformation[1]/:CityName[1]' <h6>is associated with invalid data.
<h6>cvc-element : element information item <h6>'/:ShipNotice[1]/:Header[1]/:To[1]/:PartnerInformation[1]/:AddressInformation[1]' <h6>is not valid with respect to it's complex type definition..
<h6>cvc-element : element information item <h6>'/:ShipNotice[1]/:Header[1]/:To[1]/:PartnerInformation[1]' <h6>is not valid with respect to it's complex type definition..
<h6>cvc-element : element information item <h6>'/:ShipNotice[1]/:Header[1]/:To[1]' <h6>is not valid with respect to it's complex type definition..
<h6>cvc-element : element information item <h6>'/:ShipNotice[1]/:Header[1]' <h6>is not valid with respect to it's complex type definition..
<h6>cvc-element : element information item '/:ShipNotice[1]' is not valid with <h6>respect to it's complex type definition..
<h6> -> com.sap.engine.lib.xml.parser.ParserException:
<h6>
<h6>
<h6>I tried using Xerces and JAXP to do validation, the same error happened. I have no idea on this. Does xi has its own error <h6>handler logic? Is there any body can make me get out of this?
<h6>Thanks. -
Hello Anybody, I have a question. Can any of you please suggest me how to make an xml file from the database table with all the records?
Note:- I am having the XSD Schema file and the resulted XML file should be in that XSD format only.The Oracle documentation has a good overview of the options available
Generating XML Data from the Database
Without knowing your version, I just picked 11.2, so you made need to look for that chapter in the documentation for your version to find applicable information.
You can also find some information in XML DB FAQ -
How to read a file with data in Hierarchical Structure using XSD Schema
Hi
We have requirement in which we have to read a FIXED LENGTH file with FILE ADAPTER. File contains the data in hierarchical structure. Hierarchy in the file is identified by the first 3 characters of every line which could be any of these : 000,001,002,003 and 004. Rest files are followed after these. So structure is like:
000 -- Header of File. Will come only once in file. Length of this line is 43 characters
-- 001 -- Sub Header. Child for 000. Can repeat in file. Length of this line is 51 characters
--- 002 -- Detail record. Child for 001. Can repeat multiple times in given 001. Length of this line is 43 characters 1353
-- 003 -- Sub Footer record at same level of 001. Will always come once with 001 record. Child for 000. Length of this line is 48 characters
004 -- Footer of file.At same level of 000. Will come only once in file. Length of this line is 48 characters
Requirement is to create an XSD which should validate this Hierarchical Structure also i.e data should come in this hierarchy only else raise an error while parsing the file.
Now while configuring the FILE ADAPTER to read this file we are using Native Schema UI to create the XSD to parse this structure using an example data file. But we are not able to create a valid XSD for this file which should validate the Hierarchy also on the file.
Pls provide any pointers or solution for this.
Link to download the file, file structure details and XSD that we have created:
https://docs.google.com/file/d/0B9mCtbxc3m-oUmZuSWRlUTBIcUE/edit?usp=sharing
Thanks
Amit Rattan
Edited by: user11207269 on May 28, 2013 10:16 PM
Edited by: user11207269 on May 28, 2013 10:31 PM
Edited by: user11207269 on May 28, 2013 10:33 PMHeloo.. Can anyone help me on this. I need to do Hierarchial read / validation while reading the file using File Adapter using Native XSD schema.
-
XSLT bug with attributes+in memory DOM
Hello,
I know there was a thread about this one some time ago but i
don't know the current state of this matter, so :
The XSLT processor has problems with attributes when the DOM was
build dynamically (attributes are returned as being empty). When
i save the same DOM, reload it and then do the transform
attributes are properly transformed.
The Version 2.0.0.1 of the Java parser states to have solved a
problem when accessing attributes (bug #920536) but this seems to
be an other one (i tried 2.0.0.0 and 2.0.0.1 and both had this
problem).
Bye Heiko.
nullWe were unable to reproduce the problem you illustrated. We got
the output:
<HTML>
<BODY>
the value is : 1
</BODY>
</HTML>
irrespective of whether the lines were commented out. Can you
describe your environment - JRE/JDK, OS. etc?
Oracle XML Team
http://technet.oracle.com
Oracle Technology Network
You wrote:
: Hello,
: the following program illustrates what i mean :
: package testing;
: import oracle.xml.parser.v2.*;
: import org.w3c.dom.*;
: import java.io.*;
: public class XMLTest {
: public static final void main(String [] args) throws
: Exception {
: XMLDocument doc=new XMLDocument();
: doc.setVersion("1.0");
: doc.setStandalone("yes");
: Node root=doc.createElement("ROOT");
: Node att=doc.createAttribute("value");
: att.setNodeValue("1");
: root.getAttributes().setNamedItem(att);
: doc.appendChild(root);
: doc.print(new FileOutputStream("c:\\test.xml"));
: DOMParser parser=new DOMParser();
: parser.parse(new FileInputStream("c:\\test.xml"));
: doc=parser.getDocument();
: XSLStylesheet xsl=new XSLStylesheet(new
: FileInputStream("c:\\test.xsl"), null);
: XMLDocument out=new XMLDocument();
: out.appendChild(new XSLProcessor().processXSL(xsl,
doc));
: out.print(System.out);
: with the stylesheet test.xsl as follows :
: <?xml version="1.0"?>
: <xsl:stylesheet
: xmlns:xsl="http://www.w3.org/XSL/Transform/1.0"
: xmlns="http://www.w3.org/Profiles/xhtml1-transitional"
: default-space="strip"
: indent-result="yes"
: >
: <xsl:template match="ROOT">
: <HTML>
: <BODY>
: the value is : <xsl:value-of select="@value"/>
: </BODY>
: </HTML>
: </xsl:template>
: </xsl:stylesheet>
: if you run the program as given the result is :
: the value is:
: but when you uncomment the lines storing & retrieving the
: document the result is as i would expect it :
: the value is: 1
: Bye Heiko.
null -
How to validate xml file with XSD schema ?? in JDK1.4.2
How to validate xml file with XSD schema ?? in JDK1.4.2
i dont want to use new Xerec Jar ...
Suggest option ...Please do not double-post. http://forum.java.sun.com/thread.jspa?threadID=5134447&tstart=0
Then use Stax (Woodstock) or Saxon.
- Saish -
Schema Validation on attributes of an element in XML againt XSD schema
Hi,
I had generated artifact java classes from XSD schema file.Now i am validatiing one sample XML document by using these classes in JAXB.The XML document is validated successfully.but only elements are validated ,but not attributes of that elements.for example ,i am giving wrong element which is not defined inside the schema file,it throws validation error as expected ,whereas validation against wrong attributes of elements in XML it is not working anyway,it does not throw any validation errors,but it should throw validation errors.kindly help me to solve this issue.
Here The sample validation code snippets :
import javax.xml.bind.ValidationEvent;
import javax.xml.bind.ValidationEventHandler;
import javax.xml.bind.ValidationEventLocator;
public class MyEventHandler implements ValidationEventHandler{
public boolean handleEvent(ValidationEvent ve) {
if (ve.getSeverity()==ValidationEvent.FATAL_ERROR ||
ve .getSeverity()==ValidationEvent.ERROR){
ValidationEventLocator locator = ve.getLocator();
//Print message from valdation event
System.out.println("Invalid booking document: "
+ locator.getURL());
System.out.println("Error: " + ve.getMessage());
//Output line and column number
System.out.println("Error at column " +
locator.getColumnNumber() +
", line "
+ locator.getLineNumber());
return true;
Unmarshaller unmarshaller = jc.createUnmarshaller();
unmarshaller.setEventHandler(new MyEventHandler());Here is my analagous 'strange' behavior. I am jaxb processing and then marshalling generated classes to XML ( following the simple Sun 'PurchaseOrder' example )
1. This works:
<xsd:schema....>
<xsd:complextType name = "myName">
<xsd:attribute name='name1'>
</xsd:complextType>
</xsd:schema>
2. This doesn't:
<xsd:schema....>
<xsd:complextType name = "myName">
<xsd:attribute name='name1'/>
<xsd:attribute name='name2'/>
</xsd:complextType>
</xsd:schema>
That is, using more than one attribute line within this simple complex type causes nothing to be marshalled to XML.
Ideas? -
How to validate an XML file with XSD Schema on JDK 1.4
Hi
I'm looking for samples how to validate xml files with xsd schema using jsdk 1.4
Thank you.This is how.
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.dom.DOMResult;
import javax.xml.transform.dom.DOMSource;
import javax.xml.validation.Schema;
import javax.xml.validation.SchemaFactory;
import javax.xml.validation.Validator;
DocumentBuilderFactory dbfac = DocumentBuilderFactory.newInstance();
dbfac.setNamespaceAware(true);
SchemaFactory factory1 = SchemaFactory
.newInstance("http://www.w3.org/2001/XMLSchema");
Schema schema = factory1.newSchema(new File("person.xsd"));
dbfac.setSchema(schema);
DocumentBuilder dbparser1 = dbfac.newDocumentBuilder();
Document doc1 = dbparser1.parse(new File("person.xml"));
Validator validator1 = schema.newValidator();
DOMSource dm1 = new DOMSource(doc1);
DOMResult domresult1 = new DOMResult();
validator1.validate(dm1, domresult1); -
Binding Xml file with Xsd Schema
Hello
everybody there.
I am trying to make an application where word files are converted into xml.
For that i have used org.exolab.castor and org.apache.poi.hwpf.
Now the problem is that i was able to generate the xml file from word, but when i am binding it with XMLSchema.xsd following error is coming.
java.lang.IllegalArgumentException: getSimpleType: the simple type 'formChoice' is not a built-in type as defined in XML Schema specification.
at org.exolab.castor.xml.schema.Schema.getSimpleType(Schema.java:1289)
at org.exolab.castor.xml.schema.Schema.addSimpleType(Schema.java:583)
at org.exolab.castor.xml.schema.reader.SchemaUnmarshaller.endElement(SchemaUnmarshaller.java:643)
at org.exolab.castor.xml.schema.reader.Sax2ComponentReader.endElement(Sax2ComponentReader.java:198)
at org.apache.xerces.parsers.SAXParser.endElement(SAXParser.java:1392)
at org.apache.xerces.validators.common.XMLValidator.callEndElement(XMLValidator.java:1550)
at org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch(XMLDocumentScanner.java:1149)
at org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.java:381)
at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1098)
at org.exolab.castor.builder.SourceGenerator.generateSource(SourceGenerator.java:430)
at org.exolab.castor.builder.SourceGenerator.generateSource(SourceGenerator.java:485)
at TempHwpf.<init>(TempHwpf.java:35)
at TempHwpf.main(TempHwpf.java:44)the code for binding my xml file with xsd schema is as under:-
SourceGenerator sourcegen = new SourceGenerator();
sourcegen.getVersion();
System.out.println(sourcegen.getVersion());
sourcegen.generateSource("XMLSchema.xsd","packagename");I have checked XMLSchema.xsd file, in that formChoice is already defined, than also error is coming.
can anyone help me out. first i thought that XMLSchema.xsd which i have is not proper, but i downloaded it again from w3c.org,
than also same error is shown.
please help me out.
waiting for reply.
milindPlease do not double-post. http://forum.java.sun.com/thread.jspa?threadID=5134447&tstart=0
Then use Stax (Woodstock) or Saxon.
- Saish -
Issue with working on a webservice that has xml elements with attributes
This is a branchout of Thread: Some more complex sample of invokin WS needed_
We are working on a project that involves a outbound SALT Web service call that includes complex elements with attributes..We are looking for options of how to use FML API's to pass these attribute values from the application code.
We opened a ticket with oracle where we were suggested to frame the entire xml and pass the xml using the FML32 of the complex element. But when we framed the xml for Service and put the entire XML which includes the attributes using the FML ID of Service.
Please find a sample Schema and XML similar to the one we are working on...its associated code
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="Service" type="Service_Type" nillable="true">
<xs:annotation>
<xs:documentation>Comment describing your root element</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="Service_Type">
<xs:sequence>
<xs:element name="DateTime" type="xs:dateTime" nillable="true">
</xs:element>
<xs:element name="UUID" nillable="true">
</xs:element>
<xs:element name="Status" type="xs:string" nillable="true" minOccurs="0" maxOccurs="unbounded">
</xs:element>
</xs:sequence>
<xs:attribute name="Version" type="xs:string" use="required">
</xs:attribute>
<xs:attribute name="Name" type="xs:string" use="required">
</xs:attribute>
</xs:complexType>
</xs:schema>
The sample XML is :
___<?xml version="1.0" encoding="UTF-8"?>___
___<!--Sample XML file generated by XMLSpy v2010 rel. 2 (http://www.altova.com)-->___
___<Service Name="TestService" Version="1.1" xsi:noNamespaceSchemaLocation="Untitled6.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">___
___ <DateTime>2001-12-17T09:30:47Z</DateTime>___
___ <UUID>text</UUID>___
___</Service>___
wsdlcvt generated the mif file with Service as a FML32 type and all its child elements as "mbstring". We tried to leave as it is and we also tried to replace all the child elements and just had a mif entry for "Service" as a mbstring neither produced a different output...Tried to dump using Ferror32 which did not dump any..._
The sample C/C++ code as per suggestions were to do the following...
_1) Have a string with the entire XML for Service_
xmldata="<Service Name=\"TestService"\ Version="1.1\"_ xsi:noNamespaceSchemaLocation=\"Untitled6.xsd\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">_
_ <DateTime>2001-12-17T09:30:47Z</DateTime>_
_ <UUID>text</UUID>_
_</Service>";_
_2) Use Fmbpack32 to create a mbstring data_
_memcpy(reqmbptr, (char*)xmldata.data(),xmldata.length());_
_len=xmldata.length();_
_Fmbpack32(mbcodeName,reqmbptr,len, packdata,(FLDLEN32 *)&packedlen,0);_
userlog("Size of packedlen is %d",packedlen);
3) Add the packed data to the output buffer
Fadd32(fmlbuffer,Service, packdata,packedlen );
But we do not see the Service tag populated in the GWWS outbound request.Everything else makes it....any help on how to move ahead would be appreciated...It seems you switch to the 10gR3 GA and now the whole XML data is mapped to FLD_MBSTRING.
I will forward my sample to you by mail, but this sample is not offical sample, it is just QA test case. You can refere it and check what's the difference.
Please let me know your mail address.
Regards,
Xu he -
Multiple Root elements in the XSD Schema
Hi Dear MDM gurus,
I have manually created an XSD Schema and I can import it in the Syndicator without any problem.
I have 3 different Root elements in the schema that I want to use and map to the corresponding table of this type.
In my Syndicator screen in the Rood dropdown box I can see all three of the Root elements that I have in the schema.
If I select the first Root element - everything goes fine and I can do my mapping, save the map, etc.
The problem is that if I select the second or third root element to do the mapping for them, the syndicator does not show the structure in the Item Mapping after that.
I tried moving the Second root element of the schema and make it first and it works with it, but then the other two are not appearing and I have the same issue.
Does MDM support only one Root element in the Schema? If that's the case, why does it show all three of them in the dropdown?
Here is an example:
1. If I have them in this order in my XSD
<xs:element name="ManufacturerGroupNumber" type="ManufacturerGroupNumbers"/>
<xs:element name="SupplierGroupNumber" type="SupplierGroupNumbers"/>
<xs:element name="SupplierLocationNumber" type="Suppliers"/>
I can only see the structure when I select the "ManufacturerGroupNumber".
2. If I have them in the Schema in this order
<xs:element name="SupplierLocationNumber" type="Suppliers"/>
<xs:element name="SupplierGroupNumber" type="SupplierGroupNumbers"/>
<xs:element name="ManufacturerGroupNumber" type="ManufacturerGroupNumbers"/>
I can only see the structure when I select the first one again "SupplierLocationNumber" and I can only do the mapping for it.
Any help would be appreciated.
Thanks in advance,
BorisHello Satish,
Thank you for your quick response.
I read some of the architectural approaches and XML specifications and depending on your design, you may have only one Root element or in rare cases Several Root elements. In my case, I was advised by our PI experts to use Multiple Root elements and this gives me the following:
Advantages:
u2022 The reusability of the schema definition is available for all types and all elements defined in the global namespace.
Disadvantages:
u2022 Since there are many global elements, there are many valid XML documents.
I initially had the schema as you suggested, but they didn't like it in PI and advised me to change it with having multiple roots.
What I'm trying to figure out is if there is a bug in MDM that does not allow to use the rest of the root elements, so I can open an OSS message.
Thanks,
Boris -
BUG: ADF BC read-only VO with no Key attrs + af:table
Hello all,
I've got a bug to report - quite easily reproducable with the HR demo schema. To see it:
1). Create a new application from the ADF BC + Faces template
2). Create a read-only VO, use "SELECT employee_id, first_name from employees" and order by "employee_id" - take the defaults for everything - do not set any key attributes.
3). Create an AM, add the VO to it's data model. Turn off AM pooling in the configuration.
4). Create a JSPX page. Drag-drop the VO from the data control palette as an ADF read-only table - with selection
5). Bind the actionlistener of the "submit" button to a backing bean method that just system.out.println's something.
Now, run the app. Try selecting an employee from the first page (records 1-10) and clicking submit - it works. Now, scroll to the second set of records, select one and click submit - no message appears - the action listener is never called. No errors are thrown.
Workaround: ensure the VO has employee_id selected as a key attribute.
My code is at the bottom for reference.
Cheers,
John
untitled1.jspx:
<?xml version='1.0' encoding='windows-1252'?>
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.0"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:af="http://xmlns.oracle.com/adf/faces"
xmlns:afh="http://xmlns.oracle.com/adf/faces/html">
<jsp:output omit-xml-declaration="true" doctype-root-element="HTML"
doctype-system="http://www.w3.org/TR/html4/loose.dtd"
doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"/>
<jsp:directive.page contentType="text/html;charset=windows-1252"/>
<f:view>
<afh:html>
<afh:head title="untitled1">
<meta http-equiv="Content-Type"
content="text/html; charset=windows-1252"/>
</afh:head>
<afh:body>
<af:messages/>
<h:form>
<af:table value="#{bindings.emp1.collectionModel}" var="row"
rows="#{bindings.emp1.rangeSize}"
first="#{bindings.emp1.rangeStart}"
emptyText="#{bindings.emp1.viewable ? 'No rows yet.' : 'Access Denied.'}"
selectionState="#{bindings.emp1.collectionModel.selectedRow}"
selectionListener="#{bindings.emp1.collectionModel.makeCurrent}">
<af:column sortProperty="EmployeeId" sortable="false"
headerText="#{bindings.emp1.labels.EmployeeId}">
<af:outputText value="#{row.EmployeeId}">
<f:convertNumber groupingUsed="false"
pattern="#{bindings.emp1.formats.EmployeeId}"/>
</af:outputText>
</af:column>
<af:column sortProperty="FirstName" sortable="false"
headerText="#{bindings.emp1.labels.FirstName}">
<af:outputText value="#{row.FirstName}"/>
</af:column>
<f:facet name="selection">
<af:tableSelectOne text="Select and">
<af:commandButton text="Submit" actionListener="#{abc.click}"/>
</af:tableSelectOne>
</f:facet>
</af:table>
</h:form>
</afh:body>
</afh:html>
</f:view>
</jsp:root>abc.java:
import javax.faces.event.ActionEvent;
public class abc
public abc()
public void click(ActionEvent actionEvent)
System.out.println("click");
}emp.xml (View Object):
<?xml version='1.0' encoding='windows-1252' ?>
<!DOCTYPE ViewObject SYSTEM "jbo_03_01.dtd">
<ViewObject
Name="emp"
OrderBy="employee_id"
BindingStyle="OracleName"
CustomQuery="true"
ComponentClass="model.empImpl"
UseGlueCode="false" >
<SQLQuery><![CDATA[
select employee_id, first_name
from employees
]]></SQLQuery>
<DesignTime>
<Attr Name="_isExpertMode" Value="true" />
<Attr Name="_version" Value="10.1.3.39.84" />
<Attr Name="_codeGenFlag2" Value="Access|Coll|VarAccess" />
</DesignTime>
<ViewAttribute
Name="EmployeeId"
IsUpdateable="false"
IsPersistent="false"
IsNotNull="true"
Precision="6"
Scale="0"
Type="oracle.jbo.domain.Number"
ColumnType="NUMBER"
AliasName="EMPLOYEE_ID"
Expression="EMPLOYEE_ID"
SQLType="NUMERIC" >
<DesignTime>
<Attr Name="_DisplaySize" Value="22" />
</DesignTime>
</ViewAttribute>
<ViewAttribute
Name="FirstName"
IsUpdateable="false"
IsPersistent="false"
Precision="20"
Type="java.lang.String"
ColumnType="VARCHAR2"
AliasName="FIRST_NAME"
Expression="FIRST_NAME"
SQLType="VARCHAR" >
<DesignTime>
<Attr Name="_DisplaySize" Value="20" />
</DesignTime>
</ViewAttribute>
</ViewObject>appModule.xml:
<?xml version='1.0' encoding='windows-1252' ?>
<!DOCTYPE AppModule SYSTEM "jbo_03_01.dtd">
<AppModule
Name="AppModule"
ComponentClass="model.AppModuleImpl" >
<DesignTime>
<Attr Name="_isCodegen" Value="true" />
<Attr Name="_version" Value="10.1.3.39.84" />
<Attr Name="_deployType" Value="0" />
</DesignTime>
<ViewUsage
Name="emp1"
ViewObjectName="model.emp" >
</ViewUsage>
</AppModule>bc4j.xcfg:
<?xml version = '1.0' encoding = 'UTF-8'?>
<BC4JConfig>
<AppModuleConfigBag>
<AppModuleConfig name="AppModuleLocal">
<DeployPlatform>LOCAL</DeployPlatform>
<JDBCName>local_hr</JDBCName>
<jbo.ampool.doampooling>false</jbo.ampool.doampooling>
<jbo.project>Model</jbo.project>
<jbo.ampool.dynamicjdbccredentials>false</jbo.ampool.dynamicjdbccredentials>
<AppModuleJndiName>model.AppModule</AppModuleJndiName>
<ApplicationName>model.AppModule</ApplicationName>
</AppModuleConfig>
</AppModuleConfigBag>
<ConnectionDefinition name="local_hr">
<ENTRY name="JDBC_PORT" value="1521"/>
<ENTRY name="ConnectionType" value="JDBC"/>
<ENTRY name="HOSTNAME" value="localhost"/>
<ENTRY name="DeployPassword" value="true"/>
<ENTRY name="user" value="hr"/>
<ENTRY name="ConnectionName" value="local_hr"/>
<ENTRY name="SID" value="STGY"/>
<ENTRY name="password">
<![CDATA[{904}05DB46A9C39F51D1A4814423FFD9297C71]]>
</ENTRY>
<ENTRY name="JdbcDriver" value="oracle.jdbc.OracleDriver"/>
<ENTRY name="ORACLE_JDBC_TYPE" value="thin"/>
<ENTRY name="DeployPassword" value="true"/>
</ConnectionDefinition>
</BC4JConfig>Hi,
reproduces for me. It appears that the parameter is not applied properly when executing the query.
Frank -
Syndicator : Root identification for XSD (schema) file
Dear MDM Pals,
Scenario :XSD file (DEBMDM06) customization and Syndication set up in MDM Syndicator.
Details: There is a need to customise xsd file at one segment level. Only the names of elements in a segment are changed - XSD structure is untouched.When this is done , and used in syndicator , the root of xsd schema file is not getting recognized.As a result, not able to proceed with Syndication set up process.
Please advise -
a) What needs to be taken care in XSD schema file modification ?
b) MDM syndicator set up (if any) to handle custom XSDs.
Awaiting quick help on this please.
Regards,
Vinay M.SHi Vinay,
Make sure that the root element name as in the XSD exactly matches with the Repository Schema main table name.
This name should be exactly same in all respects.
Also make sure you save and upload this newly customized schema in your MDM console correctly with a new name,and then try using this schema in your MDM syndicator.
Hope It Helped
Thanks & Regards
Simona Pinto
Maybe you are looking for
-
OBIEE 11g 11.1.1.6.0 configuration creating domain failed
Hi I am trying to install OBIEE 11.1.1.6.0. My installation failed during configuration stage of " Creating Domain". When i check the log file i see the following error . can you please help me? C:\OBIEE\Oracle_BI1\OPatch\opatch apply C:\OBIEE\Oracle
-
How do I create a user, in my context in OID using the Java API
How do I create a user, with subschema, in my context in OID using the JAVA API I need to be able to create new users in my OID, I was doing it in our old iPlant Directory, but I don't seem to see the same methods in the Oracle LDAP API. I figured ou
-
MOPZ has issues calculating stack XML file in SOLUTION MANAGER
Hello, We have a SOLUTION MANAGER system on NW 7.0 EHP1 SP stack level at initial support stack (ISS). Recently we upgraded all our R/3 systems to ECC6.0 EHP4 SPS04 and now we are trying to upgrade the stack level to EHP4 SPS07. So we are trying to g
-
I actually can't believe this is happening to me, because before I got my Macbook Pro, when I had an eMac, I went through an experience just like this, where everything was fine for a while, when all of a sudden my drive wouldn't read anything, and i
-
Seamless Install/Badge.swf problem
Hello, I'm trying to use the badge.swf file to perform a seamless install via a web page. I've used the supplied files (default_badge.html and badge.fla) to modify the configuration to meet our needs, and I've reviewed the example article at http://