Annotated configuration vs XML configuration

I have to decide whether to move ahead and use Annotations for an application for a major enhancement task.
XML configurations can be replaced with annotations for the following items:
1. Spring related (EJB configurations, bean configurations (layers of dependent java classes getting injected))
2. Hibernate related (getting rid of HBM XMLs)
But, developers are not that keen to move ahead with the annotation thing, since during development they will have to re-compile every time there is a minor configuration change.
Now, what I can foresee is that when the application is in production, there will be few (maybe none) configuration changes. So the XML files stay unchanged anyways and beats the no-need-to-re-compile logic!
And yes, Client wants to shift to the latest and greatest of Spring and Hibernate. So just giving them new third party jars packaged with the application without introducing the usage of the new features, seem to be irrelevant!
So how do I balance both ends and decide, keeping the developers at ease during development phase? Will it be a good idea to migrate from XMLs to Annotations as a separate developmental activity once the business enhancements are taken care of?
Sorry if I was not able to express myself clearly. Please do revert in that case as well.

LearningCurve wrote:
I have to decide whether to move ahead and use Annotations for an application for a major enhancement task.
XML configurations can be replaced with annotations for the following items:
1. Spring related (EJB configurations, bean configurations (layers of dependent java classes getting injected))
2. Hibernate related (getting rid of HBM XMLs)
But, developers are not that keen to move ahead with the annotation thing, since during development they will have to re-compile every time there is a minor configuration change.Sounds like idiocy to me.
First when I work on my computer nothing gets changed, period, until I decide to change. Thus I don't need to 'rebuild' anything because of some other change until I decide it is appropriate.
Second I commonly rebuild everything from scratch for every single build. I simply do not trust the dependency checking system. And it is isn't like I am running on a 286 with 640k of memory. Builds often run so fast that I sometimes need to rebuild several times because I looked away momentarily and when I looked back the build is finished and I am not sure I started it.
Third, what sort of "minor" change will require a rebuild every time such that it isn't accompanied by code changes as well? It is a 'minor' change to add a new column to the database but if the developer is updating to the code that uses that then they should be updating the database as well, and I can't imagine that taking less time than a complete rebuild.
Fourth sounds like a bunch of cowboy programmers that like to stick their fingers in everything. Certainly where I have worked someone (me) would be solely responsible for the database layer. I wouldn't be making a "minor" change that didn't have code and database impacts.
And yes, Client wants to shift to the latest and greatest of Spring and Hibernate. So just giving them new third party jars packaged with the application without introducing the usage of the new features, seem to be irrelevant!
That isn't a reason. With no other requirement than "let it be new" that isn't point in favor. If the client is going to be actively messing with the code of the system then someone better looking into understanding exactly what it is that the client expects to be delivered.

