Problems with namespace XML Parsing of ABAP PI 7.0 Integration Engine

Hi,
I discovered the following problem.
The customer sends a SOAP message with is forwarded through a SOAP Adapter in the integration engine.
The structure of the message is very simple:
<Envelope>
<Body>
<ORDERS05>...</ORDERS05>
</Body>
</Envelope>
The customer adds the namespace information a special way:
<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope">
<Body>
<orders05 xmlns="">...</orders05>
</Body>
<Envelope>
Here the namespaces is declared in the first element. It should be inherited into all child elements. The 'orders05' should not have the namespace ' xmlns="http://schemas.xmlsoap.org/soap/envelope" ', therefore the namespace is overwritten with ' xmlns="" '. However I don't know if this is a correct xml statement, the SAP system did not understand this.
The integration throws an error which is stated in the message in the adapter engine:
2008-11-06 17:31:44 Fehler SOAPFault empfangen vom Integration Server. ErrorCode/Category: XIProtocol/ITEM_MISSING; Params: /@mustUnderstand, ST: ST_XMS_MSGHDR30_RM; AdditionalText: Attribut 'mustUnderstand' erwartet; ApplicationFaultMessage: ; ErrorStack: Das XML-Element /@mustUnderstand fehlt im SOAP-Message Header (SAP XI Extension) Attribut 'mustUnderstand' erwartet
2008-11-06 17:31:44 Fehler Fehler beim Übertragen der Message zum Endpunkt http://kas052.hauni.koerber.de:8036/sap/xi/engine?type=entry über die Verbindung SOAP_http://sap.com/xi/XI/System. Grund: com.sap.aii.af.ra.ms.api.RecoverableException: Received HTTP response code 500 : Error during parsing of SOAP header
If I changed the SOAP message to the common format, it is accepted by the integration engine.
<SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope">
<SOAP:Body>
<orders05>...</orders05>
</SOAP:Body>
</SOAP:Envelope>
Here the namespace ' xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope" ' is defined with a prefix and assigned to the elements 'envelope' and 'body'. The 'orders05' element has no namespace.
However due to the xml syntax both messages are the same, so why the integration engine handle the messages different?
Best regards,
Nils Kloth

The valid SOAP format supported by XI is as follows
<SOAP:Envelope
  xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
  <SOAP:Body>
    <m:MessageTypeName xmlns:m="Some-URI">
      <Price>34.5</Price>
    </m:MessageTypeName>
  </SOAP:Body>
</SOAP:Envelope>
Ur sender system is not sending the data in correct Soap format and thats the cause of message rejection. The option you have to use the Soap adapter in "no soap" mode.
Regards,
Prateek

