JAXB question

DB Structure
Parent Table - Incident --> Child Table - IncidentCharges --> Child Table of IncidentCharges --> IncidentChargeWeapons
Container
Oracle Containers for JAVA(OC4J)
We have a schema (Incident.xsd) which comprises of our entire database structure. We unmarshalled the schema using JAXB to Java classes and interfaces .
It created 2 .java classes and 2 .java interfaces for each high level tag . for eg for our Incident tag it created a Incident interface and a IncidentType Interface
and also it created 2 classes IncidentImpl and IncidentTypeImpl . The IncidentTypeImpl has all the get and set properties we require eg. getIncidentType,
setIncidentType,getIncidentNumber,setIncidentNumber,getOccuranceDate,setOccuranceDate etc.
Our objective is to create a JSP page which has form fields to enter data which use these JAXB generated classes get and set properties. In other words
we want to bind the JSP form fields to these JAXB generated classes. And once these JAXB objects are populated we want to marshal it and create a XML file with the data from those JAXB . Our database would then consume the generated XML. We tried creating a simple incident form with just 3 fields IncidentType,Occurance date and Incident Number and tried to bind these fields with the properties from IncidentTypeImpl classes using the <jsp:usebean> tag . When we deployed it to our container and tried to load the Incident.jsp page , it would not load up . Only when we cleared all the bindings it loaded up .
Then we tried another workaround (just to get it working. Not a preferred approach) . We created another simple JAVA bean(not JAXB generated beans) which has set and get properties for the form fields and bound the form fields to it.
On submitting the JSP page we called a servlet which takes data from our created bean and transfers it to the JAXB generated IncidentTypeImpl bean. When we deployed this the jsp page loads up and also our bean is filled with data . But the servlet bombs with this error below.
500 Internal Server Error
java.lang.NoClassDefFoundError: javax/xml/bind/JAXBContext
at Servlets.IncidentServlet.doPost(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:765)
at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:317)
at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:790)
at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.HttpRequestHandler.run(HttpRequestHandler.java:270)
at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.HttpRequestHandler.run(HttpRequestHandler.java:112)
at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:186)
at java.lang.Thread.run(Thread.java:534)
We have 2 questions .
1. Can a JSP page be bound directly to this JAXB generated bean in pretty much the same way as we bind it to our own bean ? (We would like to do this so that we dont have to create duplicate classes which mirror the JAXB generated classes.)
2. Is there something special we have to do to deploy this application to recognize the JAXB classes. Do we have to deploy some jar file for it to recognize those classes ?

Nevermind, I have then answer to my question - use this flag - use-runtime <pkg> : suppress the generation of the impl.runtime package and simply