Similar Messages

  • Annotations instead of XML

    This is going to be a total newbie question, so it might be downright absurd...
    Can I use annotations instead of XML with JSF? Namely, I need to know about the following:
    <navigation-rule>
       <navigation-case>
          <from-outcome>example</from-outcome>
          <to-view-id>/jsp/example.jsp</to-view-id>
          <redirect/>
       </navigation-case>
    </navigation-rule>What annotation could I replace this with, and where should I put it?
    Also, and perhape more importatnly, is there a book you would recommend to a total newbie who wishes to learn JSF and strongly favors annotations over XML configs?
    Thanks

    JSF 1.2 doesn't provide any standard annotations for configuration of any JSF-based artifacts.
    As far as JSF-addons that provide annotation support for configuration, I'm only aware of
    [Shale Tiger Extensions|http://shale.apache.org/shale-tiger/index.html] , but it only supports a subset of the artifacts JSF offers.
    JSF 2.0 may offer such features.

  • XDB annotations on complex XML Schema

    I am currently testing this in 11gr2 Express, while I wait for our DBA to upgrade our main AIX dev instance to 11gr2 enterprise edition.
    I have a fairly complex xmlschema, provided by the IPTC and trying to annotate it to override some of the default sqltype mappings, but running into problems with how/where to annotate.
    From what I have learned so far, annotations to override the sqltype mappings can only be done on complexType and simpleTypes. ComplexTypes must map to a sql object type, and simpleTypes map to a basic atomic sqlType.
    How would you handle an instance where a complex type extends an xs:string.. but need to have this string map to a CLOB and not a varchar2(4000)?
    <xs:element name="inlineData">
                                                      <xs:annotation>
                                                           <xs:documentation>A rendition of the content using plain-text or encoded inline data</xs:documentation>
                                                      </xs:annotation>
                                                      <xs:complexType>
                                                           <xs:simpleContent>
                                                                <xs:extension base="xs:string">
                                                                     <xs:attributeGroup ref="newsContentAttributes" />
                                                                     <xs:attributeGroup ref="newsContentTypeAttributes" />
                                                                     <xs:attribute name="encoding" type="QCodeType">
                                                                          <xs:annotation>
                                                                               <xs:documentation>The encoding applied to the content before inclusion</xs:documentation>
                                                                          </xs:annotation>
                                                                     </xs:attribute>
                                                                     <xs:attributeGroup ref="newsContentCharacteristics" />
                                                                     <xs:attributeGroup ref="i18nAttributes" />
                                                                     <xs:anyAttribute namespace="##other" processContents="lax" />
                                                                </xs:extension>
                                                           </xs:simpleContent>
                                                      </xs:complexType>
                                                 </xs:element>Adding the xdb: mapUnboundedStringToLob annotation to element "inlineData" fails... not valid... and can't add it to the extension either.. so would a viable valid option in this case, be to create a simpleType, call it say "LargeStringToClob"..with a restriction of type xs:String... then annotate this simpleType to map it to a CLOB.
    Then change the inlineData element extension from xs:string to "LargeStringToClob" ? I plan to use an XMLType column with BinaryXML storage...
    I was hoping to not have to modify the xml schema too much, but I guess its to be expected when trying to map it into Oracle.
    I am faced with a similar issue when trying to annotate for Timestamp with time zone...
    some elements are declared as unions of other types. From what I have read, Oracle maps these to varchar2(4000)
    Example:
    <xs:simpleType name="DateOptTimeType">
              <xs:annotation>
                   <xs:documentation>The type of a date (required) and a time (optional).</xs:documentation>
              </xs:annotation>
              <xs:union memberTypes="xs:date xs:dateTime" />
         </xs:simpleType>Even though this is a simpleType... I cannot annotate it to map it to a TimeStamp with Timezone ... would I have to again... create simpleTypes for each of the memberTypes in the union, annotate each one to map to Timestampt with time zone.. then use these new simpleTypes in the union?
    Thanks for any tips or advice!

    odie_63 wrote:
    so if using Binary XML, you are stuck with what Oracle gives you? for instance, the inlineData element is an unbounded string in the schema... Oracle maps it to varchar2(4000).No, Binary XML stores data differently.
    Consider this simple example :
    SQL> begin
    2   dbms_xmlschema.registerSchema(
    3   schemaURL => 'test.xsd',
    4   schemaDoc => '<?xml version="1.0"?>
    5  <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xdb="http://xmlns.oracle.com/xdb">
    6  <xs:element name="note" xdb:defaultTable="NOTES_TABLE">
    7    <xs:complexType>
    8      <xs:sequence>
    9        <xs:element name="content" type="xs:string"/>
    10        <xs:element name="dt" type="xs:dateTime"/>
    11      </xs:sequence>
    12    </xs:complexType>
    13  </xs:element>
    14  </xs:schema>',
    15   local => true,
    16   genTypes => false,
    17   genTables => false,
    18   enableHierarchy => dbms_xmlschema.ENABLE_HIERARCHY_NONE,
    19   options => dbms_xmlschema.REGISTER_BINARYXML
    20   );
    21  end;
    22  /
    PL/SQL procedure successfully completed
    SQL> CREATE TABLE notes_table OF XMLTYPE
    2  XMLTYPE STORE AS binary xml
    3  XMLSCHEMA "test.xsd"
    4  ELEMENT "note"
    5  ;
    Table created
    SQL> insert into notes_table values(xmltype(
    2  '<note>
    3  <content>'||lpad(to_clob('X'),8000,'X')||'</content>
    4  <dt>2011-11-16T11:56:23+01:00</dt>
    5  </note>'));
    1 row inserted
    SQL> select x.dt
    2       , x.content
    3       , length(x.content)
    4  from notes_table t
    5     , xmltable('/note' passing t.object_value
    6       columns dt      timestamp with time zone  path 'dt'
    7             , content clob                      path 'content'
    8       ) x
    9  ;
    DT                                CONTENT                                                                          LENGTH(X.CONTENT)
    16/11/11 11:56:23,000000 +01:00   XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX              8000No issue in storing large strings.Very cool... that works... .. the string limit exceeded expcetion I got earlier was no fault to Binary XML.. but me pasting in too much text in SQLDeveloper insert statement.
    I think I may have been on this for too long... brain is getting fuzzy ;-)
    The approach you outline shows promise and I will go with BinaryXML storage option.
    I need to decide whether to use virtual columns or non-trivial columns at this point, to enforce integrity constraints and possibly some partitioning. We do have a few relational lookup tables to tie into this as well... and will also need to implement VPD.

  • JPA - generate orm.xml from existing JPA annotations

    Hi,
    Is there any tool which can be used to generate the orm.xml file from existing JPA java annotated source files?
    Thank you,
    Virgil

    Yes. Map some of the classes with JPA annotations or orm.xml, for the other leave them unmapped, and don't list them in your persistence.xml. Then in a SessionCustomizer you can load your native EclipseLink project.xml file using the XMLProjectReader, and then manually add the descriptors from the Project to the JPA EclipseLink Session using DatabaseSession.addDescriptors(Project).

  • Maven giving "annotations are not supported in -source 1.3" for  @Entity

    I m using maven for spring, hibernate with jpa . When i m running comman "mvn clean install" ,it is giving error in compilation of a bean class which is using jpa annotations.The error is :
    annotations are not supported in -source 1.3
    (use -source 5 or higher to enable annotations)
    @Entity
    Pom.xml is as below :
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.niit.core</groupId>
    <artifactId>Spring3Example</artifactId>
    <packaging>jar</packaging>
    <version>1.0-SNAPSHOT</version>
    <name>Spring3Example</name>
    <url>http://maven.apache.org</url>
    <properties>
    <org.springframework-version>3.1.2.RELEASE</org.springframework-version>
    </properties>
    <repositories>
    <repository>
    <id>JBoss Repo</id>
    <url>https://repository.jboss.org/nexus/content/repositories/thirdparty-releases</url>
    </repository>
    </repositories>
    <build>
    <plugins>
    <plugin>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.0</version>
    </plugin>
    </plugins>
    </build>
    <dependencies>
    <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>${org.springframework-version}</version>
    </dependency>
    <!-- <dependency>
    <groupId>hsqldb</groupId>
    <artifactId>hsqldb</artifactId>
    <version>1.8.0.2</version>
    </dependency>
    -->
    <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>${org.springframework-version}</version>
    </dependency>
    <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>3.8.1</version>
    <scope>test</scope>
    </dependency>
    <dependency>
    <groupId>javax</groupId>
    <artifactId>javaee-api</artifactId>
    <version>6.0</version>
    <scope>provided</scope>
    </dependency>
    <dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-core</artifactId>
    <version>3.6.10.Final</version>
    </dependency>
    <dependency>
    <groupId>org.hibernate.java-persistence</groupId>
    <artifactId>jpa-api</artifactId>
    <version>2.0-cr-1</version>
    </dependency>
    <dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-entitymanager</artifactId>
    <version>3.5.0-Beta-2</version>
    </dependency>
    <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>2.5</version>
    </dependency>
    </dependencies>
    </project>
    And class is as below :
    package com.niit.form;
    import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.GeneratedValue;
    import javax.persistence.Id;
    import javax.persistence.Table;
    @Entity
    @Table(name="CONTACTS")
    public class Contact {
    @Id
    @Column(name="ID")
    @GeneratedValue
    private Integer id;
    @Column(name="FIRSTNAME")
    private String firstname;
    public String getFirstname() {
    return firstname;
    public void setFirstname(String firstname) {
    this.firstname = firstname;
    public void setLastname(String lastname) {
    this.lastname = lastname;
    public Integer getId() {
    return id;
    public void setId(Integer id) {
    this.id = id;
    }

    java version is 1.6.0_24
    There is no settings.xml in users/.m2
    I think , maven is using default settings.xml which is in M2_HOME\conf which has everything commented as below:
    <?xml version="1.0" encoding="UTF-8"?>
    <!--
    Licensed to the Apache Software Foundation (ASF) under one
    or more contributor license agreements. See the NOTICE file
    distributed with this work for additional information
    regarding copyright ownership. The ASF licenses this file
    to you under the Apache License, Version 2.0 (the
    "License"); you may not use this file except in compliance
    with the License. You may obtain a copy of the License at
    http://www.apache.org/licenses/LICENSE-2.0
    Unless required by applicable law or agreed to in writing,
    software distributed under the License is distributed on an
    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    KIND, either express or implied. See the License for the
    specific language governing permissions and limitations
    under the License.
    -->
    <!--
    | This is the configuration file for Maven. It can be specified at two levels:
    |
    | 1. User Level. This settings.xml file provides configuration for a single user,
    | and is normally provided in $HOME/.m2/settings.xml.
    |
    | NOTE: This location can be overridden with the system property:
    |
    | -Dorg.apache.maven.user-settings=/path/to/user/settings.xml
    |
    | 2. Global Level. This settings.xml file provides configuration for all maven
    | users on a machine (assuming they're all using the same maven
    | installation). It's normally provided in
    | ${maven.home}/conf/settings.xml.
    |
    | NOTE: This location can be overridden with the system property:
    |
    | -Dorg.apache.maven.global-settings=/path/to/global/settings.xml
    |
    | The sections in this sample file are intended to give you a running start at
    | getting the most out of your Maven installation. Where appropriate, the default
    | values (values used when the setting is not specified) are provided.
    |
    |-->
    <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
    <!-- localRepository
    | The path to the local repository maven will use to store artifacts.
    |
    | Default: ~/.m2/repository
    <localRepository>/path/to/local/repo</localRepository>
    -->
    <!-- interactiveMode
    | This will determine whether maven prompts you when it needs input. If set to false,
    | maven will use a sensible default value, perhaps based on some other setting, for
    | the parameter in question.
    |
    | Default: true
    <interactiveMode>true</interactiveMode>
    -->
    <!-- offline
    | Determines whether maven should attempt to connect to the network when executing a build.
    | This will have an effect on artifact downloads, artifact deployment, and others.
    |
    | Default: false
    <offline>false</offline>
    -->
    <!-- pluginGroups
    | This is a list of additional group identifiers that will be searched when resolving plugins by their prefix, i.e.
    | when invoking a command line like "mvn prefix:goal". Maven will automatically add the group identifiers
    | "org.apache.maven.plugins" and "org.codehaus.mojo" if these are not already contained in the list.
    |-->
    <pluginGroups>
    <!-- pluginGroup
    | Specifies a further group identifier to use for plugin lookup.
    <pluginGroup>com.your.plugins</pluginGroup>
    -->
    </pluginGroups>
    <!-- proxies
    | This is a list of proxies which can be used on this machine to connect to the network.
    | Unless otherwise specified (by system property or command-line switch), the first proxy
    | specification in this list marked as active will be used.
    |-->
    <proxies>
    <!-- proxy
    | Specification for one proxy, to be used in connecting to the network.
    |
    <proxy>
    <id>optional</id>
    <active>true</active>
    <protocol>http</protocol>
    <username>proxyuser</username>
    <password>proxypass</password>
    <host>proxy.host.net</host>
    <port>80</port>
    <nonProxyHosts>local.net|some.host.com</nonProxyHosts>
    </proxy>
    -->
    </proxies>
    <!-- servers
    | This is a list of authentication profiles, keyed by the server-id used within the system.
    | Authentication profiles can be used whenever maven must make a connection to a remote server.
    |-->
    <servers>
    <!-- server
    | Specifies the authentication information to use when connecting to a particular server, identified by
    | a unique name within the system (referred to by the 'id' attribute below).
    |
    | NOTE: You should either specify username/password OR privateKey/passphrase, since these pairings are
    | used together.
    |
    <server>
    <id>deploymentRepo</id>
    <username>repouser</username>
    <password>repopwd</password>
    </server>
    -->
    <!-- Another sample, using keys to authenticate.
    <server>
    <id>siteServer</id>
    <privateKey>/path/to/private/key</privateKey>
    <passphrase>optional; leave empty if not used.</passphrase>
    </server>
    -->
    </servers>
    <!-- mirrors
    | This is a list of mirrors to be used in downloading artifacts from remote repositories.
    |
    | It works like this: a POM may declare a repository to use in resolving certain artifacts.
    | However, this repository may have problems with heavy traffic at times, so people have mirrored
    | it to several places.
    |
    | That repository definition will have a unique id, so we can create a mirror reference for that
    | repository, to be used as an alternate download site. The mirror site will be the preferred
    | server for that repository.
    |-->
    <mirrors>
    <!-- mirror
    | Specifies a repository mirror site to use instead of a given repository. The repository that
    | this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used
    | for inheritance and direct lookup purposes, and must be unique across the set of mirrors.
    |
    <mirror>
    <id>mirrorId</id>
    <mirrorOf>repositoryId</mirrorOf>
    <name>Human Readable Name for this Mirror.</name>
    <url>http://my.repository.com/repo/path</url>
    </mirror>
    -->
    </mirrors>
    <!-- profiles
    | This is a list of profiles which can be activated in a variety of ways, and which can modify
    | the build process. Profiles provided in the settings.xml are intended to provide local machine-
    | specific paths and repository locations which allow the build to work in the local environment.
    |
    | For example, if you have an integration testing plugin - like cactus - that needs to know where
    | your Tomcat instance is installed, you can provide a variable here such that the variable is
    | dereferenced during the build process to configure the cactus plugin.
    |
    | As noted above, profiles can be activated in a variety of ways. One way - the activeProfiles
    | section of this document (settings.xml) - will be discussed later. Another way essentially
    | relies on the detection of a system property, either matching a particular value for the property,
    | or merely testing its existence. Profiles can also be activated by JDK version prefix, where a
    | value of '1.4' might activate a profile when the build is executed on a JDK version of '1.4.2_07'.
    | Finally, the list of active profiles can be specified directly from the command line.
    |
    | NOTE: For profiles defined in the settings.xml, you are restricted to specifying only artifact
    | repositories, plugin repositories, and free-form properties to be used as configuration
    | variables for plugins in the POM.
    |
    |-->
    <profiles>
    <!-- profile
    | Specifies a set of introductions to the build process, to be activated using one or more of the
    | mechanisms described above. For inheritance purposes, and to activate profiles via <activatedProfiles/>
    | or the command line, profiles have to have an ID that is unique.
    |
    | An encouraged best practice for profile identification is to use a consistent naming convention
    | for profiles, such as 'env-dev', 'env-test', 'env-production', 'user-jdcasey', 'user-brett', etc.
    | This will make it more intuitive to understand what the set of introduced profiles is attempting
    | to accomplish, particularly when you only have a list of profile id's for debug.
    |
    | This profile example uses the JDK version to trigger activation, and provides a JDK-specific repo.
    <profile>
    <id>jdk-1.4</id>
    <activation>
    <jdk>1.4</jdk>
    </activation>
    <repositories>
    <repository>
    <id>jdk14</id>
    <name>Repository for JDK 1.4 builds</name>
    <url>http://www.myhost.com/maven/jdk14</url>
    <layout>default</layout>
    <snapshotPolicy>always</snapshotPolicy>
    </repository>
    </repositories>
    </profile>
    -->
    <!--
    | Here is another profile, activated by the system property 'target-env' with a value of 'dev',
    | which provides a specific path to the Tomcat instance. To use this, your plugin configuration
    | might hypothetically look like:
    |
    | ...
    | <plugin>
    | <groupId>org.myco.myplugins</groupId>
    | <artifactId>myplugin</artifactId>
    |
    | <configuration>
    | <tomcatLocation>${tomcatPath}</tomcatLocation>
    | </configuration>
    | </plugin>
    | ...
    |
    | NOTE: If you just wanted to inject this configuration whenever someone set 'target-env' to
    | anything, you could just leave off the <value/> inside the activation-property.
    |
    <profile>
    <id>env-dev</id>
    <activation>
    <property>
    <name>target-env</name>
    <value>dev</value>
    </property>
    </activation>
    <properties>
    <tomcatPath>/path/to/tomcat/instance</tomcatPath>
    </properties>
    </profile>
    -->
    </profiles>
    <!-- activeProfiles
    | List of profiles that are active for all builds.
    |
    <activeProfiles>
    <activeProfile>alwaysActiveProfile</activeProfile>
    <activeProfile>anotherAlwaysActiveProfile</activeProfile>
    </activeProfiles>
    -->
    </settings>

  • Annotations missing from toplink.jar

    The download of Toplink 11g includes the toplink.jar along with a few other jar files and a source .zip file. The toplink.jar does not include the oracle.toplink.annotations package which is necessary to use the @Convert and @Converter annotations for working with datatypes Toplink does not already understand. These classes are included in the source distribution. Am I missing something? Do I need to build the jar file from source to get the annotations package or is this available in another jar file?
    Thanks,
    Scott Akins

    The TopLink 11g release has a toplink.jar which delivers native ORM/OXM/EIS functionality focused on backwards compatibility with previous releases (uses the oracle.toplink.* packaging).
    The release also includes the EclipseLink libraries where all of the annotation support is delivered focused on implementing JPA with annotations and extended XML configuration. If you want to use JPA and our advanced annotations you should be using the included EclipseLink library.
    Doug

  • How to alter xml output of SOAP reponse

    Hi,
    I’m using Axis2 to provide a web service, but it would helpful if I could customize the SOAP response.
    Right now I’m getting the response as mentioned below, But I have to eliminate the tags <ns:getReportDetailsResponse> and <ns:return>
    <ns:getReportDetailsResponse xmlns:ns="https://xyz.com/xyz-ws/xsd">
    <ns:return>
    <root>
    </root>
    </ns:return>
    </ns:getReportDetailsResponse>
    Does anybody have idea about how to do it?
    Thanks in advance!
    i have added wsdl, xsd, and service.xml details below,
    <!--------------------------------------------------------------DataService.wsdl------------------------------------------------------------------------------>
    <?xml version="1.0" encoding="UTF-8"?>
    <wsdl:definitions xmlns:sws="https://xyz.com/xyz-ws" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:ns="https://xyz.com/xyz-ws/xsd" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:swr="https://xyz.com/xyz-ws/schemas/xyzwsResponse" targetNamespace="https://xyz.com/xyz-ws">
         <wsdl:types>
              <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="https://xyz.com/xyz-ws/xsd">
                   <xs:element name="getReportDetails">
                        <xs:complexType>
                             <xs:sequence>
                                  <xs:element name="eid" nillable="true" type="xs:string"/>
                             <xs:element name="userName" nillable="true" type="xs:string"/>
                             <xs:element name="dataSample" nillable="true" type="xs:string"/>
                             <xs:element name="sampleDef" nillable="true" type="xs:string"/>
                                  <xs:element name="reportType" nillable="true" type="xs:string"/>
                             </xs:sequence>
                        </xs:complexType>
                   </xs:element>
              </xs:schema>               
         </wsdl:types>
         <wsdl:message name="getReportDetailsMessage">
              <wsdl:part name="part1" element="ns:getReportDetails"/>
         </wsdl:message>
         <wsdl:portType name="DataServicePortType">
              <wsdl:operation name="getReportDetails">
                   <wsdl:input message="sws:getReportDetailsMessage" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" wsaw:Action="ns:getReportDetails"/>
                   <wsdl:output message="sws:ResponseMessage" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" wsaw:Action="ns:getReportDetails"/>
              </wsdl:operation>
         </wsdl:portType>
         <wsdl:binding name="DataServiceSOAP11Binding" type="sws:DataServicePortType">
              <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
              <wsdl:operation name="getReportDetails">
                   <soap:operation soapAction="ns:getReportDetails" style="document"/>
                   <wsdl:input>
                        <soap:body use="literal"/>
                   </wsdl:input>
                   <wsdl:output>
                        <soap:body use="literal"/>
                   </wsdl:output>
              </wsdl:operation>     
         </wsdl:binding>
         <wsdl:binding name="DataServiceSOAP12Binding" type="sws:DataServicePortType">
              <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
              <wsdl:operation name="getReportDetails">
                   <soap12:operation soapAction="ns:getReportDetails" style="document"/>
                   <wsdl:input>
                        <soap12:body use="literal"/>
                   </wsdl:input>
                   <wsdl:output>
                        <soap12:body use="literal"/>
                   </wsdl:output>
              </wsdl:operation>
         </wsdl:binding>
         <wsdl:service name="DataService">
              <wsdl:port name="DataServiceSOAP11port" binding="sws:DataServiceSOAP11Binding">
                   <soap:address location="https://xyz.com/xyz-ws/services/DataService"/>
              </wsdl:port>
              <wsdl:port name="DataServiceSOAP12port" binding="sws:DataServiceSOAP12Binding">
                   <soap12:address location="https://xyz.com/xyz-ws/services/DataService"/>
              </wsdl:port>
         </wsdl:service>
    </wsdl:definitions>          
    <!--------------------------------------------------------------service.xml---------------------------------------------------------------------------------->
    <service name="DataService" targetNamespace="https://localhost:8080/xyz-ws/schemas/xyzwsResponse" >
    <description>xyz web services</description>
    <parameter name="ServiceObjectSupplier" locked="false">
    org.apache.axis2.extensions.spring.receivers.SpringServletContextObjectSupplier
    </parameter>
    <parameter name="SpringBeanName" locked="false">axis2ServiceEndpoint</parameter>
    <operation name="getReportDetails" />
    <messageReceivers>
    <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
    class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/>
    <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
    class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
    </messageReceivers>
    </service>
    <!--------------------------------------------------------------xyzWSResponse.xsd---------------------------------------------------------------------------------->
    <?xml version="1.0" encoding="UTF-8"?>
    <xsd:schema xmlns:dop="https://localhost:8080/xyz-ws/schemas/xyzwsResponse" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="https://localhost:8080/xyz-ws/schemas/xyzwsResponse">
         <xsd:annotation>
              <xsd:documentation xml:lang="eng">Output XML schema </xsd:documentation>
         </xsd:annotation>
         <xsd:element name="root">
              <xsd:complexType>
                   <xsd:sequence>
                        <xsd:element name="dataC" type="dop:DataContextType" minOccurs="0"/>
                        <xsd:element name="meta" type="dop:MetadataType"/>
                        <xsd:element name="cData" type="dop:DataType" minOccurs="0" maxOccurs="unbounded"/>
                   </xsd:sequence>
              </xsd:complexType>
         </xsd:element>
         <xsd:complexType name="MetadataType">
         </xsd:complexType>     
    </xsd:schema>

    Ranjit_d wrote:
    Hi,
    I’m using Axis2 to provide a web service, but it would helpful if I could customize the SOAP response.You have use Axis handlers to customize the response of a web service. Write a Axis handler and then configure it in the outflow. Here is guide to write handlers.

  • XML PDS Error 63001

    I developed a Report which proces an XML document based on the following schema:
    <?xml version="1.0" encoding="UTF-8"?>
    <xsd:schema targetNamespace="http://palaciohierro.com.mx/mde/ebre"
    xmlns="http://palaciohierro.com.mx/mde/ebre"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:phtypes="http://palaciohierro.com.mx/mde/phtypes"
    elementFormDefault="qualified">
         <xsd:import namespace="http://palaciohierro.com.mx/mde/phtypes"
         schemaLocation="http://serreg2.palaciohierro.com.mx:8888/mdews/schema/services-types.xsd"/>
         <xsd:annotation>
              <xsd:documentation xml:lang="es">
    Esquema de respuesta de busqueda de eventos para la Mesa de Eventos Web
    Copyright 2002 palaciodehierro.com.mx. Todos los derechos reservados.
    </xsd:documentation>
         </xsd:annotation>
         <xsd:element name="evento-busqueda-respuesta">
              <xsd:complexType>
                   <xsd:complexContent>
                        <xsd:extension base="erType">
                             <xsd:attributeGroup ref="phtypes:servicioIdGroup"/>
                        </xsd:extension>
                   </xsd:complexContent>
              </xsd:complexType>
              <xsd:unique name="id_busqueda">
                   <xsd:selector xpath="busqueda"/>
                   <xsd:field xpath="@id_busqueda"/>
              </xsd:unique>
         </xsd:element>
         <xsd:complexType name="erType">
              <xsd:annotation>
                   <xsd:documentation>respuesta de busqueda de eventos</xsd:documentation>
              </xsd:annotation>
              <xsd:sequence>
                   <xsd:element name="busqueda" type="busquedaType" maxOccurs="unbounded"/>
              </xsd:sequence>
         </xsd:complexType>
         <xsd:complexType name="busquedaType">
              <xsd:annotation>
                   <xsd:documentation>evento</xsd:documentation>
              </xsd:annotation>
              <xsd:sequence>
                   <xsd:element name="evento" type="eventoType" minOccurs="0"/>
              </xsd:sequence>
              <xsd:attribute name="id_busqueda" type="phtypes:identifierType" use="required"/>
              <xsd:attribute name="encontrado" type="xsd:boolean" use="optional" default="true"/>
              <xsd:attribute name="comentario" type="phtypes:comentarioType" use="optional"/>
         </xsd:complexType>
         <xsd:complexType name="eventoType">
              <xsd:annotation>
                   <xsd:documentation>datos del evento</xsd:documentation>
              </xsd:annotation>
              <xsd:sequence>
                   <xsd:element name="organizador" type="organizadorType" minOccurs="0" maxOccurs="unbounded"/>
                   <xsd:element name="entrega" minOccurs="0" maxOccurs="unbounded">
                        <xsd:complexType>
                             <xsd:complexContent>
                                  <xsd:extension base="domicilioType">
                                       <xsd:sequence>
                                            <xsd:element name="persona" type="phtypes:personaType" minOccurs="0" maxOccurs="unbounded"/>
                                       </xsd:sequence>
                                  </xsd:extension>
                             </xsd:complexContent>
                        </xsd:complexType>
                   </xsd:element>
              </xsd:sequence>
              <xsd:attribute name="id_evento" type="phtypes:identifierType" use="required"/>
              <xsd:attribute name="numero" type="phtypes:identifierType" use="optional"/>
              <xsd:attribute name="envoltura" type="xsd:string" use="optional"/>
              <xsd:attribute name="usuario" type="xsd:string" use="required"/>
              <xsd:attribute name="tipo_evento" type="xsd:string" use="required"/>
              <xsd:attribute name="tipo_cliente" type="xsd:string" use="required"/>
              <xsd:attribute name="tienda" type="xsd:positiveInteger" use="required"/>
              <xsd:attribute name="plan" type="xsd:string" use="optional"/>
              <xsd:attribute name="fecha_evento" type="xsd:date" use="required"/>
              <xsd:attribute name="fecha_registro" type="xsd:date" use="required"/>
              <xsd:attribute name="fecha_lista" type="xsd:date" use="optional"/>
              <xsd:attribute name="fecha_cierre" type="xsd:date" use="optional"/>
              <xsd:attribute name="estado" type="phtypes:estadoEventoType" use="optional"/>
              <xsd:attribute name="com_general" type="xsd:string" use="optional"/>
              <xsd:attribute name="com_envio" type="xsd:string" use="optional"/>
              <xsd:attribute name="NIP" type="xsd:string" use="optional"/>
              <xsd:attribute name="VIP" type="xsd:boolean" use="optional" default="false"/>
         </xsd:complexType>
         <xsd:complexType name="organizadorType">
              <xsd:annotation>
                   <xsd:documentation>datos del organizador</xsd:documentation>
              </xsd:annotation>
              <xsd:complexContent>
                   <xsd:extension base="phtypes:personaType">
    <xsd:attribute name="id_participante" type="phtypes:identifierType" use="required"/>
              <xsd:attribute name="tipo" type="xsd:string" use="required"/>
                   </xsd:extension>
              </xsd:complexContent>
         </xsd:complexType>
    <xsd:complexType name="entregaType">
              <xsd:annotation>
                   <xsd:documentation>domicilio de entrega de regalos</xsd:documentation>
              </xsd:annotation>
              <xsd:sequence>
                   <xsd:element name="domicilio" type="domicilioType" minOccurs="0" maxOccurs="unbounded"/>
              </xsd:sequence>
              <xsd:attribute name="tipo" type="xsd:string" use="required"/>
              <xsd:attribute name="nombre" type="xsd:string" use="required"/>
         </xsd:complexType>
    <xsd:complexType name="domicilioType">
              <xsd:annotation>
                   <xsd:documentation>datos del domicilio</xsd:documentation>
              </xsd:annotation>
              <xsd:complexContent>
                   <xsd:extension base="phtypes:domicilioType">
                        <xsd:attribute name="id_domicilio" type="phtypes:identifierType" use="required"/>
                   </xsd:extension>
              </xsd:complexContent>
         </xsd:complexType>
    </xsd:schema>
    after setting both the schema and the XML document I want the Report to be based on, I get the following error:
    ERROR 63001: Invalid stream in the URL address of the data definition http://myserver:8888/myapp/evento-estadocuenta-respuesta.xsd eventoType.
    Are there any restrictions on the schema that the XML Reports PDS can process?
    Where could I find documentation on this isssues?
    Thanks,
    Fedro

    Indeed, I have found that no xsd includes and complex types will work. There's a faint mention of this in the Report's Realease Notes, but nothing complete and thorough.
    I have found that only the simpliest XML schemas with no custom types and (only a few elements of simple types will work). And also, a simple File-Row-column XML layout will work.
    It seems to me that the XML PDS is still a newborn, and a lot of work still needs to be done to be practical and useful... long way to get something like FOP.
    Well, the whole idea of having a web service which will feed XML docs to both parties and Report's services will have to stay in the oven a little longer (or may be not so little).
    Thanks anyway,
    Fedro

  • SELECT on XML DB Table works for Schema owner, not for Schema user

    Hi,
    We are working on Oracle 10.2.0.3 under HP-UX.
    We get ORA-01031: Insufficient Privileges when trying to execute Query
    on Oracle XMLDB Table by Schema User
    Here are detailed steps:
    1) We have 2 users: CDROWNER (Schema Owner)
    CDRJAVA (Schema User)
    2) login as CDROWNER and execute following:
    3) Register 2 XSDs (Common is used by CorridorRate)
    Common.xsd:
    <?xml version="1.0" encoding="utf-8"?>
    <!-- edited with XMLSpy v2008 sp1 (http://www.altova.com) by Kent Williamson (OOCL (USA) INC) -->
    <xsd:schema xmlns="http://com.oocl.schema.tnm.agreementbuilder" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xdb="http://xmlns.oracle.com/xdb" xmlns:tnm="http://com.oocl.schema.tnm" xmlns:common="http://com.oocl.schema.common" xmlns:fwd="http://com.oocl.frm.common.date.dto/" xmlns:customer="http://com.oocl.schema.customer" xmlns:eqm="http://com.oocl.schema.eqm" targetNamespace="http://com.oocl.schema.tnm.agreementbuilder" elementFormDefault="qualified" attributeFormDefault="unqualified" xdb:storeVarrayAsTable="true">
         <xsd:complexType name="NamedCustomer_V1" xdb:SQLType="NAMED_CUSTOMER_T">
              <xsd:annotation>
                   <xsd:documentation>Named customer for the quote</xsd:documentation>
              </xsd:annotation>
              <xsd:sequence>
                   <xsd:element name="SAP_IDS" type="SAPIDCollection_V1" minOccurs="0" xdb:SQLName="SAP_IDS">
                        <xsd:annotation>
                             <xsd:documentation xml:lang="en">
    </xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="BookingConditions" type="xsd:string" minOccurs="0" xdb:SQLName="BOOKING_CONDITIONS"/>
                   <xsd:element name="BLConditions" type="xsd:int" xdb:SQLName="BL_CONDITIONS"/>
              </xsd:sequence>
         </xsd:complexType>
         <xsd:complexType name="Attachment_V1" xdb:SQLType="ATTACHMENT_T">
              <xsd:annotation>
                   <xsd:documentation>Quote attachment</xsd:documentation>
              </xsd:annotation>
              <xsd:sequence>
                   <xsd:element name="Url" type="xsd:string" minOccurs="0" xdb:SQLName="ATTACH_URL"/>
                   <xsd:element name="Text" type="xsd:string" minOccurs="0" xdb:SQLName="ATTACH_TEXT"/>
              </xsd:sequence>
         </xsd:complexType>
         <xsd:complexType name="SentOfferingRecord_V1" xdb:SQLType="SENT_OFFERING_RECORD_T">
              <xsd:annotation>
                   <xsd:documentation>Record of quote sending out to customer</xsd:documentation>
              </xsd:annotation>
              <xsd:sequence>
                   <xsd:element name="TimeSent" type="xsd:string" minOccurs="0" xdb:SQLName="TIME_SENT"/>
                   <xsd:element name="UserName" type="xsd:string" minOccurs="0" xdb:SQLName="USER_NAME"/>
              </xsd:sequence>
         </xsd:complexType>
         <xsd:complexType name="QuoteFormatSettings_V1" xdb:SQLType="QUOTE_FMT_SETTINGS_T">
              <xsd:annotation>
                   <xsd:documentation>Quote format setting specification</xsd:documentation>
              </xsd:annotation>
              <xsd:sequence>
                   <xsd:element name="TemplateName" type="xsd:string" minOccurs="0" xdb:SQLName="TEMPLATE_NAME">
                        <xsd:annotation>
                             <xsd:documentation>predefined format template</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="OptionalContentIDs" type="StringWrapper_V1" minOccurs="0" maxOccurs="unbounded" xdb:SQLName="OPTIONAL_CONTENTS" xdb:SQLCollType="OPTIONAL_CONTENT_V">
                        <xsd:annotation>
                             <xsd:documentation>optional contents</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="StandardRemarkIDs" type="IDWrapper_V1" minOccurs="0" maxOccurs="unbounded" xdb:SQLName="STANDARD_REMARKS" xdb:SQLCollType="STANDARD_REMARK_V">
                        <xsd:annotation>
                             <xsd:documentation>standard remarks specified by each region/office</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="StandardDisclaimerID" type="ID_LongNumeric_V1" minOccurs="0" xdb:SQLName="STANDARD_DISCLAIMER">
                        <xsd:annotation>
                             <xsd:documentation>standard disclaimer specified by each region/office</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="ShowSurcharges" type="ShowSurchargeType_V1" xdb:SQLName="SHOW_SURCHARGES">
                        <xsd:annotation>
                             <xsd:documentation>specifies how surcharges are shown in the offering document, can be show prepaid only, collect only or all</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
              </xsd:sequence>
         </xsd:complexType>
         <xsd:simpleType name="SurchargeCode_V1">
              <xsd:restriction base="xsd:string"/>
         </xsd:simpleType>
         <xsd:simpleType name="ShowSurchargeType_V1">
              <xsd:annotation>
                   <xsd:documentation>Indicator for quote to show prepaid, collect or all surcharges</xsd:documentation>
              </xsd:annotation>
              <xsd:restriction base="xsd:string">
                   <xsd:enumeration value="Prepaid"/>
                   <xsd:enumeration value="Collect"/>
                   <xsd:enumeration value="All"/>
              </xsd:restriction>
         </xsd:simpleType>
         <xsd:complexType name="StandardRemarkAndDisclaimer_V1" xdb:SQLType="STD_REMARK_AND_DISCLAIMER_T">
              <xsd:annotation>
                   <xsd:documentation>Region specific standard remark and disclaimer</xsd:documentation>
              </xsd:annotation>
              <xsd:sequence>
                   <xsd:element name="Id" type="xsd:string" minOccurs="0" xdb:SQLName="STD_REMARK_ID"/>
                   <xsd:element name="Region" type="xsd:string" minOccurs="0" xdb:SQLName="STD_REMARK_REGION"/>
                   <xsd:element name="IsRemark" type="xsd:boolean" xdb:SQLName="IS_REMARK"/>
              </xsd:sequence>
         </xsd:complexType>
         <!-- END Jianming Original XSD -->
         <!-- -->
         <!-- All Simple/Complex Types defined below have been copied from External XSD Files -->
         <!-- -->
         <!-- Complex Wrapper types are needed since 10.2 Oracle XMLDB does not support indexing unbounded simple types -->
         <xsd:complexType name="GeoIDCollection_V1" xdb:SQLType="GEO_ID_COLLECTION_T">
              <xsd:sequence>
                   <xsd:element name="IDWrappers" type="IDWrapper_V1" maxOccurs="unbounded" xdb:SQLName="GEO_ID_WRAPPERS" xdb:SQLCollType="GEO_ID_WRAPPER_V"/>
              </xsd:sequence>
         </xsd:complexType>
         <xsd:complexType name="IDWrapper_V1" xdb:SQLType="ID_WRAPPER_T">
              <xsd:sequence>
                   <xsd:element name="Value" type="ID_LongNumeric_V1" xdb:SQLName="ID_VAL"/>
              </xsd:sequence>
         </xsd:complexType>
         <xsd:complexType name="OfficeCodeCollection_V1" xdb:SQLType="OFFICE_CODE_COLLECTION_T">
              <xsd:sequence>
                   <xsd:element name="StringWrappers" type="StringWrapper_V1" maxOccurs="unbounded" xdb:SQLName="STRING_WRAPPERS" xdb:SQLCollType="OFFICE_CODE_V"/>
              </xsd:sequence>
         </xsd:complexType>
         <xsd:complexType name="SAPIDCollection_V1" xdb:SQLType="SAP_ID_COLLECTION_T">
              <xsd:sequence>
                   <xsd:element name="StringWrappers" type="StringWrapper_V1" maxOccurs="unbounded" xdb:SQLName="STRING_WRAPPERS" xdb:SQLCollType="SAP_ID_V"/>
              </xsd:sequence>
         </xsd:complexType>
         <xsd:complexType name="ServiceLoopCodeCollection_V1" xdb:SQLType="SERVICE_LOOP_CODE_COLLECTION_T">
              <xsd:sequence>
                   <xsd:element name="StringWrappers" type="StringWrapper_V1" maxOccurs="unbounded" xdb:SQLName="STRING_WRAPPERS" xdb:SQLCollType="SERVICE_LOOP_CODE_V"/>
              </xsd:sequence>
         </xsd:complexType>
         <xsd:complexType name="IncludedHSCodeCollection_V1" xdb:SQLType="INCLUDED_HS_CODE_COLLECTION_T">
              <xsd:sequence>
                   <xsd:element name="StringWrappers" type="StringWrapper_V1" maxOccurs="unbounded" xdb:SQLName="STRING_WRAPPERS" xdb:SQLCollType="INCLUDED_HS_CODE_V"/>
              </xsd:sequence>
         </xsd:complexType>
         <xsd:complexType name="StringWrapper_V1" xdb:SQLType="STRING_WRAPPER_T">
              <xsd:sequence>
                   <xsd:element name="Value" xdb:SQLName="STR_VAL">
                        <xsd:simpleType>
                             <xsd:restriction base="xsd:string">
                                  <xsd:maxLength value="256"/>
                             </xsd:restriction>
                        </xsd:simpleType>
                   </xsd:element>
              </xsd:sequence>
         </xsd:complexType>
         <!-- Below copied from tnm.agreementbuilder:GuidelineRateReference_V1.xsd -->
         <xsd:complexType name="GuidelineRateReference_V1">
              <xsd:annotation>
                   <xsd:documentation>Represents a guideline rate containing an ocean rate and up to 4 inland/port arbitrary add-on rates</xsd:documentation>
              </xsd:annotation>
              <xsd:sequence>
                   <xsd:element name="OutboundInlandRate1ID" type="ID_LongNumeric_V1" minOccurs="0">
                        <xsd:annotation>
                             <xsd:documentation>The first outbound inland rate. If present, the location of this rate is always the point of receipt. Otherwise the point of receipt is (one of) the Trunk origin(s). The over location must match with either OB2 Location or Trunk Origin (if OB2 is not present)</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="OutboundInlandRate2ID" type="ID_LongNumeric_V1" minOccurs="0">
                        <xsd:annotation>
                             <xsd:documentation>An optional outbound inland rate. If present, the location must match with the over location of OB1 and the over location of this rate must match with the origin of the Trunk.</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="BaseRateID" type="ID_LongNumeric_V1">
                        <xsd:annotation>
                             <xsd:documentation>The BaseRate = trunk / ocean rate.</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="InboundInlandRate1ID" type="ID_LongNumeric_V1" minOccurs="0">
                        <xsd:annotation>
                             <xsd:documentation>The inbound rate connecting to the destination of the trunk. If there is only one inbound rate (IB2 is not present), then this rate will have the final destination. </xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="InboundInlandRate2ID" type="ID_LongNumeric_V1" minOccurs="0">
                        <xsd:annotation>
                             <xsd:documentation>A second inbound rate which connects to the first inbound rate to arrive at a final destination.</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
              </xsd:sequence>
         </xsd:complexType>
         <!-- Below copied from tnm:AgreementID_V1.xsd -->
         <xsd:simpleType name="AgreementID_V1">
              <xsd:restriction base="xsd:string">
                   <xsd:maxLength value="20"/>
              </xsd:restriction>
         </xsd:simpleType>
         <!-- Below copied from tnm:AgreementStatus_V1.xsd -->
         <xsd:simpleType name="AgreementStatus_V1">
              <xsd:annotation>
                   <xsd:documentation>Agreement Status, like filed, approve, terminated, amend</xsd:documentation>
              </xsd:annotation>
              <xsd:restriction base="xsd:string">
                   <xsd:maxLength value="20"/>
                   <xsd:enumeration value="File"/>
                   <xsd:enumeration value="Filed"/>
                   <xsd:enumeration value="Approve"/>
                   <xsd:enumeration value="Terminated"/>
                   <xsd:enumeration value="New"/>
                   <xsd:enumeration value="Incomplete"/>
                   <xsd:enumeration value="Amend"/>
              </xsd:restriction>
         </xsd:simpleType>
         <!-- Below copied from tnm:AgreementType_V1.xsd -->
         <xsd:simpleType name="AgreementType_V1">
              <xsd:annotation>
                   <xsd:documentation>Agreement type, like CSO, SC, AB</xsd:documentation>
              </xsd:annotation>
              <xsd:restriction base="xsd:string">
                   <xsd:maxLength value="3"/>
                   <xsd:enumeration value="CSO">
                        <xsd:annotation>
                             <xsd:documentation>Customized Service Offering</xsd:documentation>
                        </xsd:annotation>
                   </xsd:enumeration>
                   <xsd:enumeration value="RA">
                        <xsd:annotation>
                             <xsd:documentation>Rate Agreement</xsd:documentation>
                        </xsd:annotation>
                   </xsd:enumeration>
                   <xsd:enumeration value="SVC">
                        <xsd:annotation>
                             <xsd:documentation>Service Agreement</xsd:documentation>
                        </xsd:annotation>
                   </xsd:enumeration>
                   <xsd:enumeration value="SUR">
                        <xsd:annotation>
                             <xsd:documentation>Surcharge Agreement</xsd:documentation>
                        </xsd:annotation>
                   </xsd:enumeration>
                   <xsd:enumeration value="SC">
                        <xsd:annotation>
                             <xsd:documentation>Service Contract</xsd:documentation>
                        </xsd:annotation>
                   </xsd:enumeration>
                   <xsd:enumeration value="TSO">
                        <xsd:annotation>
                             <xsd:documentation>Territorial Customized Service Offering</xsd:documentation>
                        </xsd:annotation>
                   </xsd:enumeration>
                   <xsd:enumeration value="TSA">
                        <xsd:annotation>
                             <xsd:documentation>Territorial Service Agreement</xsd:documentation>
                        </xsd:annotation>
                   </xsd:enumeration>
                   <xsd:enumeration value="AB">
                        <xsd:annotation>
                             <xsd:documentation>Agreement Builder</xsd:documentation>
                        </xsd:annotation>
                   </xsd:enumeration>
              </xsd:restriction>
         </xsd:simpleType>
         <!-- Below copied from tnm:TradeTerm_V1.xsd -->
         <xsd:simpleType name="TradeTerm_V1">
              <xsd:annotation>
                   <xsd:documentation>Trade term</xsd:documentation>
              </xsd:annotation>
              <xsd:restriction base="xsd:string">
                   <xsd:maxLength value="10"/>
                   <xsd:enumeration value="FOB"/>
                   <xsd:enumeration value="CIF"/>
              </xsd:restriction>
         </xsd:simpleType>
         <!-- MODIFIED ABDateTime_V1 to be a simpleType of xsd:dateTime for DB storage -->
         <xsd:simpleType name="ABDateTime_V1">
              <xsd:restriction base="xsd:dateTime"/>
         </xsd:simpleType>
         <!-- Below copied from common:PersonName_V1.xsd -->
         <xsd:complexType name="PersonName_V1" xdb:SQLType="PERSON_NAME_T">
              <xsd:sequence>
                   <xsd:element name="FirstName" minOccurs="0" xdb:SQLName="FIRST_NAME">
                        <xsd:simpleType>
                             <xsd:restriction base="xsd:string"/>
                        </xsd:simpleType>
                   </xsd:element>
                   <xsd:element name="LastName" minOccurs="0" xdb:SQLName="LAST_NAME">
                        <xsd:simpleType>
                             <xsd:restriction base="xsd:string"/>
                        </xsd:simpleType>
                   </xsd:element>
              </xsd:sequence>
         </xsd:complexType>
         <!-- Below copied from common:EmailAddress_V1.xsd -->
         <xsd:complexType name="EmailAddress_V1" xdb:SQLType="EMAIL_ADDRESS_T">
              <xsd:sequence>
                   <xsd:annotation>
                        <xsd:documentation>
                        A common Type for EmailAddress.
                        </xsd:documentation>
                   </xsd:annotation>
                   <xsd:element name="EmailID" type="xsd:string" xdb:SQLName="EMAIL_ID"/>
                   <xsd:element name="EmailType" type="EmailType_V1" default="Unspecified" xdb:SQLName="EMAIL_TYPE"/>
              </xsd:sequence>
         </xsd:complexType>
         <xsd:simpleType name="EmailType_V1">
              <xsd:restriction base="xsd:string">
                   <xsd:enumeration value="Home"/>
                   <xsd:enumeration value="Work"/>
                   <xsd:enumeration value="Unspecified"/>
              </xsd:restriction>
         </xsd:simpleType>
         <!-- Below copied from common:PhoneNumberType_V1.xsd.xsd -->
         <xsd:simpleType name="PhoneNumberType_V1">
              <xsd:annotation>
                   <xsd:documentation xml:lang="en">
                        Type refers to the contact number type associated to the contact number.
                        May include: Business Phone/Fax, Home Phone/Fax, Mobile Phone, Pager, Telex or Unspecified.                         
                   </xsd:documentation>
              </xsd:annotation>
              <xsd:restriction base="xsd:string">
                   <xsd:enumeration value="BusinessPhone"/>
                   <xsd:enumeration value="HomePhone"/>
                   <xsd:enumeration value="BusinessFax"/>
                   <xsd:enumeration value="HomeFax"/>
                   <xsd:enumeration value="MobilePhone"/>
                   <xsd:enumeration value="Pager"/>
                   <xsd:enumeration value="Telex"/>
                   <xsd:enumeration value="Unspecified"/>
              </xsd:restriction>
         </xsd:simpleType>
         <!-- Below copied from common:PhoneNumber_V1.xsd -->
         <xsd:complexType name="PhoneNumber_V1" xdb:SQLType="PHONE_NUMBER_T">
              <xsd:annotation>
                   <xsd:documentation xml:lang="en">
                        PhoneNumber is a common type that defines generic structure of a phone number object.
                   </xsd:documentation>
              </xsd:annotation>
              <xsd:sequence>
                   <xsd:element name="CountryCode" type="xsd:string" minOccurs="0" xdb:SQLName="COUNTRY_CODE">
                        <xsd:annotation>
                             <xsd:documentation xml:lang="en">
                                  CountryCode holds on the country code value.
                             </xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="AreaCode" type="xsd:string" minOccurs="0" xdb:SQLName="AREA_CODE">
                        <xsd:annotation>
                             <xsd:documentation xml:lang="en">
                                  AreaCode holds on the area code value.
                             </xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="Number" type="xsd:string" xdb:SQLName="PHONE_NUMBER">
                        <xsd:annotation>
                             <xsd:documentation xml:lang="en">
                                  Number holds on the number value.
                             </xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="Extension" type="xsd:string" minOccurs="0" xdb:SQLName="PHONE_EXTN">
                        <xsd:annotation>
                             <xsd:documentation xml:lang="en">
                                  Extension holds on the phone number extension, if applicable
                             </xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="Type" type="PhoneNumberType_V1" default="Unspecified" xdb:SQLName="PHONE_NUM_TYPE">
                        <xsd:annotation>
                             <xsd:documentation xml:lang="en">
                                  Type refers to the contact number type associated to the contact number.
                                  May include: Business Phone/Fax, Home Phone/Fax, Mobile Phone, Pager, Telex or Unspecified                         
                                  Default value is Unspecified.
                             </xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
              </xsd:sequence>
         </xsd:complexType>
         <!-- Below copied from common:ContactInformation_V1.xsd -->
         <xsd:complexType name="ContactInformation_V1" xdb:SQLType="CONTACT_INFORMATION_T">
              <xsd:sequence>
                   <xsd:element name="Name" type="PersonName_V1" minOccurs="0" xdb:SQLName="CONTACT_NAME"/>
                   <xsd:element name="EmailAddresses" type="EmailAddress_V1" minOccurs="0" maxOccurs="unbounded" xdb:SQLName="EMAIL_ADDRESSES" xdb:SQLCollType="EMAIL_ADDRESS_V"/>
                   <xsd:element name="PhoneNumbers" type="PhoneNumber_V1" minOccurs="0" maxOccurs="unbounded" xdb:SQLName="PHONE_NUMBERS" xdb:SQLCollType="PHONE_NUMBER_V"/>
              </xsd:sequence>
         </xsd:complexType>
         <!-- Below copied from common:CardinalDirection_V1.xsd -->
         <xsd:simpleType name="CardinalDirectionName_V1">
              <xsd:annotation>
                   <xsd:documentation>A list of voyage name direction.</xsd:documentation>
              </xsd:annotation>
              <xsd:restriction base="xsd:string">
                   <xsd:enumeration value="North"/>
                   <xsd:enumeration value="South"/>
                   <xsd:enumeration value="East"/>
                   <xsd:enumeration value="West"/>
              </xsd:restriction>
         </xsd:simpleType>
         <!-- Below copied from common:CommonRestrictions_V1.xsd -->
         <xsd:simpleType name="ID_LongNumeric_V1">
              <xsd:annotation>
                   <xsd:documentation>Represents Identifier using long as the restriction - with max - 15 digits</xsd:documentation>
              </xsd:annotation>
              <xsd:restriction base="xsd:long"/>
         </xsd:simpleType>
         <!-- Below copied from common:ServiceLoopCode_V1.xsd -->
         <xsd:simpleType name="ServiceLoopCode_V1">
              <xsd:annotation>
                   <xsd:documentation>A simple type that holds on to the service loop code.</xsd:documentation>
              </xsd:annotation>
              <xsd:restriction base="xsd:string">
                   <xsd:maxLength value="4"/>
              </xsd:restriction>
         </xsd:simpleType>
         <!-- Below copied from common:Currency_V1.xsd -->
         <xsd:simpleType name="CurrencyCode_V1">
              <xsd:annotation>
                   <xsd:documentation>A 3 digit currency code string (like USD)</xsd:documentation>
              </xsd:annotation>
              <xsd:restriction base="xsd:string">
                   <xsd:length value="3"/>
              </xsd:restriction>
         </xsd:simpleType>
         <!-- Below copied from tnm:TariffCode_V1.xsd -->
         <xsd:simpleType name="TariffCode_V1">
              <xsd:annotation>
                   <xsd:documentation>tariff code that uniquely identify a tariff</xsd:documentation>
              </xsd:annotation>
              <xsd:restriction base="xsd:string">
                   <xsd:length value="3"/>
              </xsd:restriction>
         </xsd:simpleType>
         <xsd:simpleType name="Global_UUID_V1">
              <xsd:annotation>
                   <xsd:documentation>This is to represent the largest UUID format in the domain. Max. length is 36.</xsd:documentation>
              </xsd:annotation>
              <xsd:restriction base="xsd:string">
                   <xsd:maxLength value="36"/>
              </xsd:restriction>
         </xsd:simpleType>
         <xsd:simpleType name="UUID_V1">
              <xsd:annotation>
                   <xsd:documentation>A system generated uuid in string format. Max. length is 20.</xsd:documentation>
              </xsd:annotation>
              <xsd:restriction base="Global_UUID_V1">
                   <xsd:maxLength value="20"/>
              </xsd:restriction>
         </xsd:simpleType>
         <xsd:simpleType name="CustomerContactRoleType_V1">
              <xsd:restriction base="xsd:string">
                   <xsd:maxLength value="20"/>
                   <xsd:enumeration value="Accounting"/>
                   <xsd:enumeration value="Booking"/>
                   <xsd:enumeration value="Booking_CS"/>
                   <xsd:enumeration value="Documentation"/>
                   <xsd:enumeration value="General"/>
                   <xsd:enumeration value="Operations"/>
                   <xsd:enumeration value="Pricing"/>
                   <xsd:enumeration value="Sales"/>
                   <xsd:enumeration value="Sales_SMM"/>
                   <xsd:enumeration value="Warehouse"/>
              </xsd:restriction>
         </xsd:simpleType>
         <xsd:simpleType name="TradeCode_V1">
              <xsd:annotation>
                   <xsd:documentation>A simple type that holds on to the trade code.</xsd:documentation>
              </xsd:annotation>
              <xsd:restriction base="xsd:string">
                   <xsd:maxLength value="3"/>
              </xsd:restriction>
         </xsd:simpleType>
         <xsd:simpleType name="ShipmentBoundCode_V1">
              <xsd:annotation>
                   <xsd:documentation>A list of shipment bound code.</xsd:documentation>
              </xsd:annotation>
              <xsd:restriction base="xsd:string">
                   <xsd:enumeration value="IB"/>
                   <xsd:enumeration value="OB"/>
              </xsd:restriction>
         </xsd:simpleType>
         <xsd:complexType name="CustomerContactSpecification_V1" xdb:SQLType="CUST_CONTACT_SPEC_T">
              <xsd:sequence>
                   <xsd:element name="ContactSpecUUID" type="UUID_V1" xdb:SQLName="CONTACT_SPEC_UUID"/>
                   <xsd:element name="ContactUUID" type="UUID_V1" xdb:SQLName="CONTACT_UUID"/>
                   <xsd:element name="Role" type="CustomerContactRoleType_V1" xdb:SQLName="CONTACT_ROLE"/>
                   <xsd:element name="SAP_ID" type="SAP_ID_V1" minOccurs="0" xdb:SQLName="CUST_SAP_ID"/>
                   <xsd:element name="TradeCode" type="TradeCode_V1" minOccurs="0" xdb:SQLName="TRADE_CODE"/>
                   <xsd:element name="TradeLaneCode" type="TradeLaneCode_V1" minOccurs="0" xdb:SQLName="TRADE_LANE_CODE"/>
                   <xsd:element name="ServiceLoopCode" type="ServiceLoopCode_V1" minOccurs="0" xdb:SQLName="SERVICE_LOOP_CODE"/>
                   <xsd:element name="ShipmentBoundCode" type="ShipmentBoundCode_V1" minOccurs="0" xdb:SQLName="SHIPMENT_BOUND_CODE"/>
                   <xsd:element name="CommodityGroupCode" type="AlphaCode_V1" minOccurs="0" xdb:SQLName="COMMODITY_GROUP_CODE"/>
              </xsd:sequence>
         </xsd:complexType>
         <xsd:complexType name="CustomerContact_V1" xdb:SQLType="CUSTOMER_CONTACT_T">
              <xsd:annotation>
                   <xsd:documentation xml:lang="en">
                   This defines a contact for a Customer. A customer contact is someone to whom an OOCL sales representative communicates regarding business transactions between OOCL and the Customer.
                   </xsd:documentation>
              </xsd:annotation>
              <xsd:sequence>
                   <xsd:element name="ContactUUID" type="UUID_V1" xdb:SQLName="CONTACT_UUID"/>
                   <xsd:element name="ContactInformation" type="ContactInformation_V1" xdb:SQLName="CONTACT_INFORMATION"/>
                   <xsd:element name="SAP_ID" type="SAP_ID_V1" minOccurs="0" xdb:SQLName="SAP_ID"/>
                   <xsd:element name="Title" minOccurs="0" xdb:SQLName="TITLE">
                        <xsd:simpleType>
                             <xsd:restriction base="xsd:string">
                                  <xsd:maxLength value="35"/>
                             </xsd:restriction>
                        </xsd:simpleType>
                   </xsd:element>
                   <xsd:element name="JobTitle" minOccurs="0" xdb:SQLName="JOB_TITLE">
                        <xsd:simpleType>
                             <xsd:restriction base="xsd:string">
                                  <xsd:maxLength value="35"/>
                             </xsd:restriction>
                        </xsd:simpleType>
                   </xsd:element>
                   <xsd:element name="Department" minOccurs="0" xdb:SQLName="DEPARTMENT">
                        <xsd:simpleType>
                             <xsd:restriction base="xsd:string">
                                  <xsd:maxLength value="35"/>
                             </xsd:restriction>
                        </xsd:simpleType>
                   </xsd:element>
                   <xsd:element name="Specifications" type="CustomerContactSpecification_V1" minOccurs="0" maxOccurs="unbounded" xdb:SQLName="CUST_CONTACT_SPECS" xdb:SQLCollType="CUST_CONTACT_SPEC_V"/>
              </xsd:sequence>
         </xsd:complexType>
         <!-- Below copied from tnm:TradeLaneCode_V1.xsd -->
         <xsd:simpleType name="TradeLaneCode_V1">
              <xsd:annotation>
                   <xsd:documentation>A simple type that holds on to the trade lane code.</xsd:documentation>
              </xsd:annotation>
              <xsd:restriction base="xsd:string">
                   <xsd:maxLength value="3"/>
              </xsd:restriction>
         </xsd:simpleType>
         <xsd:simpleType name="CompanyName_V1">
              <xsd:annotation>
                   <xsd:documentation>Name of a Company
    This is used to denote the information about an organization which may not be a Customer</xsd:documentation>
              </xsd:annotation>
              <xsd:restriction base="xsd:string">
                   <xsd:maxLength value="105"/>
                   <xsd:minLength value="1"/>
              </xsd:restriction>
         </xsd:simpleType>
         <!-- Below copied from CorridorBaseRate_V1.xsd -->
         <xsd:complexType name="CorridorBaseRate_V1" xdb:SQLType="CORRIDOR_BASE_RATE_T">
              <xsd:annotation>
                   <xsd:documentation>Corridor base rate specifications</xsd:documentation>
              </xsd:annotation>
              <xsd:sequence>
                   <xsd:element name="SizeType" type="xsd:string" minOccurs="0" xdb:SQLName="SIZE_TYPE">
                        <xsd:annotation>
                             <xsd:documentation>container sise and type that the rate is applicable</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="Amount" type="xsd:decimal" minOccurs="0" xdb:SQLName="BASE_RATE_AMOUNT">
                        <xsd:annotation>
                             <xsd:documentation>charge amount</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="Currency" type="CurrencyCode_V1" minOccurs="0" xdb:SQLName="BASE_RATE_CURRENCY">
                        <xsd:annotation>
                             <xsd:documentation>charge currency code</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="OfferType" minOccurs="0" xdb:SQLName="OFFER_TYPE">
                        <xsd:annotation>
                             <xsd:documentation>offer type: either OOCL offered or customer requested</xsd:documentation>
                        </xsd:annotation>
                        <xsd:simpleType>
                             <xsd:restriction base="xsd:string">
                                  <xsd:length value="4"/>
                             </xsd:restriction>
                        </xsd:simpleType>
                   </xsd:element>
                   <xsd:element name="IsSOC" type="xsd:boolean" minOccurs="0" xdb:SQLName="IS_SOC">
                        <xsd:annotation>
                             <xsd:documentation>indicator for shipper owned container</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="EffectiveFrom" type="ABDateTime_V1" minOccurs="0" xdb:SQLName="EFFECTIVE_FROM" xdb:SQLType="TIMESTAMP">
                        <xsd:annotation>
                             <xsd:documentation>effectime start time of the rate</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="EffectiveTo" type="ABDateTime_V1" minOccurs="0" xdb:SQLName="EFFECTIVE_TO" xdb:SQLType="TIMESTAMP">
                        <xsd:annotation>
                             <xsd:documentation>effectime end time of the rate</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="TransitTime" type="xsd:string" minOccurs="0" xdb:SQLName="TRANSIT_TIME">
                        <xsd:annotation>
                             <xsd:documentation>transit time of shipment that the rate offered</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
              </xsd:sequence>
         </xsd:complexType>
         <xsd:simpleType name="SAP_ID_V1">
              <xsd:annotation>
                   <xsd:documentation xml:lang="en">
                   SAP ID is the unique identifier for a given Customer in reference to SAP Application.
                   </xsd:documentation>
              </xsd:annotation>
              <xsd:restriction base="xsd:string">
                   <xsd:maxLength value="10"/>
              </xsd:restriction>
         </xsd:simpleType>
         <xsd:complexType name="ABShippingParty_V1" xdb:SQLType="AB_SHIPPING_PARTY_T">
              <xsd:annotation>
                   <xsd:documentation>Customer's roles in a shipment, like shipper, consignee, etc</xsd:documentation>
              </xsd:annotation>
              <xsd:sequence>
                   <xsd:element name="CustomerHolder" type="CustomerHolder_V1" xdb:SQLName="CUSTOMER_HOLDER"/>
                   <xsd:element name="ShippingRoleGroupID" type="ID_Integer_V1" minOccurs="0" xdb:SQLName="SHIPPING_ROLE_GROUP_ID"/>
              </xsd:sequence>
         </xsd:complexType>
         <xsd:complexType name="CustomerHolder_V1" xdb:SQLType="CUSTOMER_HOLDER_T">
              <xsd:annotation>
                   <xsd:documentation>A place holder where a new customer was created or modified in agreement builder</xsd:documentation>
              </xsd:annotation>
              <xsd:sequence>
                   <xsd:element name="SAP_ID" type="SAP_ID_V1" minOccurs="0" xdb:SQLName="SAP_ID">
                        <xsd:annotation>
                             <xsd:documentation>Customer SapID if it is an existing customer</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="Name" type="CompanyName_V1" minOccurs="0" xdb:SQLName="COMPANY_NAME">
                        <xsd:annotation>
                             <xsd:documentation>New customer name that is created during agreement builder creation(customer does not exist in NewCPF)</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="ModifiedContacts" type="CustomerContact_V1" minOccurs="0" maxOccurs="unbounded" xdb:SQLName="MODIFIED_CONTACTS" xdb:SQLCollType="MODIFIED_CONTACT_V"/>
              </xsd:sequence>
         </xsd:complexType>
         <xsd:complexType name="ShippingPartyRoleGroup_V1" xdb:SQLType="SHIPPING_PARTY_ROLE_GROUP_T">
              <xsd:annotation>
                   <xsd:documentation>All customer's shipping role in an agreement</xsd:documentation>
              </xsd:annotation>
              <xsd:sequence>
                   <xsd:element name="GroupID" type="ID_Integer_V1" minOccurs="0" xdb:SQLName="GROUP_ID"/>
                   <xsd:element name="IsShipper" type="xsd:boolean" xdb:SQLName="IS_SHIPPER"/>
                   <xsd:element name="IsConsignee" type="xsd:boolean" xdb:SQLName="IS_CONSIGNEE"/>
                   <xsd:element name="IsForwarder" type="xsd:boolean" xdb:SQLName="IS_FORWARDER"/>
                   <xsd:element name="IsControlParty" type="xsd:boolean" xdb:SQLName="IS_CONTROL_PARTY"/>
                   <xsd:element name="IsSignatureParty" type="xsd:boolean" xdb:SQLName="IS_SIGNATURE_PARTY"/>
                   <xsd:element name="IsNotifyParty" type="xsd:boolean" xdb:SQLName="IS_NOTIFY_PARTY"/>
                   <xsd:element name="IsAssociate" type="xsd:boolean" xdb:SQLName="IS_ASSOCIATE"/>
              </xsd:sequence>
         </xsd:complexType>
         <xsd:simpleType name="AlphaCode_V1">
              <xsd:annotation>
                   <xsd:documentation>Code of a CommodityReportGroup. The Business Community refers to this 3 digit code as the AlphaCode
                   </xsd:documentation>
              </xsd:annotation>
              <xsd:restriction base="xsd:string">
                   <xsd:maxLength value="3"/>
              </xsd:restriction>
         </xsd:simpleType>
         <xsd:simpleType name="CargoNatureCode_V1">
              <xsd:annotation>
                   <xsd:documentation>The classification code of cargo for special stowage arrangement</xsd:documentation>
              </xsd:annotation>
              <xsd:restriction base="xsd:string">
                   <xsd:maxLength value="2"/>
                   <xsd:enumeration value="AW">
                        <xsd:annotation>
                             <xsd:documentation>Awkward</xsd:documentation>
                        </xsd:annotation>
                   </xsd:enumeration>
                   <xsd:enumeration value="DG">
                        <xsd:annotation>
                             <xsd:documentation>Dangerous</xsd:documentation>
                        </xsd:annotation>
                   </xsd:enumeration>
                   <xsd:enumeration value="GC">
                        <xsd:annotation>
                             <xsd:documentation>GeneralCargo</xsd:documentation>
                        </xsd:annotation>
                   </xsd:enumeration>
                   <xsd:enumeration value="RF">
                        <xsd:annotation>
                             <xsd:documentation>Reefer</xsd:documentation>
                        </xsd:annotation>
                   </xsd:enumeration>
              </xsd:restriction>
         </xsd:simpleType>
         <xsd:simpleType name="ID_Integer_V1">
              <xsd:annotation>
                   <xsd:documentation>Represents Identifier using Integer as the restriction.</xsd:documentation>
              </xsd:annotation>
              <xsd:restriction base="xsd:int"/>
         </xsd:simpleType>
         <xsd:complexType name="CorridorVolume_V1" xdb:SQLType="CORRIDOR_VOLUME_T">
              <xsd:annotation>
                   <xsd:documentation>Corridor volumns associated with corridor base rate</xsd:documentation>
              </xsd:annotation>
              <xsd:sequence>
                   <xsd:element name="ID" type="xsd:int" xdb:SQLName="IDNUM">
                        <xsd:annotation>
                             <xsd:documentation>A numeric identifier which identifies a CorridorVolume only in the context of a Quote/Agreement</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="SizeType" type="xsd:string" minOccurs="0" xdb:SQLName="SIZE_TYPE">
                        <xsd:annotation>
                             <xsd:documentation>container sise and type that the rate is applicable</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="Volume" type="ShipmentVolume_V1" minOccurs="0" xdb:SQLName="VOLUME">
                        <xsd:annotation>
                             <xsd:documentation>corridor rate volume specification</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="VolumePatterns" type="VolumePattern_V1" minOccurs="0" maxOccurs="unbounded" xdb:SQLName="VOLUME_PATTERNS" xdb:SQLCollType="VOLUME_PATTERN_V">
                        <xsd:annotation>
                             <xsd:documentation>detailed volume sepecification</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="Basis" type="xsd:string" minOccurs="0" xdb:SQLName="BASIS"/>
                   <xsd:element name="IsConditionOfRate" type="xsd:boolean" xdb:SQLName="IS_CONDITION_OF_RATE">
                        <xsd:annotation>
                             <xsd:documentation>indicate if the volume sepecification is a condition of the corridor rate</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="IsShared" type="xsd:boolean" xdb:SQLName="IS_SHARED">
                        <xsd:annotation>
                             <xsd:documentation>Indicates if the volume group is shared by more than one corridor rate. When true, sizetype should be null</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="IsForEntireAgreement" type="xsd:boolean" xdb:SQLName="IS_FOR_AGREEMENT"/>
              </xsd:sequence>
         </xsd:complexType>
         <xsd:complexType name="VolumePattern_V1" xdb:SQLType="VOLUME_PATTERN_T">
              <xsd:annotation>
                   <xsd:documentation>Agreement volume pattern</xsd:documentation>
              </xsd:annotation>
              <xsd:sequence>
                   <xsd:element name="Volume" type="ShipmentVolume_V1" minOccurs="0" xdb:SQLName="VOLUME">
                        <xsd:annotation>
                             <xsd:documentation>volume amount</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="Period" type="xsd:string" minOccurs="0" xdb:SQLName="PERIOD">
                        <xsd:annotation>
                             <xsd:documentation>time period for the volume</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
              </xsd:sequence>
         </xsd:complexType>
         <xsd:complexType name="ShipmentVolume_V1" xdb:SQLType="SHIPMENT_VOLUME_T">
              <xsd:annotation>
                   <xsd:documentation>A measurement for shipment volume</xsd:documentation>
              </xsd:annotation>
              <xsd:sequence>
                   <xsd:element name="Unit" type="xsd:string" minOccurs="0" xdb:SQLName="UNIT"/>
                   <xsd:element name="Value" type="xsd:decimal" minOccurs="0" xdb:SQLName="VALUE"/>
              </xsd:sequence>
         </xsd:complexType>
         <!-- END Simple/Complex Types copied from External XSD Files -->
    </xsd:schema>
    CorridorRate.xsd
    <?xml version="1.0" encoding="utf-8"?>
    <!-- edited with XMLSpy v2007 rel. 3 (http://www.altova.com) by Auroprem Kandaswami (OOCL (USA) INC) -->
    <xsd:schema xmlns="http://com.oocl.schema.tnm.agreementbuilder" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xdb="http://xmlns.oracle.com/xdb" xmlns:tnm="http://com.oocl.schema.tnm" xmlns:common="http://com.oocl.schema.common" xmlns:fwd="http://com.oocl.frm.common.date.dto/" xmlns:customer="http://com.oocl.schema.customer" xmlns:eqm="http://com.oocl.schema.eqm" targetNamespace="http://com.oocl.schema.tnm.agreementbuilder" elementFormDefault="qualified" attributeFormDefault="unqualified" xdb:storeVarrayAsTable="true">
         <xsd:include schemaLocation="AB_Common_V1_XMLDB.xsd"/>
         <xsd:element name="CorridorRate" type="CorridorRate_V1" nillable="true" xdb:SQLName="CORRIDOR_RATE"/>
         <!-- Below copied from common:DeliveryMode_V1.xsd -->
         <xsd:simpleType name="DeliveryMode_V1">
              <xsd:annotation>
                   <xsd:documentation>2 char string representing the delivery mode associated with the rate. YY for example is a Container Yard to Container Yard move, whereas DD is a door to door move.</xsd:documentation>
              </xsd:annotation>
              <xsd:restriction base="xsd:string">
                   <xsd:maxLength value="2"/>
                   <xsd:minLength value="2"/>
                   <xsd:enumeration value="YY"/>
                   <xsd:enumeration value="YD"/>
                   <xsd:enumeration value="DY"/>
                   <xsd:enumeration value="DD"/>
              </xsd:restriction>
         </xsd:simpleType>
         <!-- Below copied from PaymentTerm_V1.xsd -->
         <xsd:simpleType name="PaymentTerm_V1">
              <xsd:annotation>
                   <xsd:documentation>Payment term, either prepaid or collect</xsd:documentation>
              </xsd:annotation>
              <xsd:restriction base="xsd:string">
                   <xsd:maxLength value="10"/>
                   <xsd:enumeration value="Prepaid"/>
                   <xsd:enumeration value="Collect"/>
              </xsd:restriction>
         </xsd:simpleType>
         <!-- Below copied from CorridorMetric_V1.xsd -->
         <xsd:complexType name="CorridorMetric_V1" xdb:SQLType="CORRIDOR_METRIC_T">
              <xsd:annotation>
                   <xsd:documentation>Corridor metrics associated with corridor base rate</xsd:documentation>
              </xsd:annotation>
              <xsd:sequence>
                   <xsd:element name="SizeType" type="xsd:string" minOccurs="0" xdb:SQLName="SIZE_TYPE">
                        <xsd:annotation>
                             <xsd:documentation>container sise and type that the rate is applicable</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="VolumeSRG" type="xsd:string" minOccurs="0" xdb:SQLName="VOLUME_SRG">
                        <xsd:annotation>
                             <xsd:documentation>guideline volume</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="AgreementSRG" type="xsd:string" minOccurs="0" xdb:SQLName="AGREEMENT_SRG">
                        <xsd:annotation>
                             <xsd:documentation>ageeement volume</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="ContributionNRPO" type="xsd:string" minOccurs="0" xdb:SQLName="CONTRIBUTION_NRPO">
                        <xsd:annotation>
                             <xsd:documentation>contribution matrix NRPO</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="ContributionRPO" type="xsd:string" minOccurs="0" xdb:SQLName="CONTRIBUTION_RPO">
                        <xsd:annotation>
                             <xsd:documentation>contribution matrix RPO</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="AverageRate" type="xsd:string" minOccurs="0" xdb:SQLName="AVERAGE_RATE">

    Thanks so much for your response - Prefixing the call to the table within the package, with the schema owner does indeed solve the problem. Since this is a Production issue, i have implemented this fix in my customer's database.
    However, I would still like this issue permanently resolved. The next time we send out updated package code, this will happen again (unless we then fix it again). I'd still like info from anyone on what exactly must be done to allow the call within the package to work without specifically pre-fixing the table's schema owner. It shouldn't be needed... The DB link is connecting via the same schema on database B that owns the table in question.
    pre-fixing the schema owner is something we don't do in our sql statements, and this has worked fine for many of our cusomer's environments. We're only seeing this issue on one environment.

  • How to use XML file as a source in BODS?

    How to use XML file as a source in BODS?
    Could anyone please help me out for this?

    exmpale XML file :
    <?xml version="1.0" encoding="utf-8"?>
    <MM_RECON_REPORT>
      <RPT_DATE>str1234</RPT_DATE>
      <RPT_ROW>
        <SRC_EXT_REC_COUNT>123.45</SRC_EXT_REC_COUNT>
        <PRE_TRANS_REC_COUNT>123.45</PRE_TRANS_REC_COUNT>
        <POST_TRANS_REC_COUNT>123.45</POST_TRANS_REC_COUNT>
        <PASS_BAPI_REC_COUNT>123.45</PASS_BAPI_REC_COUNT>
        <TOT_SAP_RETURN>123.45</TOT_SAP_RETURN>
        <TOT_SAP_SUCC_REC_COUNT>123.45</TOT_SAP_SUCC_REC_COUNT>
        <PARTIAL_SUCC_REC_COUNT>123.45</PARTIAL_SUCC_REC_COUNT>
        <TOT_SAP_ERR_REC_COUNT>123.45</TOT_SAP_ERR_REC_COUNT>
        <MM_SUCC_REC_COUNT>123.45</MM_SUCC_REC_COUNT>
        <MM_ERR_REC_COUNT>123.45</MM_ERR_REC_COUNT>
        <CLS_SUCC_REC_COUNT>123.45</CLS_SUCC_REC_COUNT>
        <CLS_ERR_REC_COUNT>123.45</CLS_ERR_REC_COUNT>
        <CP_SUCC_REC_COUNT>123.45</CP_SUCC_REC_COUNT>
        <CP_ERR_REC_COUNT>123.45</CP_ERR_REC_COUNT>
        <VMS_SUCC_REC_COUNT>123.45</VMS_SUCC_REC_COUNT>
        <VMS_ERR_REC_COUNT>123.45</VMS_ERR_REC_COUNT>
        <SOURCE_TYPE>str1234</SOURCE_TYPE>
        <RUN_ID>123.45</RUN_ID>
        <RUN_SEQ>123.45</RUN_SEQ>
        <RUN_DATE>2012-12-13</RUN_DATE>
      </RPT_ROW>
    </MM_RECON_REPORT>
    example XSD file :
    <?xml version="1.0" encoding="UTF-8"?>
    <xsd:schema  xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
        XML Schema generated by Data Services
        </xsd:documentation>
      </xsd:annotation>
    <xsd:simpleType name="DIType-decimal-28-0">
      <xsd:restriction base="xsd:decimal">
        <xsd:totalDigits value="28"/>
        <xsd:fractionDigits value="0"/>
      </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="DIType-varchar-200">
      <xsd:restriction base="xsd:string">
      <xsd:maxLength value="200"/>
      </xsd:restriction>
      </xsd:simpleType>
    <xsd:simpleType name="DIType-varchar-10">
      <xsd:restriction base="xsd:string">
        <xsd:maxLength value="10"/>
      </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="DATE">
      <xsd:restriction base="xsd:date">
      </xsd:restriction>
      </xsd:simpleType>
    <xsd:element name="MM_RECON_REPORT" >
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element ref="RPT_DATE" minOccurs="0" maxOccurs="1"/>
            <xsd:element ref="RPT_ROW"  minOccurs="0" maxOccurs="unbounded"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
    <xsd:element name="RPT_DATE" type = "DIType-varchar-200"/>
    <xsd:element name="RPT_ROW" >
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element ref="SRC_EXT_REC_COUNT" />
            <xsd:element ref="PRE_TRANS_REC_COUNT" />
            <xsd:element ref="POST_TRANS_REC_COUNT" />
            <xsd:element ref="PASS_BAPI_REC_COUNT" />
            <xsd:element ref="TOT_SAP_RETURN" />
            <xsd:element ref="TOT_SAP_SUCC_REC_COUNT" />
            <xsd:element ref="PARTIAL_SUCC_REC_COUNT" />
            <xsd:element ref="TOT_SAP_ERR_REC_COUNT" />
            <xsd:element ref="MM_SUCC_REC_COUNT" />
            <xsd:element ref="MM_ERR_REC_COUNT" />
            <xsd:element ref="CLS_SUCC_REC_COUNT" />
            <xsd:element ref="CLS_ERR_REC_COUNT" />
            <xsd:element ref="CP_SUCC_REC_COUNT" />
            <xsd:element ref="CP_ERR_REC_COUNT" />
            <xsd:element ref="VMS_SUCC_REC_COUNT" />
            <xsd:element ref="VMS_ERR_REC_COUNT" />
            <xsd:element ref="SOURCE_TYPE" />
            <xsd:element ref="RUN_ID" />
            <xsd:element ref="RUN_SEQ" />
            <xsd:element ref="RUN_DATE" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
    <xsd:element name="SRC_EXT_REC_COUNT" type = "DIType-decimal-28-0"/>
    <xsd:element name="PRE_TRANS_REC_COUNT" type = "DIType-decimal-28-0"/>
    <xsd:element name="POST_TRANS_REC_COUNT" type = "DIType-decimal-28-0"/>
    <xsd:element name="PASS_BAPI_REC_COUNT" type = "DIType-decimal-28-0"/>
    <xsd:element name="TOT_SAP_RETURN" type = "DIType-decimal-28-0"/>
    <xsd:element name="TOT_SAP_SUCC_REC_COUNT" type = "DIType-decimal-28-0"/>
    <xsd:element name="PARTIAL_SUCC_REC_COUNT" type = "DIType-decimal-28-0"/>
    <xsd:element name="TOT_SAP_ERR_REC_COUNT" type = "DIType-decimal-28-0"/>
    <xsd:element name="MM_SUCC_REC_COUNT" type = "DIType-decimal-28-0"/>
    <xsd:element name="MM_ERR_REC_COUNT" type = "DIType-decimal-28-0"/>
    <xsd:element name="CLS_SUCC_REC_COUNT" type = "DIType-decimal-28-0"/>
    <xsd:element name="CLS_ERR_REC_COUNT" type = "DIType-decimal-28-0"/>
    <xsd:element name="CP_SUCC_REC_COUNT" type = "DIType-decimal-28-0"/>
    <xsd:element name="CP_ERR_REC_COUNT" type = "DIType-decimal-28-0"/>
    <xsd:element name="VMS_SUCC_REC_COUNT" type = "DIType-decimal-28-0"/>
    <xsd:element name="VMS_ERR_REC_COUNT" type = "DIType-decimal-28-0"/>
    <xsd:element name="SOURCE_TYPE" type = "DIType-varchar-10"/>
    <xsd:element name="RUN_ID" type = "DIType-decimal-28-0"/>
    <xsd:element name="RUN_SEQ" type = "DIType-decimal-28-0"/>
    <xsd:element name="RUN_DATE" type = "xsd:date"/>
    </xsd:schema>
    compare the xml vs xsd for better understanding

  • XML Schema Class Generator Problem compiling generated java programs

    Hi,
    I ran oracg on the po.xsd schema from X3Cs XML Schema Part 0: Primer which successfully generated the java codes. I ran into problems when I compile the generated classes. Here's what I'm getting:
    C:\oracle\xml\xdk\demo\java\classgen\Po2>javac -classpath ".;C:\oracle\xml/lib/xmlparserv2.jar;C:\oracle\xml/lib/xschema.jar;C:\oracle\xml/l
    ib/classgen.jar;.;C:\Program Files\VicunaJ521\java\lib\collections.jar;C:\Program Files\VicunaJ521\java\lib\vicunalite.jar;C:\Program Files\
    XConverter\XConverter.jar;C:\Program Files\XConverter\IDLGenerator.jar; c:\jdk1.2.2\lib\dt.jar;c:\jdk1.2.2\lib\jvm.jar;c:\jdk1.2.2\lib\tools
    .jar;c:\oracle\ora81\jdbc\lib\classes12.zip;c:\oracle\ora81\jdbc\nls_charset12.zip;C:\oracle\xml\lib\classgen.jar;C:\oracle\xml\lib\xmlparse
    rv2.jar" *.java
    .\types\PurchaseOrderType.java:75: Type expected.
    public void addComment(null.Comment thecomment)
    ^
    .\types\Items.java:141: Type expected.
    public void addComment(null.Comment thecomment)
    ^
    2 errors
    Running the demo which comes with oracles version of po.xsd was OK. What's the difference between the po.xsd from oracle and the po.xsd from W3C? Are there any W3C recommendation for XML Schema not supported by Oracle's class generator?

    Which po.xsd do you use? Would you post it?
    Thanks. Here's the copy of the po.xsd from the W3C website. (http://www.w3.org/TR/xmlschema-0/#po.xsd)
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <xsd:annotation>
    <xsd:documentation xml:lang="en">
    Purchase order schema for Example.com.
    Copyright 2000 Example.com. All rights reserved.
    </xsd:documentation>
    </xsd:annotation>
    <xsd:element name="purchaseOrder" type="PurchaseOrderType"/>
    <xsd:element name="comment" type="xsd:string"/>
    <xsd:complexType name="PurchaseOrderType">
    <xsd:sequence>
    <xsd:element name="shipTo" type="USAddress"/>
    <xsd:element name="billTo" type="USAddress"/>
    <xsd:element ref="comment" minOccurs="0"/>
    <xsd:element name="items" type="Items"/>
    </xsd:sequence>
    <xsd:attribute name="orderDate" type="xsd:date"/>
    </xsd:complexType>
    <xsd:complexType name="USAddress">
    <xsd:sequence>
    <xsd:element name="name" type="xsd:string"/>
    <xsd:element name="street" type="xsd:string"/>
    <xsd:element name="city" type="xsd:string"/>
    <xsd:element name="state" type="xsd:string"/>
    <xsd:element name="zip" type="xsd:decimal"/>
    </xsd:sequence>
    <xsd:attribute name="country" type="xsd:NMTOKEN"
    fixed="US"/>
    </xsd:complexType>
    <xsd:complexType name="Items">
    <xsd:sequence>
    <xsd:element name="item" minOccurs="0" maxOccurs="unbounded">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element name="productName" type="xsd:string"/>
    <xsd:element name="quantity">
    <xsd:simpleType>
    <xsd:restriction base="xsd:positiveInteger">
    <xsd:maxExclusive value="100"/>
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    <xsd:element name="USPrice" type="xsd:decimal"/>
    <xsd:element ref="comment" minOccurs="0"/>
    <xsd:element name="shipDate" type="xsd:date" minOccurs="0"/>
    </xsd:sequence>
    <xsd:attribute name="partNum" type="SKU" use="required"/>
    </xsd:complexType>
    </xsd:element>
    </xsd:sequence>
    </xsd:complexType>
    <!-- Stock Keeping Unit, a code for identifying products -->
    <xsd:simpleType name="SKU">
    <xsd:restriction base="xsd:string">
    <xsd:pattern value="\d{3}-[A-Z]{2}"/>
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:schema>

  • XML PARASE and insert /update in corresponding tables

    Hi,
    I have a XML in which master details tables 3 tables.I want to separate element and insert/update in corresponding tables dynamically.
    Table invlovled in A,B,C
    Thanks
    Reena

    Reena
    The easiest way to do this is along the following lines..
    (1) register an XML Schema that describes the XML you wish to process with theh database.
    (2). create a relational view for the top level elements and for each repeating element (element where maxOccurs > 1 in the XML Schema)
    (3) Use 'insert as select' or other SQL type processing to update your relational tables from the contents of the view
    It is normally recommended that you add the following annotations to the XML Schema before registering it with the database
    (1) At the schema level set xdb:storeVarrayAsTable="true".
    (2) At the complexType level set xdb:maintainDOM="fasle".
    If you search the forum you will find a lot of examples of creating relational views of XML content stored in the XML database. Typically these examples will include key words like 'create or replace view' and 'table(xmlsequence(extract' or 'xmltable'.
    Hope this helps...
    -Mark

  • Bug in Data control generation against top link xml mapping class

    I encountered serious problem when generating data control from a revised version of our xml schema (top link classes).
    We change the structure by inserting element representing a node before the element that occurs more than once.
    The structure is now
    <xs:element name="classification-language-list">
    <xs:annotation>
    <xs:documentation xml:lang="fr">Liste des langues supportées par la classification</xs:documentation>
    </xs:annotation>
    <xs:complexType mixed="false">
    <xs:sequence>
    <xs:element name="classification-language" type="classification-languageType" maxOccurs="unbounded">
    <xs:annotation>
    <xs:documentation xml:lang="fr">Langue gerée par la classification</xs:documentation>
    </xs:annotation>
    </xs:element>
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    As you can see the element that represent the list is not inherited from a type. It is described locally in the schema. This mean that top link generate a class in the parent implementation class. In our case classification-language-list is defined in the interface ClassificationType.java and in the class ClassificationTypeImpl.java.
    The data control xml file for Classification class is as below:
    <?xml version="1.0" encoding="UTF-8" ?>
    <JavaBean xmlns="http://xmlns.oracle.com/adfm/beanmodel" version="10.1.3.39.14"
    id="Classification"
    BeanClass="classification.toplinkInterface.Classification"
    Package="classification.toplinkInterface" isJavaBased="true">
    <Attribute Name="schemaVersion" Type="java.lang.String"/>
    <AccessorAttribute id="classificationCategoryList" IsCollection="false"
    BeanClass="classification.toplinkInterface.ClassificationType.ClassificationCategoryListType"/>
    <AccessorAttribute id="classificationEntryList" IsCollection="false"
    BeanClass="classification.toplinkInterface.ClassificationType.ClassificationEntryListType"/>
    <AccessorAttribute id="classificationExternalSystemList" IsCollection="false"
    BeanClass="classification.toplinkInterface.ClassificationType.ClassificationExternalSystemListType"/>
    <AccessorAttribute id="classificationLanguageList" IsCollection="false"
    BeanClass="classification.toplinkInterface.ClassificationType.ClassificationLanguageListType"/>
    <AccessorAttribute id="classificationNameList" IsCollection="false"
    BeanClass="classification.toplinkInterface.ClassificationType.ClassificationNameListType"/>
    <AccessorAttribute id="classificationVersionList" IsCollection="false"
    BeanClass="classification.toplinkInterface.ClassificationType.ClassificationVersionListType"/>
    </JavaBean>
    The data control xml file for ClassificationLanguageListType class is as below:
    <?xml version="1.0" encoding="UTF-8" ?>
    <JavaBean xmlns="http://xmlns.oracle.com/adfm/beanmodel" version="10.1.3.39.14"
    id="ClassificationLanguageListType"
    BeanClass="classification.toplinkInterface.ClassificationType.ClassificationLanguageListType"
    Package="classification.toplinkInterface.ClassificationType"
    isJavaBased="true">
    <Attribute Name="schemaVersion" Type="java.lang.String"/>
    <AccessorAttribute id="classificationCategoryList" IsCollection="false"
    BeanClass="classification.toplinkInterface.ClassificationType.ClassificationCategoryListType"/>
    <AccessorAttribute id="classificationEntryList" IsCollection="false"
    BeanClass="classification.toplinkInterface.ClassificationType.ClassificationEntryListType"/>
    <AccessorAttribute id="classificationExternalSystemList" IsCollection="false"
    BeanClass="classification.toplinkInterface.ClassificationType.ClassificationExternalSystemListType"/>
    <AccessorAttribute id="classificationLanguageList" IsCollection="false"
    BeanClass="classification.toplinkInterface.ClassificationType.ClassificationLanguageListType"/>
    <AccessorAttribute id="classificationNameList" IsCollection="false"
    BeanClass="classification.toplinkInterface.ClassificationType.ClassificationNameListType"/>
    <AccessorAttribute id="classificationVersionList" IsCollection="false"
    BeanClass="classification.toplinkInterface.ClassificationType.ClassificationVersionListType"/>
    </JavaBean>
    This last data control definition is completely wrong.
    Here is the corresponding interface in ClassificationType.java:
    public interface ClassificationLanguageListType
    java.util.List<ClassificationLanguageType> getClassificationLanguage();
    The type was added manually.
    Here is the corresponding interface
    public interface ClassificationLanguageType
    public void setClassificationLanguageCode(java.lang.String value);
    public java.lang.String getClassificationLanguageCode();
    public void setClassificationLanguageLabel(java.lang.String value);
    public java.lang.String getClassificationLanguageLabel();
    It seem like a big bug ... in data control generation

    Solve the problem by generating a data control for the implementation class also. This will cause the data control xml file to be created for the java class also (if not only the interface will have a data control xml file generated).

  • Creation of SIMPLE TRANSFORMATIO(ST)for deserialisation of XML - ABAP data.

    Hi friends,
    I m supposed to convert data in XML format in a SAP table into ABAP data in another internal table.For that pupose i wish to write a SIMPLE TRANSFORMATION(ST) code.Can anybody tell were and how this ST code is created.One of these entries of XML data is as follows--
    - <?xml version="1.0" ?> <!DOCTYPE xs:schema (View Source for full doctype...)> - <xs:schema targetNamespace="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/1999/xhtml" finalDefault="" blockDefault="" elementFormDefault="unqualified" attributeFormDefault="unqualified"> - <xs:annotation> - <xs:documentation>
    XML Schema instance namespace
    See the XML Schema Recommendation for an introduction
    <hr /> $Date: 2001/03/16 20:25:57 $
    $Id: XMLSchema-instance.xsd,v 1.4 2001/03/16 20:25:57 ht Exp $ </xs:documentation> </xs:annotation> - <xs:annotation> - <xs:documentation> -
    This schema should never be used as such: the XML Schema Recommendation forbids the declaration of attributes in this namespace
    </xs:documentation> </xs:annotation> <xs:attribute name="nil" /> <xs:attribute name="type" /> <xs:attribute name="schemaLocation" /> <xs:attribute name="noNamespaceSchemaLocation" /> </xs:schema>
    I will be extreamly thankful if anybody can help.
    Thank you.

    ST is create from transaction SE80
    SE80->edit object->more->transformation
    ST is available only from WAS6.40
    for more on ST check out this blog series
    /people/tobias.trapp/blog/2005/05/04/xml-processing-in-abap-part-1 - part I
    /people/tobias.trapp/blog/2005/05/17/xml-processing-in-abap-part-2 - ii
    /people/tobias.trapp/blog/2005/05/20/xml-processing-in-abap-part-3 - iii
    /people/tobias.trapp/blog/2005/05/27/xml-processing-in-abap-part-4 - iv
    /people/tobias.trapp/blog/2005/06/15/xml-processing-in-abap--part-5 - v
    /people/tobias.trapp/blog/2005/12/08/xml-processing-in-abap--part-6 - vi
    Regards
    Raja

  • Oracle XML vaidation causes database connection lost.

    Schema document:
    <?xml version="1.0" encoding="UTF-8"?>
    <xsd:schema xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
         <xsd:annotation>
              <xsd:documentation xml:lang="en">
              </xsd:documentation>
         </xsd:annotation>
         <xsd:element name="BDDString" type="xsd:string"/>
    </xsd:schema>
    XML document:
    <?xml version="1.0" encoding="UTF-8"?>
    <BDDString><Path>USA</Path></BDDString>
    Result http://apps.gotdotnet.com/xmltools/xsdvalidator/Default.aspx validation:
    Validation error:
    <?xml version="1.0" encoding="UTF-8"?>
    <BDDString
    Error at (2,14): The element 'BDDString' has invalid child element 'Path'. An error occurred at , (2, 14).
    Error at (2,14): The 'Path' element is not declared. An error occurred at , (2, 14).
    <Path>USA</Path></BDDString>ORACLE validation:
    Declare
         xmlObj XMLType;
    begin
         xmlObj := XMLType('<?xml version="1.0" encoding="UTF-8"?><BDDString><Path>USA</Path></BDDString>',
         'cb78db306e061027a7c4b02b1a84d6fb');
         XMLType.schemavalidate(xmlObj);
    end;
    Result: Oracle XML vaidation causes database connection lost!
    *** SCRIPT START : Session:M1GLOBAL_DEV15@MATRIX(5) 3-&#1084;&#1072;&#1088;-2005 14:05:41 ***
    Start SQL Editor Execution ...
    Processing ...
    xmlObj := XMLType('<?xml version="1.0" encoding="UTF-8"?>
    ORA-03113: end-of-file on communication channel
    *** SCRIPT END : Session:M1GLOBAL_DEV15@MATRIX(5) 3-&#1084;&#1072;&#1088;-2005 14:08:02 ***
    End SQL Editor Execution
    Task "SQL Editor Execution": Operation aborted
    SQL Editor Execution terminated with errors
    Task "SQL Editor Execution" in DoTerminate(): Session Manager: No connection to M1GLOBAL_DEV15@MATRIX
    Help!
    Question:
         1)Why Oracle validation incorrectly works?
         2)How it to correct?

    Hi,
    1- what is the Reports version being used?
    2- What is the error you are getting?
    3- Have you tried to enable reports trace and see what is happening in trace file?
    Thanks, Roberto

Maybe you are looking for