SmartView Error XML top level element
Hi Guys,
hopefully someone of you can help me with this issue. On some PCs(not all, but same OS and configuration) we get this error message when we are trying to connect to essbase with Smart View 9.1.3.5.
The funny thing is we tried to document the https traffic with the fiddler tool, this tool asked us to install its own untrusted certificate. After this installation, the connection works, even if we deinstall the certificates and fiddler.
Can anyone imagine what happend?
Is there a "normal" way to do the same, without installing a hacker tool?
Best Regards,
Carsten
No idea? I know that this issue was reported already within this forum. But no one wrote his solution.
Similar Messages
-
XML document must have a top level element. Error processing resource
Hi,
I am trying to send a XML file to a web browser from a servlet. I read the contents of the XML file into a string and I am sending it to the brower. Before I do this I set the 'Content-type' header of the httpResponse to "application/xml" . Embedded in the XML file is an xml-stylesheet elemetn indicating which *.xsl stylesheet to use to parse the XML content.
I get the following error:
The XML page cannot be displayed
Cannot view XML input using XSL style sheet. Please correct the error and then click the Refresh button, or try again later.
XML document must have a top level element. Error processing resource 'http://127.0.0.1:8080/testReplyingXML/xml-to-html.xs...
Now, if I take the stylesheet element out of the XML string I sent, then the browser stores the content into and *.xml file. I manually run the "xml-to-xsl " stylesheet mentioned in the error output above, and there is no problem, the xml content gets successfully transformed in a viewable HTML .
It is only when I embed the "stylesheet" element into the XML content that I get this error.
So the browser is receiveing valid XML.
I am not sure if the above error is complaining about the XML content I send or the stylesshet .
Does anyone have an idea of what am I doing wrong?
For your information here are my servlet code and the XML file:
servlet:-
package webapps.testReplyingXML;
import java.io.BufferedReader;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.FileReader;
import java.util.Enumeration;
import java.util.StringTokenizer;
import java.io.PrintWriter;
public class ReplyXML extends HttpServlet {
static int transactionCount = 0;
public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException ,IOException {
String Q_PARAM = "query";
String requestString = req.getQueryString();
for ( Enumeration en = req.getParameterNames() ; en.hasMoreElements() ; )
String k = (String)en.nextElement() ;
String[] x = req.getParameterValues(k) ;
String s = null;
String DATA_PARAM= "";
for(int i = 0 ; i < x.length ; i++ )
s = x[i] ;
//System.out.println("s = " + s);
if (k.equals("query")){
try {
//res.setHeader("Content-Type", "application/xml");
//res.setHeader("Transfer-Encoding", "chunked");
//res.setHeader("Cache-Control", "no-cache");
//res.setHeader("Server", "Jetty/5.1.10");
//res.setHeader("Pragma", "no-cache");
//res.setHeader("X-Joseki-Server", "Joseki-3.0-dev");
res.setStatus(res.SC_OK);
StringBuffer fileData = new StringBuffer(1000);
BufferedReader reader = new BufferedReader(new FileReader("sparql_results.xml"));
char[] buf = new char[1024];
int numRead=0;
while((numRead=reader.read(buf)) != -1){
String readData = String.valueOf(buf, 0, numRead);
fileData.append(readData);
buf = new char[1024];
reader.close();
String xmlMsg= fileData.toString();
System.out.println("XMLMSG= " + xmlMsg);
PrintWriter outresp = res.getWriter();
outresp.println(xmlMsg);
outresp.close();
}catch (Exception e) {
e.printStackTrace();
public void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
doGet(req, res);
XML FILE:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="xml-to-html.xsl"?>
<sparql
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:xs="http://www.w3.org/2001/XMLSchema#"
xmlns="http://www.w3.org/2005/sparql-results#" >
<head>
<variable name="book"/>
<variable name="title"/>
</head>
<results ordered="false" distinct="false">
<result>
<binding name="book">
<uri>http://example.org/book/book6</uri>
</binding>
<binding name="title">
<literal>Harry Potter and the Half-Blood Prince</literal>
</binding>
</result>
<result>
<binding name="book">
<uri>http://example.org/book/book5</uri>
</binding>
<binding name="title">
<literal>Harry Potter and the Order of the Phoenix</literal>
</binding>
</result>
<result>
<binding name="book">
<uri>http://example.org/book/book4</uri>
</binding>
<binding name="title">
<literal>Harry Potter and the Goblet of Fire</literal>
</binding>
</result>
<result>
<binding name="book">
<uri>http://example.org/book/book3</uri>
</binding>
<binding name="title">
<literal>Harry Potter and the Prisoner Of Azkaban</literal>
</binding>
</result>
<result>
<binding name="book">
<uri>http://example.org/book/book2</uri>
</binding>
<binding name="title">
<literal>Harry Potter and the Chamber of Secrets</literal>
</binding>
</result>
<result>
<binding name="book">
<uri>http://example.org/book/book1</uri>
</binding>
<binding name="title">
<literal>Harry Potter and the Philosopher's Stone</literal>
</binding>
</result>
</results>
</sparql>Error processing resource http://127.0.0.1:8080/testReplyingXML/xml-to-html.xs...
Well, if one more character had been deleted from that message then you would have a problem. But as it is, the error message says there's an error processing a resouce whose name ends with "xml-to-html.xs" followed by something. That would be the stylesheet if I'm not mistaken. Most likely the browser can't find it at the URL mentioned in the error message. -
Error using SOAPRunner: XML document must have top level element
Hi all,...................xMII 11.5.3 b66
I am attempting to consume a BLS transaction as a web service from a J2EE app.
When I test it with http://naholldo31020/Lighthammer/SOAPRunner/Amy/GetListOfPlants I am getting an error message from the browser. The BLS transaction works fine when called from a Query template. What am I missing?
The XML page cannot be displayed
Cannot view XML input using style sheet.
Please correct the error and then click the Refresh button, or try again later.
XML document must have a top level element. Error processing
resource 'http://naholldo31020/Lighthammer/SOAPRunner/Amy/GetL...
WSDL from WSDLGen...
<?xml version="1.0" encoding="UTF-8" ?>
- <definitions xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
xmlns:s="http://www.w3.org/2001/XMLSchema"
xmlns:s0="http://www.sap.com/xMII"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="http://www.sap.com/xMII">
- <!-- Types
-->
- <types>
- <s:schema elementFormDefault="qualified" targetNamespace="http://www.sap.com/xMII">
- <s:complexType name="InputParams">
- <s:sequence id="InputSequence">
<s:element maxOccurs="1" minOccurs="0" name="RequestXML" type="s:Xml" />
<s:element maxOccurs="1" minOccurs="0" name="RowCount" type="s:long" />
<s:element maxOccurs="1" minOccurs="0" name="RowSkips" type="s:long" />
<s:element maxOccurs="1" minOccurs="0" name="Table" type="s:string" />
</s:sequence>
</s:complexType>
- <s:element name="XacuteRequest">
- <s:complexType>
- <s:sequence>
<s:element maxOccurs="1" minOccurs="0" name="LoginName" type="s:string" />
<s:element maxOccurs="1" minOccurs="0" name="LoginPassword" type="s:string" />
<s:element maxOccurs="1" minOccurs="0" name="InputParams" type="s0:InputParams" />
</s:sequence>
</s:complexType>
</s:element>
- <s:complexType name="Rowset">
- <s:sequence>
<s:element maxOccurs="unbounded" minOccurs="0" name="Row" type="s0:Row" />
</s:sequence>
<s:attribute name="Message" type="s:string" />
</s:complexType>
- <s:complexType name="Row">
- <s:sequence id="RowSequence">
<s:element maxOccurs="1" minOccurs="1" name="ErrorMessage" type="s:string" />
<s:element maxOccurs="1" minOccurs="1" name="OutputXML" type="s:string" />
</s:sequence>
</s:complexType>
- <s:element name="XacuteResponse">
- <s:complexType>
- <s:sequence>
<s:element maxOccurs="1" minOccurs="0" name="Rowset" type="s0:Rowset" />
</s:sequence>
</s:complexType>
</s:element>
</s:schema>
</types>
- <!-- Messages
-->
- <message name="XacuteSoapIn">
<part element="s0:XacuteRequest" name="parameters" />
</message>
- <message name="XacuteSoapOut">
<part element="s0:XacuteResponse" name="parameters" />
</message>
- <!-- Ports
-->
- <portType name="XacuteWSSoap">
- <operation name="Xacute">
<input message="s0:XacuteSoapIn" />
<output message="s0:XacuteSoapOut" />
</operation>
</portType>
- <!-- Bindings
-->
- <binding name="XacuteWSSoap" type="s0:XacuteWSSoap">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
- <operation name="Xacute">
<soap:operation soapAction="http://www.sap.com/xMII" style="document" />
- <input>
<soap:body use="literal" />
</input>
- <output>
<soap:body use="literal" />
</output>
</operation>
</binding>
- <!-- Service mapping
-->
- <service name="XacuteWS">
- <port binding="s0:XacuteWSSoap" name="XacuteWSSoap">
<soap:address location="http://naholldo31020/Lighthammer/SOAPRunner/Amy/GetListOfPlants" />
</port>
</service>
</definitions>Hi Amy,
here is an example how you can call a WS via http GET:
http://<server>/Lighthammer/Runner?Transaction=<path_to_your_TRX>&XacuteLoginName=YourAccount&XacuteLoginPassword=yoursecret&outputparameter=*
Please note you do not need to use credentials in case you calling localhost.
I think in your case this should be the right url:
http://naholldo31020/Lighthammer/Runner?Transaction=Amy/GetListOfPlants&XacuteLoginName=YourAccount&XacuteLoginPassword=yoursecret&outputparameter=*
Please change parameters for
- XacuteLoginName
- XacuteLoginPassword
- outputparameter (you can specify * or one of your transaction output parameter) -
XML document must have a top level element. Error
Hi, I am trying to generate an XML. Below is a sample code from my function. The function generates a 0 byte file which when I try to open gives me 'xml document must have a top level element' error. Any ideas?
FUNCTION generateXml( p_1 VARCHAR2,
p_2 VARCHAR2,
p_3 VARCHAR2
) RETURN CLOB
IS
ctx dbms_xmlgen.ctxHandle;
xml CLOB;
v_sql varchar2(2000);
BEGIN
lv_sql:=' select * from v_dc where rownum =1';
ctx := dbms_xmlgen.newContext(v_sql);
dbms_xmlgen.setRowSetTag(ctx, 'CONTENT');
xml := dbms_xmlgen.getXML(ctx);
return xml;
END;
END generateXml;I just need to understand if we can generate XML from a sql that has sub-queries in it.Should be no problem:
SQL> create or replace function generatexml (p_1 varchar2, p_2 varchar2, p_3 varchar2)
return clob
is
ctx dbms_xmlgen.ctxhandle;
xml clob;
v_sql varchar2 (2000);
begin
v_sql := ' select * from dept left outer join (select * from emp) emp on (emp.deptno = dept.deptno) where rownum = 1';
ctx := dbms_xmlgen.newcontext (v_sql);
dbms_xmlgen.setrowsettag (ctx, 'CONTENT');
xml := dbms_xmlgen.getxml (ctx);
dbms_xmlgen.closecontext (ctx);
return xml;
end generatexml;
Function created.
SQL> select generatexml (null, null, null) xml from dual
XML
<?xml version="1.0"?>
<CONTENT>
<ROW>
<DEPTNO>10</DEPTNO>
<DNAME>ACCOUNTING</DNAME>
<LOC>NEW YORK</LOC>
<EMPNO>7782</EMPNO>
<ENAME>CLARK</ENAME>
<JOB>MANAGER</JOB>
<MGR>7839</MGR>
<HIREDATE>09.06.81</HIREDATE>
<SAL>2450</SAL>
<DEPTNO>10</DEPTNO>
</ROW>
</CONTENT>
1 row selected.Maybe your query simply doesn't return any rows? -
Only one top level element is allowed in an XML document. Line 2, Position 2
I get this error when I try to run an xsql query with a where clause:
Only one top level element is allowed in an XML document. Line 2, Position 2
<font size='-1' face='monospace'>XSQL-005: XSQL page is not well-formed.</font><BR>
-^
Here is the xsql query I tried to use.
<?xml version="1.0"?>
<xsql:query connection="xmlbook" xmlns:xsql="urn:oracle-xsql">
select * from companytable where companynumber < 1000;
</xsql:query>
nullYou need to escape certain characters in order to make XML documents well formed. The problem in this case is the less than sign between companynumber and 1000. You should replace it with <
I recommend reading a good XML book - "Building Oracle XML Applications" by Steve Muench, for instance.
Brian -
XML document must have a top level element
Hi all,
I have deployed my web services in 904. When I try to see the generated wsdl, I am seeing:
XML document must have a top level element.
in IE. Does anyone know why?
Thanks.If you take a look under the location where the application was deployed, you should find a file with the name of your interface (or class) and the extension .wsdl.
If there is already a file of that name, we do not try to re-generate it. If this file is not a valid XML file, then it will explain the error message you are seing.
Another reason for this error is when the code generation fail silently. It can occurs in some rare case, when you have started oc4j using a JRE instead of JDK (without javac).
Hope this helps,
Eric -
I am trying to create an executable vi that will call out another vi and show its front panel in the executable. When I try this I recieve this error message "top level vi (my main vi) was stopped at unknown on the block diagram of (my sub vi)
Well the most common way is to enclude the vi's in the build spec either directly in the dependancies that the App builder automatically generates OR by declaring them in the build spec as "additional enclusions" (like you must do for dynamic vi calls in your app.
I have heard rummors about My.app Stuff.vi in a nugget Intaris posted- and I've wanted to dig deaper into Intaris' claims- but have not tried it myself.
If you go down the stuff.vi route Keep us curious guys posted
Jeff -
Only one top level element is allowed in an XML document. Error message
Hi all, Am receiving above message when trying to view XML data generation. Have found little to no documentation on this particular message and thus far unable to research/guess my way to resolition. Any and all help will greatly appreciated. Thanks in advance for the help, harold
I had been using MC Internet Explorer until this . Have compared this one to functioning XML viewable with MS Internet explorer. Below is code I am using trying to resolve this problem.
<?xml version="1.0"?>
<?sap.transform simple?>
<tt:transform xmlns:tt="http://www.sap.com/transformation-templates">
<tt:root name="ecrtas"/>
<tt:template>
<tt:loop ref="ecrtas">
<ImportInstructions>
<ProjectSponsorInstruction>
<Instruction mode="Add">
<SponsorName tt:value-ref="SPONME"/>
<SponsorNumber>
<IdValue name="Sponsor Number"><tt:value ref="SPONSOR"/></IdValue>
</SponsorNumber>
<SponsorType tt:value-ref="SPONTYP"/>
</Instruction>
</ProjectSponsorInstruction>
</ImportInstructions>
</tt:loop>
</tt:template>
</tt:transform>
Thank you again -
I have to print two labels using single XML file.Error:Only one top level e
Hi,
I have to print two labels using single XML file. But its giving error:
[Error] Error -1072896683 - Line: 38 Pos: 2 Error: Only one top level element is allowed in an XML document.
Below is my XMl file:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE labels SYSTEM "label.dtd">
<labels FORMAT="lib://FRD/PurchasedDoor.btw" PRINTERNAME="IBM 6700-R80 (300 dpi)" _QUANTITY="1">
<label>
<variable name= "Color">AUTUMN</variable>
<variable name= "Special_Message_Attribute">MSG*</variable>
<variable name= "Special_Message">This is special Message Label</variable>
<variable name= "Model"></variable>
<variable name= "Build_Date">09-APR-12</variable>
<variable name= "Assy_Cart"></variable>
<variable name= "Assy_Slot"></variable>
<variable name= "Finish_Cart"></variable>
<variable name= "Finish_Slot"></variable>
<variable name= "Serial_Number">1945.1.1.2-1</variable>
<variable name= "Serial_Number_Barcode">1945.1.1.2-1</variable>
<variable name= "Specie">BIRCH</variable>
<variable name= "Truck_Group"></variable>
<variable name= "Label_Sequence_No">1</variable>
<variable name= "WIP_Cart"></variable>
<variable name= "WIP_Slot"></variable>
<variable name= "Cabinet_Sequence_No">110</variable>
<variable name= "JC"></variable>
<variable name= "Thickness"> </variable>
<variable name= "Width"> </variable>
<variable name= "Length"> </variable>
<variable name= "Overlay"></variable>
<variable name= "Options">B30</variable>
<variable name= "Profile_No"></variable>
<variable name= "Door_Style">NEWBERRY</variable>
<variable name= "Glaze"></variable>
<variable name= "Shape"></variable>
<variable name= "Glass"></variable>
<variable name= "Hinge_Side"></variable>
<variable name= "Hinge_Type"></variable>
<variable name= "EGE"></variable>
</label>
<labels FORMAT="lib://FRD/SpecialMessage.btw" PRINTERNAME="IBM 6700-R80 (300 dpi)" _QUANTITY="1">
<label>
<variable name= "Serial_Number">1945.1.1.2-1</variable>
<variable name= "Special_Message">This is special Message Label</variable>
<variable name= "Cabinet_Sequence_No">110</variable>
</label>
</labels>
Please suggest.>
XML can only have one root element per file.
>
from XML Document: The Root Element -
Xmlns attribute appearing in top level node
I have an xml message that is parsed and its DOM tree built. Then a portion of the message, identified by an xpath, is extracted which is stored as XMLNode, which is later printed to a stream.
Using the latest Oracle XML library ( comes with Oracle 10 ), the top level element in the node is always appended with extra 'xmlns' attribute.
This is an example. The original message does not have
this extra xmlns attribute.
<RESPONSE xmlns="http://www.nlis-hub.co.uk/NS/2001-01-10">
<PROPERTY_1>description 1</PROPERTY_1>
<PROPERTY_2>description 2</PROPERTY_2>
<PROPERTY_3>description 3</PROPERTY_3>
</RESPONSE>
How can we turn this behaviour off ?
Thanks,
DwiTHanks for replying.
Yes, the XML document has the namespace specified:
<ROOT_MESSAGE xmlns="http://www.nlis-hub.co.uk/NS/2001-01-10" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.nlis-hub.co.uk/NS/2001-01-10 Schema.xsd">
<RESPONSE>
<PROPERTY_1>description 1</PROPERTY_1>
<PROPERTY_2>description 2</PROPERTY_2>
<PROPERTY_3>description 3</PROPERTY_3>
</RESPONSE>
</ROOT_MESSAGE>
In our application, we are storing the <RESPONSE>
block to db as CLOB. We have a requirement to store it
exactly as it was received. However, the XML parser (or something) is including the xmlns attribute in the top level node of that portion
<RESPONSE xmlns="http://www.nlis-hub.co.uk/NS/2001-01-10">
</RESPONSE>
This is what is done to obtain the node:
(xpathStr is the xpath to the RESPONSE node )
NodeList nodeList = xmlDocument_.selectNodes( xpathStr, this );
int nodeLength = nodeList.getLength();
StringWriter xmlStringWriter = new StringWriter();
PrintWriter xmlPrintWriter = new PrintWriter( xmlStringWriter );
for( int nodeIndex = 0; nodeIndex < nodeLength; ++nodeIndex )
XMLNode node = (XMLNode)nodeList.item( nodeIndex );
node.print( xmlPrintWriter );
StringBuffer xmlStringBuffer = xmlStringWriter.getBuffer();
By the time it gets to the output stream, it already has the xmlns attribute appended to the top level node.
How can we prevent this ?
Thanks,
Dwi -
XML: Deep/Array Elements
There have been several questions posted about how to create iFS type Definitions for XML files which contain compound elements or arrays of compound elements. The solution to this problem has already been posted elsewhere but here is a summary
of how to make this work.
Here is an example XML file which contains an array of compound elements. The file represents a Purchase Order. Note how the <LINEITEMS> element consits of an array of <LINEITEM> elements. Note how each instance of the <LineItem> elements consists of
<ITEMNUMBER>,<ITEMDESCRIPTION>,<QUANTITY> & <UNITPRICE> elements.
<?xml version = '1.0' standalone = 'yes'?>
<PURCHASEORDER>
<REQUESTER>Angela B. Miller</REQUESTER>
<USERID>amiller</USERID>
<COSTCENTER>A10</COSTCENTER>
<REFERENCE>AMILLER:20000419-070435930</REFERENCE>
<ACTIONS>
<ACTION>
<ACTIONEDBY>eclark</ACTIONEDBY>
<DATEACTIONED></DATEACTIONED>
</ACTION>
</ACTIONS>
<SHIPPINGINSTRUCTIONS>
<SHIPTONAME>Mark D. Drake</SHIPTONAME>
<ADDRESS>
500 Oracle Parkway MS 5op-4
Redwood Shores,
CA 94065
</ADDRESS>
<PHONE>650 506 7000</PHONE>
</SHIPPINGINSTRUCTIONS>
<SPECIALINSTRUCTIONS>
Please Expidite Delivery. Partial Delivery
will be accepted
</SPECIALINSTRUCTIONS>
<LINEITEMS>
<LINEITEM>
<ITEMNUMBER>1</ITEMNUMBER>
<ITEMDESCRIPTION>Video Cabinet</ITEMDESCRIPTION>
<QUANTITY>1</QUANTITY>
<UNITPRICE>1800.0</UNITPRICE>
</LINEITEM>
<LINEITEM>
<ITEMNUMBER>2</ITEMNUMBER>
<ITEMDESCRIPTION>Left Hand Audio Cabinet</ITEMDESCRIPTION>
<QUANTITY>1</QUANTITY>
<UNITPRICE>1200.0</UNITPRICE>
</LINEITEM>
<LINEITEM>
<ITEMNUMBER>3</ITEMNUMBER>
<ITEMDESCRIPTION>Right Hand Audio Cabinet</ITEMDESCRIPTION>
<QUANTITY>1</QUANTITY>
<UNITPRICE>1200.0</UNITPRICE>
</LINEITEM>
<LINEITEM>
<ITEMNUMBER>4</ITEMNUMBER>
<ITEMDESCRIPTION>Center Speaker Cabinet</ITEMDESCRIPTION>
<QUANTITY>1</QUANTITY>
<UNITPRICE>800.0</UNITPRICE>
</LINEITEM>
<LINEITEM>
<ITEMNUMBER>5</ITEMNUMBER>
<ITEMDESCRIPTION>Audio Speaker Cabinet</ITEMDESCRIPTION>
<QUANTITY>2</QUANTITY>
<UNITPRICE>500.0</UNITPRICE>
</LINEITEM>
<LINEITEM>
<ITEMNUMBER>6</ITEMNUMBER>
<ITEMDESCRIPTION>Center Speaker Panel</ITEMDESCRIPTION>
<QUANTITY>1</QUANTITY>
<UNITPRICE>120.0</UNITPRICE>
</LINEITEM>
<LINEITEM>
<ITEMNUMBER>7</ITEMNUMBER>
<ITEMDESCRIPTION>Audio Speaker Panel</ITEMDESCRIPTION>
<QUANTITY>2</QUANTITY>
<UNITPRICE>55.0</UNITPRICE>
</LINEITEM>
<LINEITEM>
<ITEMNUMBER>8</ITEMNUMBER>
<ITEMDESCRIPTION>Cabinet</ITEMDESCRIPTION>
<QUANTITY>1</QUANTITY>
<UNITPRICE>695.0</UNITPRICE>
</LINEITEM>
</LINEITEMS>
</PURCHASEORDER>
If an XML document contains compound elements similar to the LINEITEMS element in the above example, if stores each instance of the compound element as a seperate repository object. This means that in order to store a document similar to the Purchase Order it is necessary to create several different classobjects.
First a Type Definition for the purchase order is required. This will create the classobject that defines the repository object used to store each instance of the PurchaseOrder. It defines the attributes of each of the top level elements of the purchaseorder object, including their datatype.
<?xml version="1.0" standalone="yes"?>
<CLASSOBJECT>
<NAME>PurchaseOrder</NAME>
<SUPERCLASS REFTYPE="name">Document</SUPERCLASS>
<DESCRIPTION>Internet Purchase Order</DESCRIPTION>
<BEANCLASSPATH>ifs.demo.purchaseOrder.type.PurchaseOrder</BEANCLASSPATH>
<ATTRIBUTES>
<ATTRIBUTE>
<NAME>Reference</NAME>
<DATATYPE>String</DATATYPE>
<DATALENGTH>64</DATALENGTH>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>Requester</NAME>
<DATATYPE>String</DATATYPE>
<DATALENGTH>48</DATALENGTH>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>UserID</NAME>
<DATATYPE>String</DATATYPE>
<DATALENGTH>32</DATALENGTH>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>CostCenter</NAME>
<DATATYPE>String</DATATYPE>
<DATALENGTH>3</DATALENGTH>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>Vendor</NAME>
<DATATYPE>String</DATATYPE>
<DATALENGTH>32</DATALENGTH>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>PONumber</NAME>
<DATATYPE>Integer</DATATYPE>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>ShippingInstructions</NAME>
<DATATYPE>Integer</DATATYPE>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>ShippingInstructions</NAME>
<DATATYPE>PublicObject</DATATYPE>
<CLASSDOMAIN REFTYPE="name">
PurchaseOrderShippingInstructionsDomain
</CLASSDOMAIN>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>Rejection</NAME>
<DATATYPE>PublicObject</DATATYPE>
<CLASSDOMAIN REFTYPE="name">
PurchaseOrderRejectionDomain
</CLASSDOMAIN>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>Actions</NAME>
<DATATYPE>PublicObject_Array</DATATYPE>
<CLASSDOMAIN REFTYPE="name">
PurchaseOrderActionDomain
</CLASSDOMAIN>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>SpecialInstructions</NAME>
<DATATYPE>String</DATATYPE>
<DATALENGTH>2048</DATALENGTH>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>LineItems</NAME>
<DATATYPE>PublicObject_Array</DATATYPE>
<CLASSDOMAIN REFTYPE="name">
PurchaseOrderLineItemDomain
</CLASSDOMAIN>
</ATTRIBUTE>
</ATTRIBUTES>
</CLASSOBJECT>
Note that the LINEITEMS element is defined with a data type of PUBLICOBJECT_ARRAY. This means that the LINEITEMS attribute in the repository object will consist of a set of references to other objects in the repository. In order to store the data values from each of the child elements associated with instance of the LINEITEMS array a seperate repostitory object is required. Here is the Type Definition for the repository object used to store this data.
<?xml version="1.0" standalone="yes"?>
<CLASSOBJECT>
<NAME>PurchaseOrderLineItem</NAME>
<SUPERCLASS REFTYPE="name">ApplicationObject</SUPERCLASS>
<DESCRIPTION>Internet Purchase Order</DESCRIPTION>
<BEANCLASSPATH>ifs.demo.purchaseOrder.type.PurchaseOrderLineItem</BEANCLASSPATH>
<DATABASEOBJECTNAME>POLineItem</DATABASEOBJETNAME>
<ATTRIBUTES>
<ATTRIBUTE>
<NAME>ItemNumber</NAME>
<DATATYPE>integer</DATATYPE>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>ItemDescription</NAME>
<DATATYPE>string</DATATYPE>
<DATALENGTH>128</DATALENGTH>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>Quantity</NAME>
<DATATYPE>integer</DATATYPE>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>UnitPrice</NAME>
<DATATYPE>double</DATATYPE>
</ATTRIBUTE>
</ATTRIBUTES>
</CLASSOBJECT>
If you refer back to the LineItems attribute definition in the PurchaseOrder object you will see that a ClassDomain is used to restrict what kind of objects can be referenced by an element in the LineItems array. In this case the ClassDom ain used is the PurchaseOrderLineItemDomain. The classdomain is used to restrict what type of objects can be referenced by an element in the LineItems Array. In this case it ensures that a LineItems elements can only contain references to an object of type PurchaseOrderLineItem.
Here is the definition of the PurchaseOrderLineItemDomain
<?xml version="1.0" standalone="yes"?>
<CLASSDOMAIN>
<NAME>PurchaseOrderLineItemDomain</NAME>
<DOMAINTYPE>1</DOMAINTYPE>
<CLASSES>
<CLASS REFTYPE="name">PurchaseOrderLineItem</CLASS>
</CLASSES>
</CLASSDOMAIN>
Note that there are no limitiations on the level of nesting that these techniques support. Hopefully this gives you all of the information required to define the repository objects required to handle any kind of XML files with iFS.
nullHi Nicole,
unfortunately we cannot add in xmlforms at runtime more fields today (with an add button for instance).
I'm sorry
Ralf -
XML Error: Only segments are allowed on top level,found non-segment E1EDK03
Hi,
I have a problem in my senario of receiving XML files with a Business Connector (4.7), adding some data to certain segments and elements, do some mapping steps and then convert the XML file to SAP IDoc. Then the IDoc should be send to R/3 system via ALE.
The senario works so far, if I test it with the "Send XML file.." option in the menu "Test" of the Business Connectior itself.
If I try to send the XML data as string in my browser the following error always occurs:
$localizedError:
com.wm.lang.xml.WMDocumentException: Invalid IDocXML document: Only segments are allowed on top level, found non-segment E1EDK03
$errorType:
com.wm.util.coder.InvalidDatatypeException
If I send send a string containing the XML data incl. the data I actually wanted to add in a flow step, it works.
Can anybody help me?
Thanks,
Kai
Message was edited by: Kai Lerch-BaierI had been using MC Internet Explorer until this . Have compared this one to functioning XML viewable with MS Internet explorer. Below is code I am using trying to resolve this problem.
<?xml version="1.0"?>
<?sap.transform simple?>
<tt:transform xmlns:tt="http://www.sap.com/transformation-templates">
<tt:root name="ecrtas"/>
<tt:template>
<tt:loop ref="ecrtas">
<ImportInstructions>
<ProjectSponsorInstruction>
<Instruction mode="Add">
<SponsorName tt:value-ref="SPONME"/>
<SponsorNumber>
<IdValue name="Sponsor Number"><tt:value ref="SPONSOR"/></IdValue>
</SponsorNumber>
<SponsorType tt:value-ref="SPONTYP"/>
</Instruction>
</ProjectSponsorInstruction>
</ImportInstructions>
</tt:loop>
</tt:template>
</tt:transform>
Thank you again -
E-mail XML attachment has error. Invalid at the top level of top
Hi All,
Error :
Invalid at the top level of the document. Error processing resource 'file:///C:/Documents and Settings
<?xml version="1.0";?>
Report program generates a XML file (l_xml_table ) using cl_ixml .
class cl_ixml definition load.
l_ixml = cl_ixml=>create( ).
l_document = l_ixml->create_document( ).
l_element_csi = l_document->create_simple_element(
name = 'csi'
parent = l_document ).
l_streamfactory = l_ixml->create_stream_factory( ).
l_ostream = l_streamfactory->create_ostream_itable( table =
l_xml_table ).
l_renderer = l_ixml->create_renderer( ostream = l_ostream
document = l_document ).
l_rc = l_renderer->render( ).
l_xml_size = l_ostream->get_num_written_raw( ).
Report has 2 options
1. download
2. send e-mail
Download functionality is working fine, but when i send email using FM SO_DOCUMENT_SEND_API1
e-mail attachment has error.
loop at l_xml_table into wa_xml.
move wa_xml to wa_objbin.
append wa_objbin to it_objbin.
clear wa_objbin.
endloop.
wa_objpack-transf_bin = 'X'.
wa_objpack-head_start = 1.
wa_objpack-head_num = 0.
wa_objpack-body_start = 1.
wa_objpack-body_num = v_table_lines .
wa_objpack-doc_type = 'XML'.
wa_objpack-doc_size = v_table_lines * 255.
please advice to solve the issue.
thanks in advance.
PrasadHi guys,
Could any one help me in this?
Regards,
Navaneeth -
Using Installation wizard to deploy SSIS packages from DEV server to QA server package store cause this error;
Failed to load XML from the package file "" due to error 0xC00CE556 "Invalid at the top level of the document. Line 773, Column 93". This happens when loading a package and the file cannot be opened or loaded correctly into XML document. This can be the
result of either providing an incorrect file name to the LoadPackage method or the XML file specified having an incorrect format. Please who have the idea of how this issue can be resolved?BI DeveloperHi ,
for this Error one and only one solution
go to view Code, line number and Column number shown in error message,
and Remove code from there till last and save it, it happens when we are moving Package from one server to another server. and VS adds some lines of code at the bottom of package
something like this
andles="1" allownudging="1" isannotation="0" dontautolayout="0" groupcollapsed="0" tabstop="1" visible="1" snaptogrid="0">
<control>
<ddsxmlobjectstreaminitwrapper binary="00080000921400008c040000" />
</control>
<layoutobject>
<ddsxmlobj>
<property name="LogicalObject" value="{BBFB0E
Remove this code and save package it will work.
hope this will help to Developers who are searching for same ......... :) -
Encountering XML-20108: (Fatal Error) Start of root element expected
Hi,
We are trying to invoke a XML Publisher report from a custom OAF page using API's. However, it is erroring out with the following error message (in xdo.log)
[021710_121811671][oracle.apps.xdo.common.xml.XSLTWrapper][EXCEPTION] XSL error:
<Line 1, Column 1>: XML-20108: (Fatal Error) Start of root element expected.
[021710_121811672][oracle.apps.xdo.template.FOProcessor][STATEMENT] clearInputs(Object) is called.
[021710_121811672][oracle.apps.xdo.template.FOProcessor][STATEMENT] clearInputs(Object) done. All inputs are cleared.
[021710_121811673][][EXCEPTION] java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at oracle.apps.xdo.common.xml.XSLT10gR1.invokeParse(XSLT10gR1.java:517)
at oracle.apps.xdo.common.xml.XSLT10gR1.transform(XSLT10gR1.java:224)
at oracle.apps.xdo.common.xml.XSLTWrapper.transform(XSLTWrapper.java:177)
at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(FOUtility.java:1044)
at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(FOUtility.java:997)
at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(FOUtility.java:212)
at oracle.apps.xdo.template.FOProcessor.createFO(FOProcessor.java:1665)
at oracle.apps.xdo.template.FOProcessor.generate(FOProcessor.java:975)
at oracle.apps.xdo.oa.schema.server.TemplateHelper.runProcessTemplate(TemplateHelper.java:5936)
at oracle.apps.xdo.oa.schema.server.TemplateHelper.processTemplate(TemplateHelper.java:3459)
at oracle.apps.xdo.oa.schema.server.TemplateHelper.processTemplate(TemplateHelper.java:3548)
at lxe.oracle.apps.ibu.returnmgmt.server.RmaCreateReturnAMImpl.xxPrintShipLabel(RmaCreateReturnAMImpl.java:1046)
at lxe.oracle.apps.ibu.returnmgmt.webui.OrderConfirmCo.processFormRequest(OrderConfirmCo.java:167)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequest(OAWebBeanHelper.java:815)
at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processFormRequest(OAWebBeanContainerHelper.java:382)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequest(OAWebBeanHelper.java:815)
at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processFormRequest(OAWebBeanContainerHelper.java:382)
at oracle.apps.fnd.framework.webui.beans.layout.OAStackLayoutBean.processFormRequest(OAStackLayoutBean.java:370)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequestChildren(OAWebBeanHelper.java:1027)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequestChildren(OAWebBeanHelper.java:993)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequest(OAWebBeanHelper.java:848)
at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processFormRequest(OAWebBeanContainerHelper.java:382)
at oracle.apps.fnd.framework.webui.beans.form.OAFormBean.processFormRequest(OAFormBean.java:395)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequestChildren(OAWebBeanHelper.java:1027)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequestChildren(OAWebBeanHelper.java:993)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequest(OAWebBeanHelper.java:848)
at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processFormRequest(OAWebBeanContainerHelper.java:382)
at oracle.apps.fnd.framework.webui.beans.OABodyBean.processFormRequest(OABodyBean.java:363)
at oracle.apps.fnd.framework.webui.OAPageBean.processFormRequest(OAPageBean.java:2863)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1840)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:538)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:426)
at jtfcrmchrome.jspService(_jtfcrmchrome.java:1191)
at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:379)
at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:594)
at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:518)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
at oracle.apps.jtf.base.session.ReleaseResFilter.doFilter(ReleaseResFilter.java:26)
at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15)
at oracle.apps.fnd.security.AppsServletFilter.doFilter(AppsServletFilter.java:318)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:621)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)
at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:313)
at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:199)
at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:234)
at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:29)
at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:879)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
at java.lang.Thread.run(Thread.java:619)
Caused by: oracle.xdo.parser.v2.XMLParseException: Start of root element expected.
at oracle.xdo.parser.v2.XMLError.flushErrors1(XMLError.java:337)
at oracle.xdo.parser.v2.NonValidatingParser.parseRootElement(NonValidatingParser.java:343)
at oracle.xdo.parser.v2.NonValidatingParser.parseDocument(NonValidatingParser.java:285)
at oracle.xdo.parser.v2.XMLParser.parse(XMLParser.java:289)
... 56 more
The XML is generated from the code and is as below:
<ShippingLabelVO>
<ShippingLabelVORow>
<RowKey>1</RowKey>
<ShipSentToAddr>XXX Repair Center 125 Technology Parkway Austin, TX</ShipSentToAddr>
<SerialNum>BC104</SerialNum>
<OrderNum>8000324</OrderNum>
<ItemNum>MX7AM-170540</ItemNum>
</ShippingLabelVORow>
</ShippingLabelVO>
I can successfully create the PDF from the desktop using the above XML. When I add the XML file to sample XML (in data definition), I can see the output when I choose Preview.
But, this is not working from the code.
Any pointers?
Thanks,
AshishHi,
We are currently on R12.XDO.B.1 (5.6.3?) Is there a patch we'll need to apply on top of this?
Is there a workaround for this?
Thanks,
Ashish
Maybe you are looking for
-
I no longer see all of my songs/CD's in the iTunes window that are on my iPad. I am afraid to upgrade. Where are all of the titles that are on my iPad when I sync my iPad with my computer? The iTunes window used to show everything.
-
Can't get file to duplex and pull correct media, does one or the other - Help!
Hi All, I'm using Postscript commands in a file going to an HP4650 (with duplexer installed). After checking the .PPD file for the printer I find that the below listed commands should work - and, used separately they do. I.E. if I only use the duplex
-
Transportation zone does not exists
hi, its urgent plz resolve this i have to create the bdc program so before there is a problem in transportation zone fields in xd01 , i am give the data for particular fields but it does not exists while am press the f4 key, it should ask the project
-
How can I rename my iPod in the most recent versionof iTunes 11.0.2?? This support answer is with regard to an old version of iTunes. I'd really like to rename it. Thanks for any help you can provide.
-
How do I get updates that are not mine not to show up in mac app store?
I have updates in my updates in the mac app store that will not go away and they are not mine. They are someone else's that have someone else's apple ID. It is just a little strange that just all the sudden they pop up about two days ago. It is sort