Similar Messages

  • XML parsing problems with Oracle XML parser for PL/SQL

    I am using the Oracle XML parser for PL/SQL to transform XML into HTML usign XSL. The parser gives me sporadic errors trying to parse various XML documents. For the same XML source, the XMLPARSER will parse without errors one day and the next day will give me errors such as "invalid char in text", "Expected ';'.", or even Java null pointer exceptions.
    I have verified that the XML sources are well formed, so I am pretty certain that the problems I am having are bugs in the XMLPARSER.
    Is there going to be a XML parser for PL/SQL version 2 that will fix these bugs? If so, when??? If not, is there anything else I could do to fix these problems?
    Thanks!

    You can use the latest version.

  • Problems with reading XML files with ISO-8859-1 encoding

    Hi!
    I try to read a RSS file. The script below works with XML files with UTF-8 encoding but not ISO-8859-1. How to fix so it work with booth?
    Here's the code:
    import java.io.File;
    import javax.xml.parsers.*;
    import org.w3c.dom.*;
    import java.net.*;
    * @author gustav
    public class RSSDocument {
        /** Creates a new instance of RSSDocument */
        public RSSDocument(String inurl) {
            String url = new String(inurl);
            try{
                DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
                Document doc = builder.parse(url);
                NodeList nodes = doc.getElementsByTagName("item");
                for (int i = 0; i < nodes.getLength(); i++) {
                    Element element = (Element) nodes.item(i);
                    NodeList title = element.getElementsByTagName("title");
                    Element line = (Element) title.item(0);
                    System.out.println("Title: " + getCharacterDataFromElement(line));
                    NodeList des = element.getElementsByTagName("description");
                    line = (Element) des.item(0);
                    System.out.println("Des: " + getCharacterDataFromElement(line));
            } catch (Exception e) {
                e.printStackTrace();
        public String getCharacterDataFromElement(Element e) {
            Node child = e.getFirstChild();
            if (child instanceof CharacterData) {
                CharacterData cd = (CharacterData) child;
                return cd.getData();
            return "?";
    }And here's the error message:
    org.xml.sax.SAXParseException: Teckenkonverteringsfel: "Malformed UTF-8 char -- is an XML encoding declaration missing?" (radnumret kan vara f�r l�gt).
        at org.apache.crimson.parser.InputEntity.fatal(InputEntity.java:1100)
        at org.apache.crimson.parser.InputEntity.fillbuf(InputEntity.java:1072)
        at org.apache.crimson.parser.InputEntity.isXmlDeclOrTextDeclPrefix(InputEntity.java:914)
        at org.apache.crimson.parser.Parser2.maybeXmlDecl(Parser2.java:1183)
        at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:653)
        at org.apache.crimson.parser.Parser2.parse(Parser2.java:337)
        at org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:448)
        at org.apache.crimson.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:185)
        at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:124)
        at getrss.RSSDocument.<init>(RSSDocument.java:25)
        at getrss.Main.main(Main.java:25)

    I read files from the web, but there is a XML tag
    with the encoding attribute in the RSS file.If you are quite sure that you have an encoding attribute set to ISO-8859-1 then I expect that your RSS file has non-ISO-8859-1 character though I thought all bytes -128 to 127 were valid ISO-8859-1 characters!
    Many years ago I had a problem with an XML file with invalid characters. I wrote a simple filter (using FilterInputStream) that made sure that all the byes it processed were ASCII. My problem turned out to be characters with value zero which the Microsoft XML parser failed to process. It put the parser in an infinite loop!
    In the filter, as each byte is read you could write out the Hex value. That way you should be able to find the offending character(s).

  • Problem with generating xml and nested cursor (ora-600)

    I have a problem with generating xml (with dbms_xmlquery or xmlgen) and nested cursors.
    When I execute the following command, I get a ORA-600 error:
    select dbms_xmlquery.getxml('select mst_id
    , mst_source
    , cursor(select per.*
    , cursor(select ftm_fdf_number
    , ftm_value
    from t_feature_master
    where ftm_mstr_id = pers_master_id ) as features
    from t_person per
    where pers_master_id = mst_id ) as persons
    from f_master
    where mst_id = 3059435')
    from dual;
    <?xml version = '1.0'?>
    <ERROR>oracle.xml.sql.OracleXMLSQLException: ORA-00600: internal error code, arguments: [kokbnp2], [1731], [], [], [], [], [], []
    </ERROR>
    The problem is the second cursor (t_feature_master).
    I want to generate this:
    <master>
    <..>
    <persons>
    <..>
    <features>
    <..>
    </features>
    </persons>
    <persons>
    <..>
    <features>
    <..>
    </features>
    </persons>
    </master>
    If i execute the select-statement in sql-plus, then I get the next result.
    MST_ID MST_SOURCE PERSONS
    3059435 GG CURSOR STATEMENT : 3
    CURSOR STATEMENT : 3
    PERS_MASTER_ID PERS_TITLE PERS_INITI PERS_FIRSTNAME PERS_MIDDL PERS_LASTNAME
    3059435 W. Name
    CURSOR STATEMENT : 15
    FTM_FDF_NUMBER FTM_VALUE
    1 [email protected]
    10 ....
    I use Oracle 8.1.7.4 with Oracle XDK v9.2.0.5.0.
    Is this a bug and do somebody know a workaround?

    Very simple...Drop all type objects and nested tables and create them again. You will get no error. I'll explain the reason later.

  • File to IDoc : XML parsing in ABAP mapping

    Hi,
    In ABAP mapping I want to parse all of the incoming XML strings to internal table.Later I add few more fields to this table and transfer them to IDOC adapter in IDOC-XML format.In thsi case how do i get all of the input file data(converted from XML) into internal table using XML parsing in ABAP Mapping?
    Thansk in advance,
    RP

    Hi Amil,
    I insert into table but not immediately,I want all the parsed xml data into internal table and do something before I insert into DB /send it to IDOC.
    I knwo how to get single Xml parsing,but how to get multple records(looping xml parse) to internal table?
    Thanks,
    RP
    Edited by: RP@261 on Jun 3, 2009 2:14 PM

  • Problem with the XML in Word 2007 (Word Template)

    Hi Experts,
    i am new on CRM 2007 and i have a problem with the XML Structure of the Word Template.
    First i built a Web Service Design Tool. Then i saw on the Testpage, that it works.
    So i started the Document Templates and created a new Template. Object Type was BUS2000126 - CRM Business Activity. Web Service was my created and tested Web Service Tool.
    As i opened the Word 2007 with the XML-Structure, i recognized, that there was something wrong.
    The Responce on my Testpage from the Web Service Tool had the following structure:
    response (test.types.p1.CrmostZlaWord5ReadResponse)
       Output (test.types.p1.CrmostZla010RoszlaWord5001)
            ZlaWord5 (test.types.p1.CrmostZla010Rosbtorder)
                Administrativeheaderoforder (test.types.p1.CrmostZla010Rosbtorderhea001)
                     Partiesinvolvedofheader (test.types.p1.CrmostZla010Rosbtheaderpa001)
                         Allpartiesinvolved (test.types.p1.CrmostZla010Rosbtpartnera002[]) Displaying 3 elements of 3
                              element1 (test.types.p1.CrmostZla010Rosbtpartnera002)
                                   Btpartneraddress (test.types.p1.CrmostZla010Rosbtpartnera001)
    My Problem is now, that the XML-Structure got not that point "element1".
    Instead of "element1" there is the point "item" in my XML-Structure in Word 2007.
    I guess that is the Problem why i am not getting the fields of the Btpartneraddress filled in my Word.
    Can anyone help me? Or put me in the right direction that i can change the XML?
    Thanks for your help
    André

    Hi andré, I guess the issue is coming from the fact that you selected "AllPartiesInvolved" and that may contain any numbers of entries. So when you test your webservice, you put a key and then get a result for that key, and in that case you might get "element1" until "element3" for example if there was 3 partners involved in you activity.
    But, when you design your template, you don't have a key at that moment, so in the Web Service structure, you have "items" which stands for all the possible entries you might retrieve at runtime. I guess you could use an index in your template to specify which item you need, but this is quite hasardeous, so i would be you, I would not design my web service to use "AllPartiesInvolved" but rather a specific Partner type like contact person for instance.
    Regards,
    Xavier

  • Problem with castor xml mapping

    Hi,
    we have following problem with castor xml mapping.
    How to use references in the collections(Hashmap or vector)?
    WE have a method called getAttribute map which will return a hashmap consist different type of objects. We want to keep only the
    references of objects if that object occurs more than once,instead of keeping the whole object
    Following is the the xml mapping file.
    <mapping>
    <class name="com.opvista.ndtool.core.mos.ManagedObject" identity="Id" auto-complete="false" verify-constructable="false">
    <map-to xml="ManagedObject"/>
    <field name="Id" get-method="getId" set-method="setId" type="string">
    <bind-xml name="Id" node="attribute"/>
    </field>
    <field name="AttributeMap" type="org.exolab.castor.mapping.MapItem" collection="map" get-method="getAttributeMap">
    <bind-xml name="AttributeMap" node="element">
         <class name="org.exolab.castor.mapping.MapItem">
    <field name="key" type="java.lang.Object">
         <bind-xml name="key" node="attribute"/>
    </field>
    <field name="value" type="java.lang.Object">
         <bind-xml name="value" node="element" reference="true"/>
         </field>
    </class>
         </bind-xml>
    </field>
    </class>
    </mapping>
    we are using reference=true for the values. But it will throw below exception.
    Unable to resolve ID for instance of class 'java.lang.String' due to the following error: Unable to resolve ClassDescriptor.
         at org.exolab.castor.xml.Marshaller.getObjectID(Marshaller.java:1988)
         at org.exolab.castor.xml.Marshaller.marshal(Marshaller.java:1628)
         at org.exolab.castor.xml.Marshaller.marshal(Marshaller.java:1831)
         at org.exolab.castor.xml.Marshaller.marshal(Marshaller.java:1814)
         at org.exolab.castor.xml.Marshaller.marshal(Marshaller.java:1825)
         at org.exolab.castor.xml.Marshaller.marshal(Marshaller.java:821)
    Please help us to overcome from this problem?
    Thanks,
    Dileep

    for your ref here is what i think the basic mapping file would look like
    <class name="Person">
    <map-to xml="person"/>
    <field name="name" type="string">
    <bind-xml name="name" node="attribute" />
    </field>
    <field name="age" type="string">
    <bind-xml name="age" node="attribute" />
    </field>
    </class>
    <class name="MetaPerson">
    <map-to xml="person"/>
    <field name="dependents" type="string">
    <bind-xml name="dependents" node="attribute" />
    </field>
    <field name="presentAdd" type="string">
    <bind-xml name="present_add " node="attribute" />
    </field>
    <field name="permanentAdd" type="string">
    <bind-xml name="permanent_add " node="attribute" />
    </field>
    </class>
    however i am still not clear as to how i can use the metaperson object in the person class as well as in the mapping file.
    hope this gives a better idea abt my problem statement.
    Please help me out

  • Problem with web.xml

    Hello,
    I have a big problem with web.xml.
    i can run the servlet demos with the default web.xml, but when i try to user a costum web.xml files, i receive a 404 page not found on a link.
    i have some dificulty to post here. but can somebody help my with my web.xml files?
    thanks for your help.
    have a nice day!

    Be careful with the place of your files and folders. It's possible that you've just mentioned the cause of your problem.
    My web.xml is
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!DOCTYPE web-app
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    "http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app>
    <display-name>gco</display-name>
    <description>gco webapplicaties</description>
    <servlet>
    <servlet-name>MopoController</servlet-name>
    <servlet-class>org.gertcuppens.controller.MopoController</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>MopoController</servlet-name>
    <url-pattern>/MOPO</url-pattern>
    </servlet-mapping>
    </web-app>
    When I want to call my web application locally, I use the URL http://localhost:8080/gco/MOPO.
    The http://localhost:8080 calls Tomcat. With /gco, Tomcat knows it should look for a folder gco inside the webapps folder. This one should contain a WEB-INF/web.xml folder for further instructions.
    With /MOPO Tomcat knows, having read the web.xml files of all webapps folders at start, it should look for a servlet with the name MopoController. And this MopoController points to the class org.gertcuppens.controller.MopoController. So, Tomcat knows where to find everything.
    Try to see whether your Tomcat can find everything inside the folders using your web.xml file.

  • Problem with Persistence.xml in JDev final after migration

    Hi,
    I am trying to migrate a current project from JDev 11gTp4 to the JDev production release. When deploying the EJB module I get the following problem though (Stack from DefaultServer.log)
    weblogic.application.ModuleException: Exception preparing module: EJBModule(Nexus-NexusModel-ejb)
         at weblogic.ejb.container.deployer.EJBModule.prepare(EJBModule.java:452)
         at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:93)
         at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:387)
         at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
         at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:58)
         at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:42)
         at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:615)
         at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
         at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:191)
         at weblogic.application.internal.EarDeployment.prepare(EarDeployment.java:16)
         at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:155)
         at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:60)
         at weblogic.deploy.internal.targetserver.operations.ActivateOperation.createAndPrepareContainer(ActivateOperation.java:197)
         at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doPrepare(ActivateOperation.java:89)
         at weblogic.deploy.internal.targetserver.operations.AbstractOperation.prepare(AbstractOperation.java:217)
         at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentPrepare(DeploymentManager.java:723)
         at weblogic.deploy.internal.targetserver.DeploymentManager.prepareDeploymentList(DeploymentManager.java:1190)
         at weblogic.deploy.internal.targetserver.DeploymentManager.handlePrepare(DeploymentManager.java:248)
         at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.prepare(DeploymentServiceDispatcher.java:159)
         at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doPrepareCallback(DeploymentReceiverCallbackDeliverer.java:157)
         at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$000(DeploymentReceiverCallbackDeliverer.java:12)
         at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$1.run(DeploymentReceiverCallbackDeliverer.java:45)
         at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    java.lang.UnsupportedOperationException: This parser does not support specification "null" version "null"
         at javax.xml.parsers.DocumentBuilderFactory.setSchema(DocumentBuilderFactory.java:561)
         at weblogic.xml.jaxp.RegistryDocumentBuilder.setupDocumentBuilderFactory(RegistryDocumentBuilder.java:393)
         at weblogic.xml.jaxp.RegistryDocumentBuilder.getDefaultDocumentBuilderFactory(RegistryDocumentBuilder.java:359)
         at weblogic.xml.jaxp.RegistryDocumentBuilder.getDocumentBuilder(RegistryDocumentBuilder.java:298)
         at weblogic.xml.jaxp.RegistryDocumentBuilder.parse(RegistryDocumentBuilder.java:150)
         at org.eclipse.persistence.platform.xml.jaxp.JAXPParser.parse(JAXPParser.java:163)
         at org.eclipse.persistence.platform.xml.jaxp.JAXPParser.parse(JAXPParser.java:197)
         at org.eclipse.persistence.internal.oxm.record.DOMUnmarshaller.unmarshal(DOMUnmarshaller.java:213)
         at org.eclipse.persistence.oxm.XMLUnmarshaller.unmarshal(XMLUnmarshaller.java:309)
         at org.eclipse.persistence.internal.jpa.metadata.xml.XMLEntityMappingsReader.read(XMLEntityMappingsReader.java:72)
         at org.eclipse.persistence.internal.jpa.metadata.xml.XMLEntityMappingsReader.read(XMLEntityMappingsReader.java:112)
         at org.eclipse.persistence.internal.jpa.metadata.MetadataProcessor.loadStandardMappingFiles(MetadataProcessor.java:343)
         at org.eclipse.persistence.internal.jpa.metadata.MetadataProcessor.loadMappingFiles(MetadataProcessor.java:271)
         at org.eclipse.persistence.internal.jpa.deployment.PersistenceUnitProcessor.processORMetadata(PersistenceUnitProcessor.java:294)
         at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.predeploy(EntityManagerSetupImpl.java:830)
         at org.eclipse.persistence.jpa.PersistenceProvider.createContainerEntityManagerFactory(PersistenceProvider.java:189)
         at weblogic.deployment.PersistenceUnitInfoImpl.createEntityManagerFactory(PersistenceUnitInfoImpl.java:330)
         at weblogic.deployment.PersistenceUnitInfoImpl.<init>(PersistenceUnitInfoImpl.java:123)
         at weblogic.deployment.AbstractPersistenceUnitRegistry.storeDescriptors(AbstractPersistenceUnitRegistry.java:331)
         at weblogic.deployment.AbstractPersistenceUnitRegistry.loadPersistenceDescriptor(AbstractPersistenceUnitRegistry.java:245)
         at weblogic.deployment.ModulePersistenceUnitRegistry.<init>(ModulePersistenceUnitRegistry.java:63)
         at weblogic.ejb.container.deployer.EJBModule.setupPersistenceUnitRegistry(EJBModule.java:209)
         at weblogic.ejb.container.deployer.EJBModule$1.execute(EJBModule.java:310)
         at weblogic.deployment.PersistenceUnitRegistryInitializer.setupPersistenceUnitRegistries(PersistenceUnitRegistryInitializer.java:62)
         at weblogic.ejb.container.deployer.EJBModule.prepare(EJBModule.java:376)
         at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:93)
         at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:387)
         at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
         at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:58)
         at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:42)
         at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:615)
         at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
         at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:191)
         at weblogic.application.internal.EarDeployment.prepare(EarDeployment.java:16)
         at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:155)
         at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:60)
         at weblogic.deploy.internal.targetserver.operations.ActivateOperation.createAndPrepareContainer(ActivateOperation.java:197)
         at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doPrepare(ActivateOperation.java:89)
         at weblogic.deploy.internal.targetserver.operations.AbstractOperation.prepare(AbstractOperation.java:217)
         at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentPrepare(DeploymentManager.java:723)
         at weblogic.deploy.internal.targetserver.DeploymentManager.prepareDeploymentList(DeploymentManager.java:1190)
         at weblogic.deploy.internal.targetserver.DeploymentManager.handlePrepare(DeploymentManager.java:248)
         at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.prepare(DeploymentServiceDispatcher.java:159)
         at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doPrepareCallback(DeploymentReceiverCallbackDeliverer.java:157)
         at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$000(DeploymentReceiverCallbackDeliverer.java:12)
         at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$1.run(DeploymentReceiverCallbackDeliverer.java:45)
         at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    My persistence.xml looks like
    <?xml version="1.0" encoding="windows-1252" ?>
    <persistence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
    version="1.0" xmlns="http://java.sun.com/xml/ns/persistence">
    <persistence-unit name="Nexus-ejbPU">
    <provider>
    org.eclipse.persistence.jpa.PersistenceProvider
    </provider>
    <jta-data-source>
    jdbc/NexusPoolDS
    </jta-data-source>
    <mapping-file>
    META-INF/orm.xml
    </mapping-file>
    <properties>
    <property name="eclipselink.target-server" value="WebLogic_10"/>
    <property name="eclipselink.logging.file" value="Toplink.log"/>
    <property name="eclipselink.logging.timestamp" value="true"/>
    <property name="eclipselink.logging.exceptions" value="true"/>
    <property name="eclipselink.logging.session" value="true"/>
    </properties>
    </persistence-unit>
    </persistence>
    orm.xml looks like this
    <?xml version="1.0" encoding="windows-1252" ?>
    <entity-mappings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm http://java.sun.com/xml/ns/persistence/orm_1_0.xsd"
    version="1.0"
    xmlns="http://java.sun.com/xml/ns/persistence/orm">
    <persistence-unit-metadata>
    <persistence-unit-defaults>
    <schema>
    XXX
    </schema>
    </persistence-unit-defaults>
    </persistence-unit-metadata>
    <package>
    za.co.medscheme.model.persistence.xxx
    </package>
    <schema>
    XXX
    </schema>
    </entity-mappings>
    I have noticed that the persistence.xml file have changed quite drastically from the version we had in TP4 release during project upgrade, but can not explain the problem we are getting. I have also tried to just create a dummy project and create a persistence unit, and the file looks exactly the same afterwards. Any thoughts?
    Drikus

    Just thought I would add a temporary solution to the problem for those of you sitting with the same issue.
    In the root folder of your application you will find a src folder with a meta-inf folder and weblogic-application.xml inside.
    Add the following before the closing weblogic-application tag...
    <xml>
    <parser-factory>
    <saxparser-factory>
    weblogic.xml.jaxp.WebLogicSAXParserFactory
    </saxparser-factory>
    <document-builder-factory>
    weblogic.xml.jaxp.WebLogicDocumentBuilderFactory
    </document-builder-factory>
    <transformer-factory>
    weblogic.xml.jaxp.WebLogicSAXTransformerFactory
    </transformer-factory>
    </parser-factory>
    </xml>
    If there wasnt an xml tag in the file, it seems that JDeveloper somehow adds one on the fly for you pointing to an oracle xml parser that does not contain the setSchema method required by weblogic on deployment.
    Hope this helps anybody else that has this problem.
    Regards
    Drikus Britz

  • Problem to swap XML parser

    Hi all,
    I am trying to replace the official oracle XML library by apache xerces on a soa suite 10.1.3.1 developper hosted on a linux red hat platform.
    I have found a how to on oracle web site (http://www.oracle.com/technology/tech/java/oc4j/1013/how_to/how-to-swapxmlparser/doc/readme.html). I hadn't found any archive containing the source so I have buid a simple test using EJB 3 (In fact, I have created a "hello word" session bean that return a String containing the Dom builder factory class name).
    I have create the shared library using Entreprise manager as described in the how to.
    My test works fine if I deploy it with the default XML factory but if I add the following lines to the orion-application.xml, the deployment process ends with a null pointer exception :
    <imported-shared-libraries>
    <import-shared-library name="apache.xml" />
    <remove-inherited name="oracle.xml" />
    </imported-shared-libraries>
    I have tried to deploy the test using the entreprise manager web UI (as explain in how to) but the result was the same.
    I have tried to remove the "<remove-inherited name="oracle.xml" />" line but in this case, the XML parser still the oracle one.
    Do you know if the library specification is available in the last soa suite ?
    Thank in advance for your responses.
    Alexandre CUCUMEL
    PS: I can send the test code source if needed
    PS2: here is the complete opmn stack trace when I try to deploy the test application
    08/08/08 15:46:36 java.lang.RuntimeException: javax.xml.parsers.FactoryConfigurationError: Provider oracle.xml.jaxp.JXDocumentBuilderFactory could not
    be instantiated: java.lang.NullPointerException
    08/08/08 15:46:36 at oracle.j2ee.ws.common.processor.Processor.runActions(Processor.java:105)
    08/08/08 15:46:36 at oracle.j2ee.ws.common.metadata.annotation.DeploymentGenerator$DeploymentCompileTool.run(DeploymentGenerator.java:205)
    08/08/08 15:46:36 at oracle.j2ee.ws.common.metadata.annotation.DeploymentGenerator.generateDeploymentArtifacts(DeploymentGenerator.java:131)
    08/08/08 15:46:36 at oracle.j2ee.ws.common.metadata.annotation.EJBWebServiceAnnotationParser.parseAnnotatedBean(EJBWebServiceAnnotationParser.ja
    va:165)
    08/08/08 15:46:36 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    08/08/08 15:46:36 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    08/08/08 15:46:36 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    08/08/08 15:46:36 at java.lang.reflect.Method.invoke(Method.java:585)
    08/08/08 15:46:36 at oracle.j2ee.ws.server.deployment.oc4j.WebServiceAnnotationListener.parseAnnotatedClass(WebServiceAnnotationListener.java:85
    08/08/08 15:46:36 at com.evermind.server.ejb.AnnotationParser.notifyAnnotationListeners(AnnotationParser.java:201)
    08/08/08 15:46:36 at com.evermind.server.ejb.AnnotationParser.parseAnnotations(AnnotationParser.java:73)
    08/08/08 15:46:36 at com.evermind.server.ejb.EJBPackageDeployment.parseMetaData(EJBPackageDeployment.java:939)
    08/08/08 15:46:36 at com.evermind.server.ejb.EJBContainer.postInit(EJBContainer.java:832)
    08/08/08 15:46:36 at com.evermind.server.ApplicationStateRunning.initializeApplication(ApplicationStateRunning.java:217)
    08/08/08 15:46:36 at com.evermind.server.Application.setConfig(Application.java:413)
    08/08/08 15:46:36 at com.evermind.server.Application.setConfig(Application.java:314)
    08/08/08 15:46:36 at com.evermind.server.ApplicationServer.addApplication(ApplicationServer.java:1853)
    08/08/08 15:46:36 at oracle.oc4j.admin.internal.ApplicationDeployer.addApplication(ApplicationDeployer.java:512)
    08/08/08 15:46:36 at oracle.oc4j.admin.internal.ApplicationDeployer.doDeploy(ApplicationDeployer.java:196)
    08/08/08 15:46:36 at oracle.oc4j.admin.internal.DeployerBase.execute(DeployerBase.java:93)
    08/08/08 15:46:36 at oracle.oc4j.admin.jmx.server.mbeans.deploy.OC4JDeployerRunnable.doRun(OC4JDeployerRunnable.java:52)
    08/08/08 15:46:36 at oracle.oc4j.admin.jmx.server.mbeans.deploy.DeployerRunnable.run(DeployerRunnable.java:81)
    08/08/08 15:46:36 at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:298)
    08/08/08 15:46:36 at java.lang.Thread.run(Thread.java:595)
    08/08/08 15:46:36 Caused by: javax.xml.parsers.FactoryConfigurationError: Provider oracle.xml.jaxp.JXDocumentBuilderFactory could not be instantiated:
    java.lang.NullPointerException
    08/08/08 15:46:36 at javax.xml.parsers.DocumentBuilderFactory.newInstance(DocumentBuilderFactory.java:104)
    08/08/08 15:46:36 at oracle.j2ee.ws.wsdl.extensions.oracle.schema.SchemaSchemaElement.<init>(SchemaSchemaElement.java:37)
    08/08/08 15:46:36 at oracle.j2ee.ws.common.processor.generator.wsdl.WSDLTypeGenerator.generateSchema(WSDLTypeGenerator.java:435)
    08/08/08 15:46:36 at oracle.j2ee.ws.common.processor.generator.wsdl.WSDLTypeGenerator.processElement(WSDLTypeGenerator.java:735)
    08/08/08 15:46:36 at oracle.j2ee.ws.common.processor.generator.wsdl.WSDLTypeGenerator.processElementsInMessage(WSDLTypeGenerator.java:352)
    08/08/08 15:46:36 at oracle.j2ee.ws.common.processor.generator.wsdl.WSDLTypeGenerator.run(WSDLTypeGenerator.java:207)
    08/08/08 15:46:36 at oracle.j2ee.ws.common.processor.generator.wsdl.WSDLGenerator.generateTypes(WSDLGenerator.java:291)
    08/08/08 15:46:36 at oracle.j2ee.ws.common.processor.generator.wsdl.WSDLGenerator.generateDocument(WSDLGenerator.java:242)
    08/08/08 15:46:36 at oracle.j2ee.ws.common.processor.generator.wsdl.WSDLGenerator.doGeneration(WSDLGenerator.java:176)
    08/08/08 15:46:36 at oracle.j2ee.ws.common.processor.generator.wsdl.WSDLGenerator.doGeneration(WSDLGenerator.java:141)
    08/08/08 15:46:36 at oracle.j2ee.ws.common.processor.generator.wsdl.WSDLGenerator.perform(WSDLGenerator.java:126)
    08/08/08 15:46:36 at oracle.j2ee.ws.common.processor.Processor.runActions(Processor.java:97)
    08/08/08 15:46:36 ... 23 more
    08/08/08 15:46:36 WARNING: Application.setConfig Application: testDeployement is in failed state as initialization failed.
    java.lang.InstantiationException: Error initializing ejb-modules: nested exception is: java.lang.NullPointerException
    08/08/08 15:46:36 oracle.oc4j.admin.internal.DeployerException: java.lang.InstantiationException: Application: testDeployement is in failed state as i
    nitialization failed
    08/08/08 15:46:36 at oracle.oc4j.admin.internal.ApplicationDeployer.addApplication(ApplicationDeployer.java:515)
    08/08/08 15:46:36 at oracle.oc4j.admin.internal.ApplicationDeployer.doDeploy(ApplicationDeployer.java:196)
    08/08/08 15:46:36 at oracle.oc4j.admin.internal.DeployerBase.execute(DeployerBase.java:93)
    08/08/08 15:46:36 at oracle.oc4j.admin.jmx.server.mbeans.deploy.OC4JDeployerRunnable.doRun(OC4JDeployerRunnable.java:52)
    08/08/08 15:46:36 at oracle.oc4j.admin.jmx.server.mbeans.deploy.DeployerRunnable.run(DeployerRunnable.java:81)
    08/08/08 15:46:36 at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:298)
    08/08/08 15:46:36 at java.lang.Thread.run(Thread.java:595)
    08/08/08 15:46:36 Caused by: java.lang.InstantiationException: Application: testDeployement is in failed state as initialization failed
    08/08/08 15:46:36 at com.evermind.server.Application.setConfig(Application.java:471)
    08/08/08 15:46:36 at com.evermind.server.Application.setConfig(Application.java:314)
    08/08/08 15:46:36 at com.evermind.server.ApplicationServer.addApplication(ApplicationServer.java:1853)
    08/08/08 15:46:36 at oracle.oc4j.admin.internal.ApplicationDeployer.addApplication(ApplicationDeployer.java:512)
    08/08/08 15:46:36 ... 6 more
    08/08/08 15:46:36 Caused by: java.lang.InstantiationException: Error initializing ejb-modules: nested exception is: java.lang.NullPointerException
    08/08/08 15:46:36 at com.evermind.server.ejb.EJBContainer.postInit(EJBContainer.java:1064)
    08/08/08 15:46:36 at com.evermind.server.ApplicationStateRunning.initializeApplication(ApplicationStateRunning.java:217)
    08/08/08 15:46:36 at com.evermind.server.Application.setConfig(Application.java:413)
    08/08/08 15:46:36 ... 9 more
    08/08/08 15:46:36 Caused by: javax.ejb.EJBException: nested exception is: java.lang.NullPointerException
    08/08/08 15:46:36 at com.evermind.server.ejb.EJBUtils.createEJBException(EJBUtils.java:365)
    08/08/08 15:46:36 at com.evermind.server.ejb.EJBUtils.createEJBException(EJBUtils.java:356)
    08/08/08 15:46:36 at oracle.j2ee.ws.server.deployment.oc4j.WebServiceAnnotationListener.parseAnnotatedClass(WebServiceAnnotationListener.java:92
    08/08/08 15:46:36 at com.evermind.server.ejb.AnnotationParser.notifyAnnotationListeners(AnnotationParser.java:201)
    08/08/08 15:46:36 at com.evermind.server.ejb.AnnotationParser.parseAnnotations(AnnotationParser.java:73)
    08/08/08 15:46:36 at com.evermind.server.ejb.EJBPackageDeployment.parseMetaData(EJBPackageDeployment.java:939)
    08/08/08 15:46:36 at com.evermind.server.ejb.EJBContainer.postInit(EJBContainer.java:832)
    08/08/08 15:46:36 ... 11 more
    08/08/08 15:46:36 Caused by: java.lang.NullPointerException
    08/08/08 15:46:36 at oracle.j2ee.ws.common.metadata.annotation.DeploymentGenerator.generateDeploymentArtifacts(DeploymentGenerator.java:138)
    08/08/08 15:46:36 at oracle.j2ee.ws.common.metadata.annotation.EJBWebServiceAnnotationParser.parseAnnotatedBean(EJBWebServiceAnnotationParser.ja
    va:165)
    08/08/08 15:46:36 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    08/08/08 15:46:36 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    08/08/08 15:46:36 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    08/08/08 15:46:36 at java.lang.reflect.Method.invoke(Method.java:585)
    08/08/08 15:46:36 at oracle.j2ee.ws.server.deployment.oc4j.WebServiceAnnotationListener.parseAnnotatedClass(WebServiceAnnotationListener.java:85
    08/08/08 15:46:36 ... 15 more
    08/08/08 15:46:36 WARNING: DeployerRunnable.run java.lang.InstantiationException: Application: testDeployement is in failed state as initialization fa
    iledoracle.oc4j.admin.internal.DeployerException: java.lang.InstantiationException: Application: testDeployement is in failed state as initialization
    failed
    at oracle.oc4j.admin.internal.DeployerBase.execute(DeployerBase.java:126)
    at oracle.oc4j.admin.jmx.server.mbeans.deploy.OC4JDeployerRunnable.doRun(OC4JDeployerRunnable.java:52)
    at oracle.oc4j.admin.jmx.server.mbeans.deploy.DeployerRunnable.run(DeployerRunnable.java:81)
    at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:298)
    at java.lang.Thread.run(Thread.java:595)
    Caused by: java.lang.InstantiationException: Application: testDeployement is in failed state as initialization failed
    at com.evermind.server.Application.setConfig(Application.java:471)
    at com.evermind.server.Application.setConfig(Application.java:314)
    at com.evermind.server.ApplicationServer.addApplication(ApplicationServer.java:1853)
    at oracle.oc4j.admin.internal.ApplicationDeployer.addApplication(ApplicationDeployer.java:512)
    at oracle.oc4j.admin.internal.ApplicationDeployer.doDeploy(ApplicationDeployer.java:196)
    at oracle.oc4j.admin.internal.DeployerBase.execute(DeployerBase.java:93)
    ... 4 more
    Caused by: java.lang.InstantiationException: Error initializing ejb-modules: nested exception is: java.lang.NullPointerException
    at com.evermind.server.ejb.EJBContainer.postInit(EJBContainer.java:1064)
    at com.evermind.server.ApplicationStateRunning.initializeApplication(ApplicationStateRunning.java:217)
    at com.evermind.server.Application.setConfig(Application.java:413)
    ... 9 more
    Caused by: javax.ejb.EJBException: nested exception is: java.lang.NullPointerException
    at com.evermind.server.ejb.EJBUtils.createEJBException(EJBUtils.java:365)
    at com.evermind.server.ejb.EJBUtils.createEJBException(EJBUtils.java:356)
    at oracle.j2ee.ws.server.deployment.oc4j.WebServiceAnnotationListener.parseAnnotatedClass(WebServiceAnnotationListener.java:92)
    at com.evermind.server.ejb.AnnotationParser.notifyAnnotationListeners(AnnotationParser.java:201)
    at com.evermind.server.ejb.AnnotationParser.parseAnnotations(AnnotationParser.java:73)
    at com.evermind.server.ejb.EJBPackageDeployment.parseMetaData(EJBPackageDeployment.java:939)
    at com.evermind.server.ejb.EJBContainer.postInit(EJBContainer.java:832)
    ... 11 more
    Caused by: java.lang.NullPointerException
    at oracle.j2ee.ws.common.metadata.annotation.DeploymentGenerator.generateDeploymentArtifacts(DeploymentGenerator.java:138)
    at oracle.j2ee.ws.common.metadata.annotation.EJBWebServiceAnnotationParser.parseAnnotatedBean(EJBWebServiceAnnotationParser.java:165)
    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:585)
    at oracle.j2ee.ws.server.deployment.oc4j.WebServiceAnnotationListener.parseAnnotatedClass(WebServiceAnnotationListener.java:85)
    ... 15 more

    Andre,
    Thanks for your interest on my problem.
    In fact, I have created a test with just an interface and a class. No additional jars are added at compilation or ejb creation time.
    My java code is very simple (I have just copied the example main method and convert it to a SOAP method :
    package be.test;
    import javax.ejb.Stateless;
    import javax.jws.WebService;
    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
    @Stateless
    @WebService(endpointInterface = "be.test.Test")
    public class TestImpl implements Test {
         public String test() {
              DocumentBuilder builder=null;
              DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
              try
              builder = factory.newDocumentBuilder();
              return "<BR><B>DocumentBuilderFactory Instance:</B> " + factory.getClass().getName() +
              "<BR><B>DocumentBuilder Instance:</B> " + builder.getClass().getName() +"<BR>"; }
              catch (Exception e)
              return "Error processing DOM -- " + e.getMessage();
    Unfortunately, I think that the problem may come from EJB 3 stack that does not support an other XML library.
    Thanks again for your help.
    Best regards,
    Alexandre
    PS: appologies for the message formatting... I don't understand why the new line caracters are not corrects.

  • Problems with Large XML files

    I have tried increasing the memory pool using the -mx and -ms options. It doesnt work. I am using your latest XML parser for Java v2. Please let me know if there are some specific options I should be using.
    Thanx,
    -Sameer
    We have a number of test files that are that size and it works without a problem. However using the DOMParser does require significantly more memory than your doc size.
    What is the memory configuration of the JVM that you are running with? Have you tried increasing it? Are you using our latest version 2.0.2.6?
    Oracle XML Team
    Is there a restriction on the XML file size that can be loaded into the parser?
    I am getting a out of memory exception reading in large XML file(10MB) using the commands
    DOMParser parser = new DOMParser();
    URL url = createURL(argv[0]);
    parser.setErrorStream(System.err);
    parser.setValidationMode(true);
    parser.showWarnings(true);
    parser.parse(url);
    Win NT 4.0 Server
    Sun JDK 1.2.2
    ===================================
    Error output
    ===================================
    Exception in thread "main" java.lang.OutOfMemoryError
    at oracle.xml.parser.v2.ElementDecl.getAttrDecls(ElementDecl.java, Compi
    led Code)
    at java.util.Hashtable.<init>(Unknown Source)
    at oracle.xml.parser.v2.DTDDecl.<init>(DTDDecl.java, Compiled Code)
    at oracle.xml.parser.v2.ElementDecl.getAttrDecls(ElementDecl.java, Compi
    led Code)
    at oracle.xml.parser.v2.ValidatingParser.checkDefaultAttributes(Validati
    ngParser.java, Compiled Code)
    at oracle.xml.parser.v2.NonValidatingParser.parseAttributes(NonValidatin
    gParser.java, Compiled Code)
    at oracle.xml.parser.v2.NonValidatingParser.parseElement(NonValidatingPa
    rser.java, Compiled Code)
    at oracle.xml.parser.v2.ValidatingParser.parseRootElement(ValidatingPars
    er.java:97)
    at oracle.xml.parser.v2.NonValidatingParser.parseDocument(NonValidatingP
    arser.java:199)
    at oracle.xml.parser.v2.XMLParser.parse(XMLParser.java:146)
    at TestLF.main(TestLF.java:40)
    null

    You might try using a different JDK/JRE - either a 1.1.6+ or 1.3 version as 1.2 in our experience has the largest footprint. If this doesn't work can you give us some details about your system configuration. Finally you might try the SAX interface as it does not need to load the entire DOM tree into memory.
    Oracle XML Team

  • Nls support with oracle xml parser in java

    I'm using The JAXP interface to manipulate xml with xsl. the implementation that I use is Oracle xml parser.
    My xml contains a lot of hebrew chars, and in the result stream each char translated into 5-6 chars, which makes the result to be 5-6 times bigger than it suppose to be, and harder for me to debug my application.
    The client's browser shows the results well.
    How can I make the transformator to transform the hebrew chars to hebrew char istead of longer and not readable string ?

    Oracle XML Team wrote:
    : Stephen Flinter (guest) wrote:
    : : Environment: WinNT 4.0/SP4, Apache 1.3.6, JServ 1.0, Oracle
    : 8.1.5
    : : I have downloaded the new Java v2 XML Parser (2.0.2), and
    have
    : : replaced the wrapper.classpath entry in my jserv.properties
    : file
    : : with the path to the new parser.
    : : When I rerun the "Employee Page" demo, I get the following
    : : exception message:
    : : [15/09/1999 11:02:22:974 GMT] java.lang.NoSuchMethodError:
    : : oracle.xml.parser.v2.XSLProcessor: method
    : : processXSL
    : (Loracle/xml/parser/v2/XSLStylesheet;Loracle/xml/parser
    : : /v2/XMLDocument;)Lorg/w3c/dom/DocumentFragment; not found
    : : at oracle.xml.xsql.XSLHelper.process(XSLHelper.java:34)
    : : at oracle.xml.xsql.XSQLServlet.doGet(XSQLServlet.java,
    : : Compiled Code)
    : : at
    : : javax.servlet.http.HttpServlet.service(HttpServlet.java:499)
    : : at
    : : javax.servlet.http.HttpServlet.service(HttpServlet.java:588)
    : : at
    : : org.apache.jserv.JServConnection.processRequest
    : (JServConnection.j
    : : ava)
    : : at
    : : org.apache.jserv.JServConnection.run(JServConnection.java)
    : : at java.lang.Thread.run(Thread.java:479)
    : : This demo was works fine with the parser shipped with the
    : : xsql_servlet download.
    : : Regards,
    : : Steve
    : Version 2.0.2 uses the August XSLT WD which is incompatible
    with
    : the April WD on which our previous releases including the demos
    : were based.
    : Oracle XML Team
    : http://technet.oracle.com
    : Oracle Technology Network
    Hi,
    Can someone from the Oracle XML Team point us to a fix so we can
    continue our testing???
    Steve...
    null

  • Problem with loading XML file from directory.

    Hello everyone.
    *1)* I have directory defined by DBA. I have read, write privileges. I can read file from this directory using UTL_FILE, I can create file in this directory using UTL_FILE. I tried many times and it does not seem to be any problems.
    *2)* I have very simple XML table (with just one column of xmltype). I can insert into this column using:
    insert into temp_xml values (
    Xmltype ('<something></something>')
    *3)* When executing
    insert into temp_xml values (
    Xmltype (
    bfilename('XML_LOCATION', 'sample.xml'),
    nls_charset_id('AL16UTF8')
    I'm receiving an error:
    Error report:
    SQL Error: ORA-22288: file or LOB operation FILEOPEN failed
    ORA-06512: at "SYS.DBMS_LOB", line 523
    ORA-06512: at "SYS.XMLTYPE", line 287
    ORA-06512: at line 1
    22288. 00000 - "file or LOB operation %s failed\n%s"
    *Cause:    The operation attempted on the file or LOB failed.
    *Action:   See the next error message in the error stack for more detailed
    information. Also, verify that the file or LOB exists and that
    the necessary privileges are set for the specified operation. If
    the error still persists, report the error to the DBA.
    *4)* Previously I was receiving more descriptive errors like permission denied, file not exists etc. This time there is no clear description apart from "file or LOB operation %s failed\n%s". I'm sure I can access this file in this directory (I used UTL_FILE to dbms_output the content).
    Any help would be greatly appreciated.
    Regards
    Marcin Jankowski

    Hi Marcin,
    Welcome to the forums.
    One very important thing with Oracle XML : please always give your database version, all four digits (e.g. 10.2.0.4).
    Does the directory resides on the same machine as the database? Which OS?
    Does any of the following work ?
    DECLARE
       v_lob   CLOB;
       v_file  BFILE;
    BEGIN
       v_file := BFILENAME('XML_LOCATION','sample.xml');
       DBMS_LOB.createtemporary(v_lob, true);
       DBMS_LOB.fileopen(v_file);
       DBMS_LOB.loadfromfile(v_lob, v_file, DBMS_LOB.getlength(v_file));
       INSERT INTO temp_xml VALUES( xmltype(v_lob) );
       DBMS_LOB.fileclose(v_file);
       DBMS_LOB.freetemporary(v_lob);
    END;
    DECLARE
       v_lob   CLOB;
    BEGIN
       v_lob := DBMS_XSLPROCESSOR.read2clob('XML_LOCATION', 'sample.xml', nls_charset_id('AL16UTF8'));
       INSERT INTO temp_xml VALUES( xmltype(v_lob) );
    END;
    /

  • Looking for some basics/fundamentals of XML Parsing in ABAP

    Hello SAP gurus
    I have to start workign on a project that involves Variant Configuration stuff that will be sent as XML document. I have to parse the XML document and save the needed data in some custom tables. I heard that there are some standard functions that we can use to do this job. I tried searching SDN for string XML parsing and got tons of postings regarding this. I tried to go through them one by one but it was way beyond my understanding at this time. I am looking for the fundamentals or how to start from scratch.
    I would appreciate if anybody can guide me to find some kind tutorial or basic info on where and how to start.
    Thanks a lot in advance
    Ram

    XML parsing through CALL TRANSFORMATION is one of the easiest method. A transformation needs to be created as per your XML data in transaction XSLT_TOOL and the transformation needs to be called in ABAP program using "CALL TRANSFORMATION" statement.
    Kindly search in internet for XSLT/simple transformations.

  • Even Based XML Parsing in ABAP

    Hi all ,
      Currently i am using DOM Based Parsing to parse XML in my ABAP program. i am planning to change the code by using Event based parsing which is recommended for perfomance when we parse large xml document
    Any one have the Example program for event based parsing the xml .pls help me in this.
    Thanks in Advance
    Ram

    Hello,
    you can look at the coding example
    data: event     type ref to if_ixml_event,
          event_sub type i
    lp_dom type ref to if_ixml_document,
    pstreamfac    TYPE REF TO if_ixml_stream_factory,
           pistream      TYPE REF TO if_ixml_istream,
    create the factory for streams
    pstreamfac = g_ixml->create_stream_factory( ).
    create the input stream:
    pistream = pstreamfac->create_istream_cstring( string = xml ).
    lp_dom     = g_ixml->create_document( ).
    create the iXML parser:
    parser = g_ixml->create_parser(
    stream_factory = pstreamfac
    istream        = pistream
    document       = lp_dom ).
    let the parser know which events I am interested in
    event_sub = if_ixml_event=>co_event_element_pre2 +
                if_ixml_event=>co_event_element_post.
    parser->set_event_subscription( events = event_sub ).
    do.
      event = parser->parse_event( ).
      if event is initial.
        exit. ' either end reached or error (check below)
      endif.
      data: str type string.
      case event->get_type( ).
        when if_ixml_event~co_event_element_pre2.
          str = event->get_name( ).  write: '<' str '>'.
        when if_ixml_event~co_event_text_post.
          str = event->get_value( ). write: str.
      endcase.
    enddo.
    always check for errors:
    if parser->num_errors( ) ne 0.
    endif.
    Regards,
    Marc

Maybe you are looking for