Why Package Specification only in INVALID State

Hi All,
Why Package spec is going to invalid state when I change a Procedure which is called in Package body
and why package body is still in VALID state. Can some one please clarify my doubt.

May be only specification got errors and not the package.
May be the constants / variables declared in package specification has wrong reference
like var1 tab1.col1%type which column doesnexists....
OR
V number(1) :=10;
or
improper closing / ending of a procedure..

Similar Messages

  • Package procedure in invalid state

    Hi all,
    We are having an application in C# and backend oracle 10g placed in Location1.
    There is modification in Packaged procedure. So we remotely (from Location2) connected to Location1 and that Packaged procedure is created.
    This Packaged procedure has been created (in Location1 ) without any errors. But this procedure is in INVALID state. We tried to compile it remotely by using following statements, but still this is in invalid state .
    ALTER PACKAGE my_package COMPILE;
    ALTER PACKAGE my_package COMPILE BODY;
    If we run this package and package body manually, without any modifications after creating it remotly, it is becoming VALID state.
    I am not getting any idea, why it is creating in INVALID state. Any help is appreciated.
    Thanks in advance,
    Pal

    Ok, here's a previous response that I gave re. packages and their "states". Should give you a good idea what a state is...
    Packages tend to fail because of their "package state". A package has a "state" when it contains package level variables/constants etc. and the package is called. Upon first calling the package, the "state" is created in memory to hold the values of those variables etc. If an object that the package depends upon e.g. a table is altered in some way e.g. dropped and recreated, then because of the database dependencies, the package takes on an INVALID status. When you next make a call to the package, Oracle looks at the status and sees that it is invalid, then determines that the package has a "state". Because something has altered that the package depended upon, the state is taken as being out of date and is discarded, thus causing the "Package state has been discarded" error message.
    If a package does not have package level variables etc. i.e. the "state" then, taking the same example above, the package takes on an INVALID status, but when you next make a call to the package, Oracle sees it as Invalid, but knows that there is no "state" attached to it, and so is able to recompile the package automatically and then carry on execution without causing any error messages. The only exception here is if the thing that the package was dependant on has changes in such a way that the package cannot compile, in which case you'll get an Invalid package type of error.
    And if you want to know how to prevent discarded package states....
    Move all constants and variables into a stand-alone package spec and reference those from your initial package. Thus when the status of your original package is invlidated for whatever reason, it has no package state and can be recompiled automatically, however the package containing the vars/const will not become invalidated as it has no dependencies, so the state that is in memory for that package will remain and can continue to be used.
    As for having package level cursors, you'll need to make these local to the procedures/functions using them as you won't be able to reference cursors across packages like that (not sure about using REF CURSORS though.... there's one for me to investigate!)
    This first example shows the package state being invalided by the addition of a new column on the table, and causing it to give a "Package state discarded" error...
    SQL> set serveroutput on
    SQL>
    SQL> create table dependonme (x number)
      2  /
    Table created.
    SQL>
    SQL> insert into dependonme values (5)
      2  /
    1 row created.
    SQL>
    SQL> create or replace package mypkg is
      2    procedure myproc;
      3  end mypkg;
      4  /
    Package created.
    SQL>
    SQL> create or replace package body mypkg is
      2    v_statevar number := 5; -- this means my package has a state
      3
      4    procedure myproc is
      5      myval number;
      6    begin
      7      select x
      8      into myval
      9      from dependonme;
    10
    11      myval := myval * v_statevar;
    12      DBMS_OUTPUT.PUT_LINE('My Result is: '||myval);
    13    end;
    14  end mypkg;
    15  /
    Package body created.
    SQL>
    SQL> exec mypkg.myproc
    My Result is: 25
    PL/SQL procedure successfully completed.
    SQL>
    SQL> select object_name, object_type, status from user_objects where object_name = 'MYPKG'
      2  /
    OBJECT_NAME
    OBJECT_TYPE         STATUS
    MYPKG
    PACKAGE             VALID
    MYPKG
    PACKAGE BODY        VALID
    SQL>
    SQL>
    SQL> alter table dependonme add (y number)
      2  /
    Table altered.
    SQL>
    SQL> select object_name, object_type, status from user_objects where object_name = 'MYPKG'
      2  /
    OBJECT_NAME
    OBJECT_TYPE         STATUS
    MYPKG
    PACKAGE             VALID
    MYPKG
    PACKAGE BODY        INVALID
    SQL>
    SQL> exec mypkg.myproc
    BEGIN mypkg.myproc; END;
    ERROR at line 1:
    ORA-04068: existing state of packages has been discarded
    ORA-04061: existing state of package body "CRISP_INTELL.MYPKG" has been invalidated
    ORA-06508: PL/SQL: could not find program unit being called: "CRISP_INTELL.MYPKG"
    ORA-06512: at line 1
    SQL>
    SQL> select object_name, object_type, status from user_objects where object_name = 'MYPKG'
      2  /
    OBJECT_NAME
    OBJECT_TYPE         STATUS
    MYPKG
    PACKAGE             VALID
    MYPKG
    PACKAGE BODY        INVALID
    SQL>
    SQL> exec mypkg.myproc
    PL/SQL procedure successfully completed.
    SQL>
    SQL> select object_name, object_type, status from user_objects where object_name = 'MYPKG'
      2  /
    OBJECT_NAME
    OBJECT_TYPE         STATUS
    MYPKG
    PACKAGE             VALID
    MYPKG
    PACKAGE BODY        VALIDAnd this next example shows how having the package variables in their own package spec, allows the package to automatically recompile when it is called even though it became invalidated by the action of adding a column to the table.
    SQL> drop table dependonme
      2  /
    Table dropped.
    SQL>
    SQL> drop package mypkg
      2  /
    Package dropped.
    SQL>
    SQL> set serveroutput on
    SQL>
    SQL> create table dependonme (x number)
      2  /
    Table created.
    SQL>
    SQL> insert into dependonme values (5)
      2  /
    1 row created.
    SQL>
    SQL> create or replace package mypkg is
      2    procedure myproc;
      3  end mypkg;
      4  /
    Package created.
    SQL>
    SQL> create or replace package mypkg_state is
      2    v_statevar number := 5; -- package state in seperate package spec
      3  end mypkg_state;
      4  /
    Package created.
    SQL>
    SQL> create or replace package body mypkg is
      2    -- this package has no state area
      3
      4    procedure myproc is
      5      myval number;
      6    begin
      7      select x
      8      into myval
      9      from dependonme;
    10
    11      myval := myval * mypkg_state.v_statevar;  -- note: references the mypkg_state package
    12      DBMS_OUTPUT.PUT_LINE('My Result is: '||myval);
    13    end;
    14  end mypkg;
    15  /
    Package body created.
    SQL>
    SQL> exec mypkg.myproc
    My Result is: 25
    PL/SQL procedure successfully completed.
    SQL>
    SQL> select object_name, object_type, status from user_objects where object_name = 'MYPKG'
      2  /
    OBJECT_NAME
    OBJECT_TYPE         STATUS
    MYPKG
    PACKAGE             VALID
    MYPKG
    PACKAGE BODY        VALID
    SQL>
    SQL> alter table dependonme add (y number)
      2  /
    Table altered.
    SQL>
    SQL> select object_name, object_type, status from user_objects where object_name = 'MYPKG'
      2  /
    OBJECT_NAME
    OBJECT_TYPE         STATUS
    MYPKG
    PACKAGE             VALID
    MYPKG
    PACKAGE BODY        INVALID
    SQL>
    SQL> exec mypkg.myproc
    My Result is: 25
    PL/SQL procedure successfully completed.

  • Privilege to view Package DDL only

    Hello Friends,
    I need your help on GRANTS.
    Oracle version: Oracle 11G R2
    OS: AIX
    I have three users in a database. Among these three users, two users, say USR1 and USER2 are having all database objects which is needed for my application and poses all system privileges equivalent to a DBA role.
    The 3rd one I have created is a READ user. I want this user to view only source code of PACKAGES AND PACKAGES BODY objects of only USR1, not USR2. Also, I have more than thousand packages/package bodies in USR1. READ should not be able to CREATE or compile a procedure, just simply be able to view the source code.
    FYI, GRANT EXECUTE enables me to see PACKAGE specific only, not PACKAGE BODY.
    Which privilege should I grant to READ user to achieve this security?
    Please help.

    AshishGautam wrote:
    Hello Friends,
    I need your help on GRANTS.
    Oracle version: Oracle 11G R2
    OS: AIX
    I have three users in a database. Among these three users, two users, say USR1 and USER2 are having all database objects which is needed for my application and poses all system privileges equivalent to a DBA role.
    The 3rd one I have created is a READ user. I want this user to view only source code of PACKAGES AND PACKAGES BODY objects of only USR1, not USR2. Also, I have more than thousand packages/package bodies in USR1. READ should not be able to CREATE or compile a procedure, just simply be able to view the source code.
    FYI, GRANT EXECUTE enables me to see PACKAGE specific only, not PACKAGE BODY.
    Which privilege should I grant to READ user to achieve this security?
    Please help.CREATE OR REPLACE PROCEDURE READ_MY_SOURCE ...
    -- which SELECT TEXT FROM USER_SOURCE ORDER BY LINE
    have this procedure owned be both USR1 & USER2
    GRANT EXECUTE ON USR1.READ_MY_SOURCE TO READ;
    GRANT EXECUTE ON USR2.READ_MY_SOURCE TO READ;

  • Invalid state when running first time after compile

    Often I will compile a package body without errors.
    The first time I run it, I will get the package is in an invalid state. The second time I run the package it will run fine.
    What is going on?
    Thanks,
    goo

    Hi,
    Dose it happen always ? Check if any object is getting changed. Is your package doing any thing which might be altering any objects being used by the package.
    thanks

  • Package is invalid state when called in Trigger

    Hi All,
    We have a trigger in which we are calling procedure(which is created in some package). Every time the trigger is called it returned an error
    'Package is in INVALID State".We tried to clean the app pool and that error went away but now it started coming again.
    Please help as we have been struggling hard for this .
    Database is ORA 10g.
    Please let me know if there are any other questions.
    Thanks in Advance !!!
    Regards

    My question is
    Why do you post 'My car doesn't work, please help me' instead of specifying exactly (with source code) what went wrong?
    Now you are asking people to rub up their broken crystal ball!
    Sybrand Bakker
    Senior Oracle DBA

  • Why can I only create 4 forms when I have purchased the entire package at 100+ dollars?

    Why can I only create 4 forms when I have purchased the entire package at 100+ dollars?

    FormsCentral can be used from anywhere, but to purchase a subscription you need a credit card with the mailing address in one of the countries supported for purcahse:
    http://forums.adobe.com/docs/DOC-1375
    The partner can purchase if they have access to a card in one of those countries.  Alternatively they do not need to purchase a subscription to edit forms that you've created, they do in order to create multiple forms of their own, but by your sharing forms with them at the "Co-author" level they have access to the editing.  Here are the instructions to share a form:
    http://forums.adobe.com/docs/DOC-2462
    Thanks,
    Josh

  • Invalid state in SQL query for a function that was created with no errors.

    SQL> CREATE OR REPLACE FUNCTION overlap(in_start1 IN TIMESTAMP, in_end1 IN TIMESTAMP, in_start2 IN TIMESTAMP, in_end2 IN TIMESTAMP) RETURN NUMBER
    2 IS
    3
    4 BEGIN
    5 IF (in_start1 BETWEEN in_start2 AND in_end2 OR in_end1 BETWEEN in_start2 AND in_end2 OR in_start2 BETWEEN in_start1 AND in_end1) THEN
    6 RETURN 0;
    7 ELSE
    8 RETURN 1;
    9 END IF;
    10 END;
    11 /
    Function created.
    SQL> show errors;
    No errors.
    SQL>
    SQL> SELECT * FROM tbl where overlaps(current_time,current_time+1,current_time-1,current_time+2) = 0;
    SELECT * FROM tbl where overlaps(current_time,current_time+1,current_time-1,current_time+2) = 0
    ERROR at line 1:
    ORA-06575: Package or function OVERLAPS is in an invalid state
    I do not understand why overlaps is returned as in invalid state in the query, when it was created with no errors earlier. Could anyone help me?

    Marius
    Looking at the logic you are trying to create it looks like you are looking for overlapping time periods.
    Consider two date/time ranges:
    Range 1 : T1 - T2
    Range 2 : T3 - T4
    Do they overlap?
    1) No: T1 < T4 (TRUE)  T2 > T3 (FALSE)
    T1 --- T2
               T3 --- T4
    2) Yes: T1 < T4 (TRUE)  T2 > T3 (TRUE)
    T1 ---------- T2
               T3 --- T4
    3) Yes: T1 < T4 (TRUE)  T2 > T3 (TRUE)
    T1 -------------------- T2
               T3 --- T4
    4) Yes: T1 < T4 (TRUE)  T2 > T3 (TRUE)
                   T1 ----- T2
               T3 --- T4
    5) Yes: T1 < T4 (TRUE)  T2 > T3 (TRUE)
               T1 --- T2
           T3 ------------ T4
    5) No: T1 < T4 (FALSE) T2 > T3 (TRUE)
                    T1 --- T2
           T3 --- T4Answer: Yes they overlap if:
    T1 < T4 AND T2 > T3
    So you can code the logic in your SQL as simply:
    SELECT *
    FROM tbl
    WHERE range1_start < range2_end
    AND    range_1_end > range2_startIf you go around implementing PL/SQL functions for simple logic that can be achieved in SQL alone then you cause context switching between the SQL and PL/SQL engines which degrades performance. Wherever possible stick to just SQL and only use PL/SQL if absolutely necessary.

  • Reg: DBMS_JAVA is in invalid state

    All,
    1) While exporting the data(logical backup) for specific user, im prompted with
    Export: Release 9.2.0.1.0 - Production on Wed Jul 15 21:21:23 2009
    Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
    Connected to: Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
    With the Partitioning, OLAP and Oracle Data Mining options
    JServer Release 9.2.0.4.0 - Production
    Export done in WE8MSWIN1252 character set and UTF8 NCHAR character set
    server uses UTF8 character set (possible charset conversion)
    About to export specified users ...
    . exporting pre-schema procedural objects and actions
    . exporting foreign function library names for user SYS
    . exporting PUBLIC type synonyms
    EXP-00008: ORACLE error 6575 encountered
    ORA-06575: Package or function DBMS_JAVA is in an invalid state
    EXP-00000: Export terminated unsuccessfully
    2) It is also observed that on querying
    select * from dba_registry
    XDB     Oracle XML Database     9.2.0.4.0     INVALID     12-MAR-2007 19:20:03     SYS     XDB     DBMS_REGXDB.VALIDATEXDB     (null)     (null)
    the Oracle XML database is in INVALID state and some of the packages "XMLATTRCOVER","XMLDOCUMENTCOVER","XMLTEXTCOVER" ETC are in invalid state.
    Please any ideas would be great in resolving the issue.
    Regards,
    ORA

    While logged in as SYSDBA run the script
    SQL>$ORACLE_HOME/rdbms/admin/utlrp.sql
    If it still stays INVALID after that, follow Metalink Note 243554.1 to Deinstall and Reinstall XML Database

  • How to open and compile a package specification and body in SQL Developer

    I'm currently evaluating a possible migration to SQL Developer.
    Our PL/SQL code base is stored in scripts files named as follows: <schema>.<package_name>_<package|package_body>.sql and managed in SVN.
    If now trying open a sql script containing the package specification or body and trying to compile it, I get no or strange error messages as if SQLDeveloper would not recognize the source as a PL/SQL code.
    If I open an already compiled package from the database it seems to work as expected.
    On the other hand I cannot find any option to write a package specification or body to a script except for the "Save package spec and body" option that only generates a single (!) script containing package specification and body in one single file and without any configuration options on how to name the generated file.
    Any help is appreciated!

    What strange error messages ? Make sure to configure your extensions as PL/SQL file type under Preferences - File Types.
    To save, just Save As under the File menu.
    Hope that helps,
    K.

  • Unable to fetch columns; Invalid state/No Suitable Driver

    Hi!
    I'm trying to populate a combo box with data from a MySQL database (or any other database for that matter), I create a JDBC connection source, and set the following:
    URL = jdbc:mysql://localhost:3306/test
    Driver = org.mysql.jdbc.Driver (i have also tried org.gjt.mm.mysql.Driver)
    Username = anonymous
    Password = <blank>
    Next I create a NBJdbcRowSet and set:
    Command = SELECT * FROM foo
    Connection Provider = connectionSource1 (the above connection source)
    Now if I click the elipses next to Default Column Values, I get the message 'Unable to fetch columns; Invalid State'
    If I replace the NBJDBCRowSet with a NBCachedRowSet, the error becomes 'Unable to fetch columns; No Suitable Driver'.
    The database is browseable in the runtime tab, and the table exists (I can run SQL queries and get the expected results). The anonymous account exists and has access to the tables in question (the same setup is used in a few different applications, all of which work fine). Using the root account gives the same results. Using the PointBase example database gives the same results:
    Driver: com.pointbase.jdbc.jdbcUniversalDriver
    URL: jdbc:pointbase:server://localhost:9092/sample
    Details of setup:
    OS: Windows XP Pro SP2
    IDE: Sun Java Studio Enterprise 7 2004Q4
    Java version in use: 1.4.2_05 (as packaged with the studio)
    MySQL: v5.0.7-beta-nt
    Connector: MySQL Connector/J 3.0.17-ga
    PointBase: As came with Studio Enterprise
    I should mention that I can get DB connectivity in my app, I can create a comboBox and set the model to 'nBCachedRowSet1: name' and the contents of that field appears in my comboBox, however I need to create about a dozen tables and I don't relish the thought of manually creating models for each one ;)
    Any suggestions are appreciated!
    Cheers!
    Darren

    Hi Thanks for your reply.
    I've retried with PointBase and the Sample DB:
    * New project. New JFrame.
    * Create ConnectionSource, NBJdbcRowSet, ComboBox
    * Config ConnectionSource:
    - Driver: com.pointbase.jdbc.jdbcUniversalDriver
    - URL: jdbc:pointbase:server://localhost:9092/sample
    - Username/pass: as per PointBase setup
    * Config NBJdbcRowSet
    - ConnectionProvider: connectionSource1
    - Command: SELECT * FROM CUSTOMERINFO
    - Default Column Values: <open GUI>, <Fetch Columns>, "Unable to fetch columns; Invalid State"
    So this is where I get the problem, I'm not sure if i've buggered it up though, so I continue to see if I can get data:
    - Add Column: NAME
    - OK, Close
    * Config ComboBox
    - Open Model dialog
    - Select Mode: ComboBoxEditor
    - RowSet: nBJdbcRowSet1 (this throws the error again)
    - Column: NAME (entered manually, dropdown is empty)
    - OK, Close
    * Run app
    Errors!
    Seems like the GUI builder did something wrong - it generated a bunch of functions for each thing i added, like this:
    public void setJComboBox1(JComboBox val) {
    this.jComboBox1 = val;
    and the project won't compile. I figure out it should be like this:
    public void setJComboBox1(javax.swing.JComboBox val) {
    this.jComboBox1 = val;
    but the functions aren't doing anything anyway, so I delete them all. I'm starting to think my installation is borked.
    Project now compiles and runs, but there's no data, and I get:
    ClassNotFoundException: com.pointbase.jdbc.jdbcUniversalDriver
    At this point i should probably find the jar with that driver in it and mount this/add it to the classpath, but the boss has decided we'll use Borland Delphi 2005 .NET anyways, so I won't take this any further...
    Thanks for your help guys!
    Darren

  • Why can I only text 10 people with the IPhone 4s

    Why can I only text 10 people at a time with the IPhone 4s?

    Apple has, to the best of my knowledge made a statement about why they have included this limitation. To prevent spamming perhaps? There are group texting apps available in the App Store that my suit your needs.

  • ACE - TCP probe goes into INVALID state

    Hello,
    I have a problem with the following configuration of a sticky serverfarm with a backup serverfarm
    (this setup is ofcourse used only for failover purposes, not loadbalancing):
    probe tcp tcp-8888-probe
      port 8888
      interval 5
      faildetect 2
      passdetect interval 3
      passdetect count 1
    rserver host rsrv1
      ip address 10.1.2.10
      inservice
    rserver host rsrv2
      ip address 10.1.2.11
      inservice
    serverfarm host rfarm-primary
      predictor leastconns
      probe tcp-8888-probe
      rserver rsrv1 8888
        inservice
    serverfarm host rfarm-backup
      predictor leastconns
      probe tcp-8888-probe
      rserver rsrv2 8888
       inservice
    sticky http-cookie RFARM-COOKIE sticky-rfarm-1
      cookie insert browser-expire
      serverfarm rfarm-primary backup rfarm-backup
    etc....
    The problem is that every time probe state changes (from SUCCESS to FAIL or otherwise), the tcp-8888-probe on the server that changed
    the state of service, goes into INVALID state:
    #show probe tcp-8888-probe detail
    probe       : tcp-8888-probe
    type        : TCP
    state       : ACTIVE
    description :
       port      : 8888    address     : 0.0.0.0         addr type  : -
       interval  : 5       pass intvl  : 3               pass count : 1
       fail count: 2       recv timeout: 10
       conn termination : GRACEFUL
       expect offset    : 0         , open timeout     : 10
       expect regex     : -
       send data        : -
                           --------------------- probe results --------------------
       probe association   probed-address  probes     failed     passed     health
       ------------------- ---------------+----------+----------+----------+-------
       serverfarm  : rfarm-backup
         real      : rsrv2[8888]
                           10.1.2.11    291        0          291        SUCCESS
       Socket state        : CLOSED
       No. Passed states   : 1         No. Failed states : 0
       No. Probes skipped  : 0         Last status code  : 0
       No. Out of Sockets  : 0         No. Internal error: 0
       Last disconnect err :  -
       Last probe time     : Thu Jun 17 22:12:31 2010
       Last fail time      : Never
       Last active time    : Thu Jun 17 21:48:21 2010
       serverfarm  : rfarm-primary
         real      : rsrv1[8888]
                           10.1.2.10    0          0          0          INVALID
       Socket state        : CLOSED
       No. Passed states   : 0         No. Failed states : 0
       No. Probes skipped  : 0         Last status code  : 0
       No. Out of Sockets  : 0         No. Internal error: 0
       Last disconnect err :  -
       Last probe time     : Never
       Last fail time      : Never
       Last active time    : Never
    I have managed to get the probe into FAIL state again for a moment by removing it from serverfarm, and then reapplying, but in a few seconds it goes again from FAIL to INVAILD state, and stays in this state regardless of avaliability of probed TCP port. Only when i'm reapplying it when the port is avaliable/up, it can stay in SUCCESS state, and work till the failure of service, when INVALID state reappears.
    What can be the cause of such behavior ?
    thanks,
    WM

    Hello,
    It looks very similar to this bug: CSCsh74871
    You may need to collect a #show tech-support and do the following:
    -remove the serverfarm in question
    -reboot the ace module under a maintenance window.
    You may upgrade to a higher version since your version is kind of old.
    Jorge

  • Grant Execute on package Specification

    How to give grant to package specification to another user?
    The package has only specification and no package body
    in package specification i have defined some constants variables which i need to access from another user?
    Current if i give grant execute from the other user it is shwoing up only blank body......

    Works for me...
    As test_user...
    SQL> create or replace package test_vars is
      2    g_number number := 100;
      3  end;
      4  /
    Package created.
    SQL> grant execute on test_vars to scott;
    Grant succeeded.As scott...
    SQL> create synonym test_vars for test_user.test_vars;
    Synonym created.
    SQL> set serverout on
    SQL> begin
      2    dbms_output.put_line(test_vars.g_number);
      3  end;
      4  /
    100
    PL/SQL procedure successfully completed.
    SQL>

  • Why do we use CRAETE DATA statement ?

    Hi,
    Why do we use CREATE DATA statement ? is it only for optimisation  ?
    thanks.
    Edited by: B on Jan 27, 2009 4:13 PM

    >
    B wrote:
    > Hi, thank you for the answers. The reply by Sonia Baboo was not copy paste from abap help. whereas the one from Niki was.
    >
    >
    >  i have rewarded points. the answers were very helpful
    >
    > thanks
    > B
    It was copy and paste from SAP Help.  http://help.sap.com/saphelp_nw70/helpdata/EN/16/0dce040cf711d3b9360000e8353423/content.htm

  • Imap and Pop not working on 2013 servers - BAD Command received in Invalid state

    Hello, 
    We recently moved our frontend server over to Exchange 2013. So now both internally and externally all mail traffic will flow through the new servre. After battling issue after issue I was able to get the new exchange environment working as it should. The
    only problem is that IMAP and POP3 logins do not work for 2013 mailboxes. It works fine for 2010 but not 2013. Here are the results from the testconnectivity website:
    The IMAP service is being tested.
    There was an error testing the IMAP service
    Additional Details
    Secured: CN=mail.domain.com, OU=Unified Communications, O=Companhy, POBox=United States, S...
    S: * OK The Microsoft Exchange IMAP4 service is ready.
    C: 1 CAPABILITY
    S: * CAPABILITY IMAP4 IMAP4rev1 AUTH=PLAIN UIDPLUS CHILDREN IDLE NAMESPACE LITERAL+
    1 OK CAPABILITY completed.
    C: 2 LOGIN user <password>
    S: 2 NO LOGIN failed.
    C: 3 LIST "" *
    S: 3 BAD Command received in Invalid state.
    Microsoft.Exchange.Tools.ExRca.Tests.ImapPop.MailProtocolException: 3 BAD Command received in Invalid state.
    at Microsoft.Exchange.Tools.ExRca.Tests.ImapPop.ImapProtocolTester.SendCommand(String command, String logString)
    at Microsoft.Exchange.Tools.ExRca.Tests.ImapPop.BaseProtocolTest.PerformTestReally()
    Elapsed Time: 1829 ms.
    Here are my Get-ImapSettings from the mailbox server
    RunspaceId                        : 1c5069f4-520f-4f62-88d6-affd0e0796d7
    ProtocolName                      : IMAP4
    Name                              : 1
    MaxCommandSize                    : 10240
    ShowHiddenFoldersEnabled          : False
    UnencryptedOrTLSBindings          : {[::]:143, 0.0.0.0:143}
    SSLBindings                       : {[::]:993, 0.0.0.0:993}
    InternalConnectionSettings        : {MAIL4.domain.com:993:SSL, MAIL4.domain.com:143:TLS}
    ExternalConnectionSettings        : {}
    X509CertificateName               : mail.domain.com
    Banner                            : The Microsoft Exchange IMAP4 service is ready.
    LoginType                         : SecureLogin
    AuthenticatedConnectionTimeout    : 00:30:00
    PreAuthenticatedConnectionTimeout : 00:01:00
    MaxConnections                    : 2147483647
    MaxConnectionFromSingleIP         : 2147483647
    MaxConnectionsPerUser             : 16
    MessageRetrievalMimeFormat        : BestBodyFormat
    ProxyTargetPort                   : 143
    CalendarItemRetrievalOption       : iCalendar
    OwaServerUrl                      :
    EnableExactRFC822Size             : False
    LiveIdBasicAuthReplacement        : False
    SuppressReadReceipt               : False
    ProtocolLogEnabled                : True
    EnforceCertificateErrors          : False
    LogFileLocation                   : C:\Program Files\Microsoft\Exchange Server\V15\Logging\Imap4
    LogFileRollOverSettings           : Daily
    LogPerFileSizeQuota               : 0 B (0 bytes)
    ExtendedProtectionPolicy          : None
    EnableGSSAPIAndNTLMAuth           : True
    Server                            : MAIL4
    AdminDisplayName                  :
    ExchangeVersion                   : 0.10 (14.0.100.0)
    DistinguishedName                 : CN=1,CN=IMAP4,CN=Protocols,CN=MAIL4,CN=Servers,CN=Exchange Administrative Group
                                        (FYDIBOHF23SPDLT),CN=Administrative Groups,CN=Company,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=willowcreek,DC=org
    Identity                          : MAIL4\1
    Guid                              : 593e53d7-64e5-4170-b897-47b1af944a5b
    ObjectCategory                    : domain.com/Configuration/Schema/ms-Exch-Protocol-Cfg-IMAP-Server
    ObjectClass                       : {top, protocolCfg, protocolCfgIMAP, protocolCfgIMAPServer}
    WhenChanged                       : 2/4/2015 8:45:39 AM
    WhenCreated                       : 1/22/2015 1:48:43 PM
    WhenChangedUTC                    : 2/4/2015 2:45:39 PM
    WhenCreatedUTC                    : 1/22/2015 7:48:43 PM
    OrganizationId                    :
    OriginatingServer                 : NS6.domain.com
    IsValid                           : True
    ObjectState                       : Unchanged
    The IMAP service is being tested.
    There was an error testing the IMAP service
    Additional Details
    Secured: CN=mail.willowcreek.org, OU=Unified Communications, O=Willow Creek Community Church, POBox=United States, STREET=67 E Algonquin Road, L=South Barrington, S=IL, PostalCode=60010, C=US
    S: * OK The Microsoft Exchange IMAP4 service is ready.
    C: 1 CAPABILITY
    S: * CAPABILITY IMAP4 IMAP4rev1 AUTH=PLAIN UIDPLUS CHILDREN IDLE NAMESPACE LITERAL+
    1 OK CAPABILITY completed.
    C: 2 LOGIN ssimpson <password>
    S: 2 NO LOGIN failed.
    C: 3 LIST "" *
    S: 3 BAD Command received in Invalid state.
    Microsoft.Exchange.Tools.ExRca.Tests.ImapPop.MailProtocolException: 3 BAD Command received in Invalid state.
    at Microsoft.Exchange.Tools.ExRca.Tests.ImapPop.ImapProtocolTester.SendCommand(String command, String logString)
    at Microsoft.Exchange.Tools.ExRca.Tests.ImapPop.BaseProtocolTest.PerformTestReally()
    Elapsed Time: 1829 ms.
    The IMAP service is being tested.
    There was an error testing the IMAP service
    Additional Details
    Secured: CN=mail.willowcreek.org, OU=Unified Communications, O=Willow Creek Community Church, POBox=United States, STREET=67 E Algonquin Road, L=South Barrington, S=IL, PostalCode=60010, C=US
    S: * OK The Microsoft Exchange IMAP4 service is ready.
    C: 1 CAPABILITY
    S: * CAPABILITY IMAP4 IMAP4rev1 AUTH=PLAIN UIDPLUS CHILDREN IDLE NAMESPACE LITERAL+
    1 OK CAPABILITY completed.
    C: 2 LOGIN ssimpson <password>
    S: 2 NO LOGIN failed.
    C: 3 LIST "" *
    S: 3 BAD Command received in Invalid state.
    Microsoft.Exchange.Tools.ExRca.Tests.ImapPop.MailProtocolException: 3 BAD Command received in Invalid state.
    at Microsoft.Exchange.Tools.ExRca.Tests.ImapPop.ImapProtocolTester.SendCommand(String command, String logString)
    at Microsoft.Exchange.Tools.ExRca.Tests.ImapPop.BaseProtocolTest.PerformTestReally()
    Elapsed Time: 1829 ms.

    When you do the telnet test make sure you enter in the command like below verbatim. Right before you type login you need to add some preceding character in my case the > sign.
    * OK The Microsoft Exchange IMAP4 service is ready.
    > login jchong password (make sure you type a preceding character first like the > sign)
    > OK LOGIN completed.
    James Chong MCITP | EA | EMA; MCSE | M+, S+ Security+, Project+, ITIL msexchangetips.blogspot.com

Maybe you are looking for

  • Using multiple iPhones questions

    Hello all, I have had my iPhone 4 for over a year and am very happy with it. My father is thinking of getting one also, however I need some clarification on a number of issues. 1. Is it possible for two iPhones to be backed up to iCloud without shari

  • HT1386 I have exclamation points next to all of my iTunes songs.  How do I get rid of them?

    I started this yesterday, but I lost my converstations.  I'm not that computer savy.  Please help!  I cannot get rid of those exclamation points, and I can't play the music through my computer OR sync with my iPod Touch.  Help!!!!  I have Windows Vis

  • Where is the iCloud app for iOS?!

    Can anybody explain please how iCloud works as a replacement for Google Drive or Dropbox?! Despite being very au fait with everything Apple I still can't work out how it's meant to work - I'm using iOS 8 on all my devices and OS X Yosemite. So, as an

  • Has anyone used Config_DAQ_Event_Message using Visual Basic?

    I am not using ComponentWorks, just Visual Basic 6.0 on Windows NT with DAQ dll function calls. My hardware is an PCI-6534. The function Config_DAQ_Event_Message has as its last parameter a callback function address. I prefaced the function name with

  • What is it that makes the Downloads dock icon bounce?

    Is it a bird? Is it a plane? Is it a script? And more importantly: can I copy the behavior with other dock icons? Many thanks, as always, people.