Similar Messages

  • Basic JAXB Question

    hi,
    this is probably a stupid question but how can I simply generate java classes based on an XSD using JAXB. I've been browsing some tutorials but this part is never really explained except for using some script called xjc. This script however seems to be included in the webservices-package and not in the jaxb-library which I find a bit wierd, I don't understand why everytime you're in a jaxb-tutorial or such you're actually just in some chapter of a webservices-tutorial.
    Anyway I would like to generate classes based on an XSD-schema without download & installing webservices which I neither want or need. Isn't there a main-class in jaxb which does this (like in castor) or an ant-script or ... ?
    Any help is very appreciated,
    tx,
    Stijn

    Actually JAXB itself is not doing that. If you install JWSD(Java webservices pack) there is JAXB library in it along with a compiler called XJC. you can directly create java files from XSD using xjc by simply typing
    C:\>xjc myxsd.xsd
    JAXB library provides some functions to access this DOM.
    Marshaller class helps to create XML document from these classes generated and UnMarshaller does the reverse.
    If you need more help mail to me
    [email protected]

  • XSD/JAXB question

    I'm just starting out on using XSD/JAXB, and I was wondering how best to approach this:
    <likes>
      <like val="color">red</like>
      <like val="number">7</like>
    </likes>That is, the value of the val attribute determines the type of content that the like element should accept. For example:
    <xs:simpleType name="colors">
      <xs:restriction base="xs:string">
        <xs:enumeration value="red"/>
        <xs:enumeration value="orange"/>
        <xs:enumeration value="yellow"/>
        <xs:enumeration value="green"/>
      </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="numbers">
      <xs:restriction base="xs:int">
        <xs:minInclusive value="3"/>
        <xs:maxExclusive value="20"/>
      </xs:restriction>
    </xs:simpleType>But how to use the attribute value to determine the acceptable element content? I have managed to use union to define element content that is a union of acceptable input types, but since this is not restricted by the attribute, you could end up with invalid XML like:
    <likes>
      <!-- invalid xml when content is a union of types -->
      <like val="color">7</like>
      <like val="number">red</like>
    </likes>Any takers?
    Thanks, Neil

    <xs:element name="likes">
    <xs:complexType>
    <xs:sequence>
    <xs:sequence>
    <xs:element name="like" type="colors"/>
    </xs:sequence>
    <xs:sequence>
    <xs:element name="like" type="numbers"/>
    </xs:sequence>
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    thanks,
    Deepak

  • Unexpected element - JAXB

    We have 4 huge (similar) schemas that i compiled and successfully unmarshalled one xml file with validation turned off.
    Problems that I am facing are
    1) When I turn on validation, i run in StackOverFlow exception - tried all sorts of memory settings - no luck.
    2) When i tried to unrmarshal another XML file that is conforming to 2nd schema, i am getting error messages "Unexpected element".
    XML file is well-formed and valid (validated with XML spy).
    My understanding is that JAXB wouldn't validate XML file stucture against scheme when validation is turned off. Why is JAXB validating the structure of the XML document?
    Java file:
    Main class
    MyValidationEventHandler veh = new MyValidationEventHandler();
    JAXBContext jc = JAXBContext.newInstance( "org.tgslc.advweb.xmlbinding.response:org.tgslc.advweb.xmlbinding.response.FFEL:org.tgslc.advweb.xmlbinding.response.core:org.w3._2001.xmlschema" );
    Unmarshaller u = jc.createUnmarshaller();
    u.setValidating(false);
    u.setEventHandler(veh);
    System.out.println("isValidating : " + u.isValidating());
    org.tgslc.advweb.xmlbinding.response.CommonRecordCommonline request =
    (org.tgslc.advweb.xmlbinding.response.CommonRecordCommonline)u.unmarshal( new FileInputStream( FILE_NAME ) );
    org.tgslc.advweb.xmlbinding.response.FFEL.TransmissionDataType trans = request.getTransmissionData();
    displayTransmissionDataType( trans );
    class MyValidationEventHandler implements ValidationEventHandler
    public boolean handleEvent(ValidationEvent arg0)
    System.out.println(arg0.getMessage());
    return true;
    }

    JAXB questions should be better directed to the users list of http://jaxb.dev.java.net/
    you should subscribe to the 'users' mailing list, then post a question there.
    Thank you!

  • JAXB generated code gives deprecation warnings on compile

    I have a schema that was previously had its binding generated using jwsdp 1.3. I recent;y made some minor changes to the schema and also upgraded to jwsdp 1.5. I made all the required changes to my environmental varibles on my system (acutal no other version of jwsdp was every installed on this box). xjc generates the code without issue:
    xjc -p my.package myxsd.xsd
    When I build my software using an ant script I get hundreds of warnings such as the following:
    [javac] c:\sandbox\code\my\package\ObjectFactory.java:499: warning: com.sun.xml.bind.GrammarInfo in com.sun.xml.bind has been deprecated
    Has anyone seen anything like this, or know what may cause such a problem? I have check all of the jars that my build file calls and they are of the correct version (this so called deprecated package exists in jaxb-impl.jar)
    Any help would be appricated. Thnx.

    JAXB questions should be better directed to the users list of http://jaxb.dev.java.net/
    you should subscribe to the 'users' mailing list, then post a question there.
    Thank you!

  • XPath Node Selection not seeing children nodes

    Hello All,
    I have a question regarding XPath and when it returns a node (via the Expression)
    Lets say, I have this document:
    <person>
      <name>someName</name>
      <location>someLocation</location>
    <person>I have setup my XPath Expression to return the <person> node. When I try to access the children nodes of that node, I cannot see them via code.
    The documentation states that the nodes returned from the Expression are "live", which (imo) means the children should be available. However, I do not see them using DOM methods like .getNextChild(). When I check the Node.hasChildren(); it returns true.
    The reason for this is: I need to be able to select a top-level node and import that node into another document ( see my JAXB question ).
    Any Advice on this one?
    Thanks in advance,
    Mark Buetow

    remember you will get TextNodes too, when you call getFirstChild, so you need to walk thru all the children till you find nodes that are instanceof Element

  • JAXB Related Question

    Hi All,
    I have started working on JAXB 1.4 reference implementation provided by sun. I have following questions.
    1. Do we have any implementation which simply has the Jar files which can be placed in the classpath and can be used. Right now this reference implementation from sun has lot other things also.
    2. I have bee able to use JAXB 1.4 with JDK1.3.1_08 ad as far as what I am tryig to do it looks fine. Are there any issue's with JDK 1.3.1 because I have see somewhere in the documentation it recommends JDK 1.4.
    Thanks,
    Alok

    If you're planning to redistribute JAXB, the license requires you to include a subset of the libraries:
    https://jaxb.dev.java.net/faq/index.html#runtime_jars
    http://java.sun.com/webservices/docs/1.4/ReleaseNotes.html#RedistributableComponents
    Otherwise, just make sure the libraries in that list are in your CLASSPATH. $JWSDP_HOME/jaxb/bin/xjc.bat does that for you. Or, you can run jaxb-xjc.jar:
    http://java.sun.com/webservices/docs/1.4/jaxb/xjc.html
    You should be fine on 1.3.1_b08, but we did all our JDK 1.3 testing on 1.3.1_10-b03.
    -- Ed

  • JAXB Unmarshalling question

    I want to create Java objects from an XML file; JAXB sounds like the way to go, from what I've read.
    One question though: the object I want to create is an existing class. What I'd like to do is have JAXB create objects of the existing class, instead of the bean class that the JAXB binding compiler creates from looking at the schema.
    Is there a way to do this? Am I using the wrong tool? The existing class does not adhere to the bean standard.
    Thanks!

    Hi,
    You could place the binding schema,xml document,dtd could be at any location on your filesystem.When you use the binding compiler, you need to specify the location.
    For ex. you could use as following:
    D:\Softwares\jwsdp1.2\jaxb\bin\xjc -b c:\binding.xjb d:\examples\example.xsd
    If your are using jwsdp1.3, you need to set the JAVA_HOME and JWSDP_HOME environment variables.
    Refer the section "configuring and running the samples" for details at http://java.sun.com/webservices/docs/1.3/tutorial/doc/JAXBUsing2.html#wp87739
    -Amol

  • JAXB class question

    does anyone know which jar file has the javax.xml.XMLConstants class? I'm getting an error while going through some examples for JAXB and I am almost positive that my classpath is messed up or not pointing to the right jars.

    Good job mate. That's the way!
    And you came back and let us know we needn't waste precious time answering a solved question. That's just exellent. Thanks.
    :)

  • JAXB - Java to XML namespaces question

    I want the following XML to be produced:
    <service
    xmlns="http://www.example.org/service"
    xmlns:db="http://www.example.org/db"
    >
    <firstElement>
       <db:title>Testing</db:title>
    </firstElement>
    </service>However, this is proving to be impossible in JAXB. If I put any namespace within any annotation within my java bean I get unwanted prefixes everywhere. If I use the XmlSchema at the package level and specify prefixes with @XmlNs that doesn't even show up in the XML.
    I feel I am almost at a loss?

    Well, i got it to work in JAXB 1, w/o xfire, schema-to-java. Marshall and unmarshall.
    But w/ xfire, it doesn't appear to be possible. Would probably require implementing it for them myself...

  • JAXB - Newbie Question

    Hi,
    I am new to JAXB. I installed the JAXB1.3 in unix. I am having a little bit of trouble figuring out a few things
    1. where should the DTD be placed relative to the installation directory
    2. Where should the XML document be placed
    3. Where should the binding schema be placed
    4. What environment variables should be included in the CLASSPATH.
    Would appreciate any assistance,
    Thanks,
    Safeena

    Hi,
    You could place the binding schema,xml document,dtd could be at any location on your filesystem.When you use the binding compiler, you need to specify the location.
    For ex. you could use as following:
    D:\Softwares\jwsdp1.2\jaxb\bin\xjc -b c:\binding.xjb d:\examples\example.xsd
    If your are using jwsdp1.3, you need to set the JAVA_HOME and JWSDP_HOME environment variables.
    Refer the section "configuring and running the samples" for details at http://java.sun.com/webservices/docs/1.3/tutorial/doc/JAXBUsing2.html#wp87739
    -Amol

  • JAXB Marshalling Question

    below is what I get for marshalling some JAXB generated class instance, and i notice that several namespace was create ns1, ns2, ns3.... which are actually all sharing the same namespace, is there anyway (any option) that I can set to optimize it, so they can all simply use ns1, and won't define ns2, ns3...
    thank you.
    Jacob
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <aaa xmlns="http://schema.abc.com/def/gh">
    <ns1:HeaderReq xmlns:ns1="http://schema.abc.com/def">
    <ns1:Header>
    <ns1:sessionToken>sessionToken</ns1:sessionToken>
    <ns1:language>eng</ns1:language>
    <ns1:version>version2</ns1:version>
    </ns1:Header>
    <ns1:ddd>web</ns1:ddd>
    <ns1:eee>a</ns1:eee>
    </ns1:HeaderReq>
    <ns2:ccc xmlns:ns2="http://schema.abc.com/def">accountToken</ns2:ccc>
    <bbb>
    <ns3:firstName xmlns:ns3="http://schema.abc.com/def">Jacob</ns3:firstName>
    <ns4:lastName xmlns:ns4="http://schema.abc.com/def">Tseng</ns4:lastName>
    <relationship>SON</relationship>
    </bbb>
    </aaa>

    Hi Jacob,
    Here is the solution I used for getting rid of ns1,ns2 etc..when I was getting ns1,ns2.. etc.along with http://www.xyz.com/xml/yourxml in the generated XML output
    It worked for me. Let me know if you need any further help.
    -bhanu
    Please include the Following Code when you are marshalling the Document
    ======================== Your Main Java File ======================
    try {
              m.setProperty("com.sun.xml.bind.namespacePrefixMapper",new NamespacePrefixMapperImpl());
    // m is the Marshaller Object
    // NamespacePrefixMapperImpl()
    // You have to implement, sample code is given below
         catch ( PropertyException pe)
              System.out.println("Property Exception : " + pe.toString());
    ===============================================================
    Here is the Sample Code to implement NamespacePrefixMapperImpl()
    =========================================================
    import com.sun.xml.bind.marshaller.NamespacePrefixMapper;
    class NamespacePrefixMapperImpl extends NamespacePrefixMapper {
    public String getPreferredPrefix(String namespaceUri, String suggestion, boolean requirePrefix) {
    // W3c to show a prefix "xsi"
    if( "http://www.w3.org/2001/XMLSchema-instance".equals(namespaceUri) )
    return "xsi";
    // Your namespace http://www.xyz.com/yourxml/ to show prefix "tns"
    if( "http://www.xyz.com/yourxml/".equals(namespaceUri) )
    return "tns";
    return suggestion;

  • Marshaling problem in creation of xml thru JAXB

    Hi java gurus,
    I am trying to create an XML which will has the data of database using JAXB. I am able to generate JAXB classes, but its giving some error the stack trace is like this
    java.lang.NoSuchMethodError: com.sun.xml.bind.marshaller.XMLWriter.setXmlDecl(Z)V
         at org.bas.dss.common.vo.bii.impl.runtime.MarshallerImpl.createWriter(MarshallerImpl.java:223)
         at org.bas.dss.common.vo.bii.impl.runtime.MarshallerImpl.createWriter(MarshallerImpl.java:238)
         at org.bas.dss.common.vo.bii.impl.runtime.MarshallerImpl.createWriter(MarshallerImpl.java:233)
         at org.bas.dss.common.vo.bii.impl.runtime.MarshallerImpl.marshal(MarshallerImpl.java:126)
         at javax.xml.bind.helpers.AbstractMarshallerImpl.marshal(AbstractMarshallerImpl.java:66)
         at org.bas.dss.common.dao.MetaDAO.createInstInformation(MetaDAO.java:627)
         at org.bas.core.fidownload.DownloadActionHandler.getInstInfoXMLData(DownloadActionHandler.java:163)
         at org.bas.core.fidownload.DownloadActionHandler.performPreDownloadAction(DownloadActionHandler.java:74)
         at org.bas.core.fidownload.DownloadAction.perform(DownloadAction.java:129)
         at org.bas.core.fidownload.DownloadAction.execute(DownloadAction.java:79)
    the method is like this,
    valueObject = getInstInformation (registrationId, appVersionId);
    System.out.println("MetaDAO-->valueObject:"+valueObject); //here i am gettingthe object
    context = JAXBContext.newInstance("org.bas.dss.common.vo.bii");
    System.out.println("MetaDAO-->context:"+context); //here i am getting the context
    sumissionInfoMarshaller = context.createMarshaller();
    System.out.println("MetaDAO-->sumissionInfoMarshaller:"+sumissionInfoMarshaller); //here also i am getting some object type
    sumissionInfoMarshaller.setProperty(
    Marshaller.JAXB_FORMATTED_OUTPUT,Boolean.TRUE);
    System.out.println("MetaDAO-->MetaDAO-->");
    sumissionInfoMarshaller.marshal (valueObject, streamToWrite); // the problem is coming here.
    anyone can suggest what will be the problem, and tell me how can i resolve this issue,
    thanks in advance,
    varma

    Pl post this question to SDK Forum

  • Question  on Insallation Approach for SOA 11.1.1.3

    I would appreciate if any Fusion experts can answer this :
    *Environment :OEL 5.3 64 bit, Oracle DB 11.1.0.7  , WLS 10.3.3, SOA Suite 11.1.13 and JRockit
    I am setting up DEV environment
    I installed Oracle DB 11.1.0.7 and RCU 11.1.1.3
    I installed JRockit R27.5.0 for Java SE 6 for Linux x86-64” . While installing Web Logic Server 10.3.3 (generic) on 64 bit, I could see the Available JRockit 27.5 , I went ahead with that and I could install WLS. But while Installing SOA Suite I got this Error
    java.lang.LinkageError: JAXB 2.0 API is being loaded from the bootstrap classloader, but this RI (from jar:file:/tmp/OraInstall2010-07-17_10-13-18PM/ext/jlib/glassfish.jaxb_1.2.0.0_2-1-7.jar!/com/sun/xml/bind/v2/model/impl/ModelBuilder.class) needs 2.1 API. Use the endorsed directory mechanism to place jaxb-api.jar in the bootstrap classloader. (See http://java.sun.com/j2se/1.5.0/docs/guide/standards/)
    I think this JRockit does not support SOA Suite 11.1.1.3 Right now WLS 10.3.3 is pointing to the JRockit 27.5 (not supported for SOA Suite)
    Later I installed JRockit Mission Control 4.0.1 for Linux X86- 64. [jrmc-4.0.1-1.6.0-linux-x64.bin] in /u01/app/oracle/product
    Now I went ahead with SOA Suite 11.1.1.2 runInstaller and then SOA 11.1.1.3 patch runInstaller , which worked .
    But while creating SOA Domain I could only see JRockit 27.5 in Available JRockit list , so I browsed and selected jrmc-4.0.1-1.6.0 from product directory I installed and I could successfully create SOA Domain.
    I can start Admin Server & Managed Server . Admin Server & SOA Server is shown up in Enterprise Manager. So far , I am assuming what I did is correct ??
    QUESTIONS: -
    1. But WLS is still pointing to JRockit 27.5 . Will there be any issues/ errors later during Deployment ?
    2. Should I change or point the WLS to JRockit Mission Control. Can I do this without UN-INSTALLING . Like changing PATH or CLASS PATH , Can anyone suggest how to do?
    3. Are they any post installation steps I need to follow?
    Thanks
    Arvind
    Edited by: Arvind on Jul 19, 2010 10:13 AM
    Edited by: Arvind on Jul 19, 2010 11:34 AM

    Hi,
    As you already have the cascade setup between Country and State set the default value for the state with SQL. The way to do it is use a presentation variable for country and use that variable in the state default sql as a filter. Sort the values and pick the 1st value in the sql. This would return the 1st value in the State prompt.
    Let me know if this worked.
    Regards,
    Jay

  • WSIF calling EJB 3.0 beans, with JAXB 2.0.2 as the JavaSerializer

    I'm working with SOA suite (10.1.3.1.0 [build #0 ]), and I am trying to allow my BPEL processes to call my EJB 3.0 stateless session beans via WSIF.
    This works fine when I am passing primitives (strings, dates and so-forth) between BPEL and my EJB's using WSIF.
    However I want to be able to pass my 'business objects" across the BPEL/EJB boundary directly. I started off by following the BPEL cookbook article "Using WSIF for Integration" which was usefull in showing how to use JAXB 1.x generated classes across the BPEL/EJB boundary.
    However in the project I am working on we want to use JAXB 2.0 as it allows us to create an XML schmea binding directly from our existing "business objects".
    So I am using the knowlege gained in the article mentioned above to implement a custom JavaSerializer for my bpel process that will use JAXB 2.0. My custom JavaSerilizer is being invoked correctly, when I invoke my BPEL process, but it is unable to load the correct JAXB (2.0.2) classes - it keeps getting the JAXB 1.0 classes that come standard with oracle.
    My debug code that prints out the classloaders for my serializers (and parent classloaders) reports the following:
    06/09/05 11:18:18 CustomSerializer.serialize
    06/09/05 11:18:18 Classloader =oracle.bpel.common:10.1.3
    06/09/05 11:18:18 Classloader =api:1.4.0
    06/09/05 11:18:18 Classloader =jre.extension:0.0.0
    06/09/05 11:18:18 Classloader =jre.bootstrap:1.5.0_06
    The Jaxb classes it is loading a coming from classloader:
    06/09/05 11:18:18 JAXBContext classloader =oracle.xml:10.1.0_2
    My question is how do I get the JAXB 2.0 classes in my classpath?
    Thanks,
    Dave Oram

    Hello,
    About WSIF, we are currently working on a WSIF-EJB30 binding that will allow you to direclty annotate the session ben and get the EJB exposed as SOAP and WSIF binding out of the box.
    This will be available in OracleAS 10.1.3.1 production.
    Regards
    Tugdual Grall

Maybe you are looking for

  • Cant get Skype to work anymore

    Several months ago I got an email with an update option.  Every since I did the update, I can no longer use skype.  As soon as I log on, I get a message that says, Skype has quit working.  Microsoft will look in to the problem and get back to you. It

  • IMac mouse has gone wonky

    I have the original round mouse that came with my iMac and in the last week or two it has started to 'skip' -- the cursor will get hung up for a second and then move again, but rather jerkily. Earlier this evening the cursor stopped completely, altho

  • Midi tracks changing pitch when un frozen

    Whats up, is this a known problem and I am unaware. I had every midi track on 6 songs do the same thing upon unfreezing. All went up a half step sharp. Steve Cooley

  • BO XI 3.1 Post Installation

    Hi, Is there any Post installation steps apart from making sure all the services are running like CMC, Servers in CMS, Infoview etc.. I have installed XI 3.1 on Windows 2008. CMS on SQL DB on a different host.. I am wondering if there is any JVM Para

  • No mapping  between account names and security IDs was done

    I've to give access rights to some folders of server from client machine. But using prompt ECHO Y|CACLS S:\END /E /P 15dsd1s.DBSERVER\Administrator:F its showing me the error "No mapping between account names and security IDs was done." Kindly sugges