Biztalk as2 and x12 party testing on Testing Server

hi experts,
we are currently in testing env , we have lot of parties configuration on x12 and as2. the parties we have live partners identities.
while we testing the we facing the the party not found exception.
1. how to avoid party not found exception or as per testing way as of now.
2.otherwise i think we have to configure  some dummy party , assing the where ever.
please any one put your inputs,.........
Thanks

Thanks Boat,Tanmoy,
Tanmoy your sounds make some approach 2 me, Plz put more clarity global party.
here we have as2 url and x12. how to we have create some global party for testing purpose only.
Thanks

Similar Messages

  • BizTalk AS2 Issue

    Hi,
    We have setup BizTalk AS2 and we are receiving the following error for the specific send port (on outbound):
    The adapter failed to transmit message going to send port “” with URL “”.
    It will be retransmitted after the retry interval specified for this Send Port. Details:"Unable to read data from the transport connection: The connection was closed.".
    Note we are sending to the same URL for another sendport (and its working fine), but we are changing the AS2 ids (as one is for a canada and another is for US). Any direction would
    be great. Thanks in advance.
    System information:
    Windows Server 2008 R2
    BizTalk Server 2010
    Thanks,
    Jacob

    Hi Jacob,
    I understand that the same URL is working, but how about the party configuration and its association with the send port? Have you changed/updated the party when you change the URL? Check it.
    If this answers your question please mark it accordingly. If this post is helpful, please vote as helpful by clicking the upward arrow mark next to my reply.

  • [svn:bz-trunk] 16330: QA: Yes - Ran test locally and it was failing but tested condition was true - there is no services-config .xml file

    Revision: 16330
    Revision: 16330
    Author:   [email protected]
    Date:     2010-05-26 07:55:41 -0700 (Wed, 26 May 2010)
    Log Message:
    QA: Yes - Ran test locally and it was failing but tested condition was true - there is no services-config.xml file
    Doc: No
    Checkintests: NA
    Details: Updated expected error message to match current error.
    Modified Paths:
        blazeds/trunk/qa/apps/qa-regress/testsuites/config/tests/NoServicesConfigFileTest/error.t xt

    I have uploaded detail.txt at below url.
    http://m.uploadedit.com/b041/1413264342685.txt
    Hi Mahesh,
    According to log file, I find the message ‘The setup100.exe.config file was not found, therefore the DTSWizard and SQLWatson app config files were not replaced’. It seems that the SQL Server setup file is not complete. Please check that if the SQL Server
    setup file is corrupted, if it is corrupted, please download it again and reinstall SQL Server 2008 R2.
    However, if there’s no problem with the setup file, please check that if there is third-party software such as anti-virus software on your computer blocking the process of SQL Server installation. In addition, make sure that you choose ‘Run as administrator’
    to launch the setup and configure SQL Server service accounts appropriately with administrator permission during the installation.
    For more details about this error, please review the following similar thread.
    http://answers.flyppdevportal.com/categories/sqlserver/sqlsetupandupgrade.aspx?ID=ad794a97-09ae-4aae-9d68-0b06f9af3e16
    Thanks,
    Lydia Zhang

  • 2.3.11 and 2.4.13 fail tests on OpenSuse 10.3 x86_64

    I am trying to get php and perl API of BDBXML 2.3.11 and 2.4.13 running on OpenSuse 10.3 x86_64
    when using --enable-perl the perl tests fail so i tried to run the test suite and compare it against 32bit builds.
    2.3.11
    after changing dbxml/dist/configure.ac like this:
    367c367
    <       LIBTSO_MODSUFFIX=@MODSUFFIX@
    LIBTSO_MODSUFFIX=$MODSUFFIX'make test' in dbxml/build_unix produces a ALL.OUT
    using:
    grep "^FAIL" -A 1 -B 1 dbxml-2.3.11/dbxml/build_unix/ALL.OUTstill produces lots of output. Since the 32bit version is working I compared the output produced on a 32bit ubuntu 07.10 with 64bit OpenSuse 10.3 which showed that following errors only occured on the 64bit system:
                            Xml003.3.1c: Put/get on both DB's
    FAIL:10:16:44 (00:00:00) dbxml_dump/dbxml_load(3.3.1.dbxml:unexpected hexadecimal value ' '
    load 3.3.1.dbxml-dumpload: Error: Invalid argument): expected 0, got 1
    FAIL:10:16:44 (00:00:00) Dump/load of 3.3.1.dbxml failed.
            8.8: Query timeout
    FAIL: should not have gotten here
    FAIL:10:17:04 (00:00:00) 8.8.8 returned error value 1
    FAIL:10:17:04 (00:00:00) 8.8.8: expected "1", got "0"
            8.8: Container not found
                    12.4.1: update with duplicate index entries
    FAIL:10:21:41 (00:00:00) dbxml_dump/dbxml_load(12.4.1.dbxml:unexpected hexadecimal value ' '
    load 12.4.1.dbxml-dumpload: Error: Invalid argument): expected 0, got 1
    FAIL:10:21:41 (00:00:00) Dump/load of 12.4.1.dbxml failed.there are more errors but they are not unique to the 64bit system. The shown messages repeat for different test settings(wholedoc/node - storage ...)
    the errors occurring in 3.3.1c and 12.4.1 can also be reproduced using dbxml,dbxml_dump and dbxml_load:
    ./dbxml -h /tmp
    dbxml>createcon test.dbxml
    dbxml>putdoc phone1 '<phone/>'
    dbxml>quit
    ./dbxml_dump -h /tmp/ -f /tmp/dbxml_2.3.11_test.dbxml.dump test.dbxml
    ./dbxml_load -h /tmp/ -f /tmp/dbxml_2.3.11_test.dbxml.dump test2.dbxml
    2.4.13
    The documentation states that the test should be run from within the tclsh, but I think make test should be supported too. (make test only works after adapting pathes to new location in dbxml/test/tcl/)
    similar procedure as above shows that the bug responsible for failing 3.3.1c and 12.4.1 is fixed
    and 8.8.8 still fails.
    Having a look at 8.8.8 my assumption is that the test fails simply because the machine is too fast (2.13Ghz Core2Duo) and executes the test query before the set timeout is triggered.
    Now back to perl:
    2.3.11 tests fail with:
    PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, '../blib/lib', '../blib/arch')" t/XmlManager.t
    t/XmlManager....ok 43/89BDB XML: unexpected hexadecimal value ' '           
    failed
    Error: Invalid argument in t/XmlManager.t, line 350
    # Looks like you planned 89 tests but only ran 51.
    t/XmlManager....dubious                                                     
            Test returned status 255 (wstat 65280, 0xff00)
    DIED. FAILED tests 52-89
            Failed 38/89 tests, 57.30% okay
    Failed Test    Stat Wstat Total Fail  Failed  List of Failed
    t/XmlManager.t  255 65280    89   76  85.39%  52-89
    Failed 1/1 test scripts, 0.00% okay. 38/89 subtests failed, 57.30% okay.after wrapping the call to loadContainer in test 51 in eval {} catch{}
    the output looks like this (no further failures)
    PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, '../blib/lib', '../blib/arch')" t/XmlManager.t
    t/XmlManager....ok 1/89BDB XML: unexpected hexadecimal value ' '            
    failed with std exception:Error: Invalid argument in t/XmlManager.t, line 350
    #   Failed test 'dump and load failed'
    #   in t/XmlManager.t at line 363.
    t/XmlManager....ok 53/89# Looks like you failed 1 test of 89.               
    t/XmlManager....dubious                                                     
            Test returned status 1 (wstat 256, 0x100)
    DIED. FAILED test 52
            Failed 1/89 tests, 98.88% okay
    Failed Test    Stat Wstat Total Fail  Failed  List of Failed
    t/XmlManager.t    1   256    89    1   1.12%  52
    Failed 1/1 test scripts, 0.00% okay. 1/89 subtests failed, 98.88% okay.luckily this is the only test that fails:
    PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, '../blib/lib', '../blib/arch')" t/*.t
    Failed Test    Stat Wstat Total Fail  Failed  List of Failed
    t/XmlManager.t    1   256    89    1   1.12%  522.4.13 tests fail with:
    PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, '../blib/lib', '../blib/arch')" t/*.t
    Failed Test Stat Wstat Total Fail Failed List of Failed
    t/XmlManager.t 1 256 89 1 1.12% 43
    t/XmlQueryContext.t 255 65280 33 62 187.88% 3-33
    t/XmlValue.t 1 256 248 1 0.40% 245
    looking at XmlManager test shows that it is not the same as above but something else
    PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, '../blib/lib', '../blib/arch')" t/XmlManager.t
    t/XmlManager....ok 32/89                                                    
    #   Failed test 'getIndexNodes'
    #   in t/XmlManager.t at line 275.
    t/XmlManager....ok 52/89# Looks like you failed 1 test of 89.               
    t/XmlManager....dubious                                                     
            Test returned status 1 (wstat 256, 0x100)
    DIED. FAILED test 43
            Failed 1/89 tests, 98.88% okay
    Failed Test    Stat Wstat Total Fail  Failed  List of Failed
    t/XmlManager.t    1   256    89    1   1.12%  43
    Failed 1/1 test scripts, 0.00% okay. 1/89 subtests failed, 98.88% okay.The other two tests seem to fail because the tests are not correct, but i haven't had the time to look at them yet. Here is the output:
    t/XmlQueryContext..........ok 1/33Bareword "XmlQueryContext::DeadValues" not allowed while "strict subs" in use at t/XmlQueryContext.t line 194, <DATA> line 225.
    Bareword "XmlQueryContext::DeadValues" not allowed while "strict subs" in use at t/XmlQueryContext.t line 195, <DATA> line 225.
    Execution of t/XmlQueryContext.t aborted due to compilation errors.
    # Looks like you planned 33 tests but only ran 2.
    # Looks like your test died just after 2.
    t/XmlQueryContext..........dubious                                          
            Test returned status 255 (wstat 65280, 0xff00)
    DIED. FAILED tests 3-33
            Failed 31/33 tests, 6.06% okay
    t/XmlValue.................ok 1/248                                         
    #   Failed test 'getLocalName'
    #   in t/XmlValue.t at line 410.
    #          got: ''
    #     expected: '#document'
    t/XmlValue.................NOK 245# Looks like you failed 1 test of 248.    
    t/XmlValue.................dubious                                          
            Test returned status 1 (wstat 256, 0x100)
    DIED. FAILED test 245
            Failed 1/248 tests, 99.60% okaySo my questions are:
    1. can and will the fix for dump/load be back ported to 2.3.11
    2. is my assumption about 8.8.8 correct
    3. is there a patch underway for perl on 2.4.13?
    4. were there other issues in 2.3.11 that have been fixed in 2.4.13 but not back ported. especially regarding perl and php APIs on 64bit platforms.
    I noticed that at least the patch provided in: PHP / BDB XML works fine on Red Hat Fedora 5, not on SuSE 10.2/Athlon 64 by djimenez was not incorporated into 2.3.11 (2.4.13 seems to be fixed)
    5. since there seems to be no publicly available php test suite yet, will there be one in the near future?
    all comments welcome,
    thanks
    Gordon

    for anyone interested this is a patch for 2.3.11 that backports 64bit php fixes from 2.4.13. It also contains some other changes:
    -additional php possibly wrong usage of long instead of int on 64 bit in db-4.5.20
    -perl see: Re: perl script segfaults on putDocument
    -dbxml tcl test: configure.ac LIBTSO_MODSUFFIX and setting the default tcl test to "run_all" instead of "run_xml"
    Please note: The code looks a bit strange because the [ i ] access into an array is interpreted by the forum software and converted to &lt;i&gt;. So you cannot directly copy the patch from browser but need to copy the raw html and modify it (e.g. pass it through sed).
    you'll need the &lt;pre&gt; &lt;/pre&gt; part from this post and exchange &lt;i&gt; for [ i ] (without spaces) and &lt;br&gt; for '\n'. Maybe it will work. :-)
    diff -Naur -x '*xerces-c-src*' -x '*build_unix*' -x '*configure' -x '*Builder.pm' -x '*More.pm' -x'*const-c.inc' -x '*setup.py' dbxml-2.3.11.orig/db-4.5.20/php_db4/db4.cpp dbxml-2.3.11-64/db-4.5.20/php_db4/db4.cpp
    --- dbxml-2.3.11.orig/db-4.5.20/php_db4/db4.cpp     2006-09-16 03:20:58.000000000 +0200
    +++ dbxml-2.3.11-64/db-4.5.20/php_db4/db4.cpp     2008-05-30 18:35:43.000000000 +0200
    @@ -1203,7 +1203,7 @@
         DB_TXN *dbtxn = NULL;
         zval *dbtxn_obj = NULL;
         char file = NULL, database = NULL;
    -    long filelen = 0, databaselen = 0;
    +    int filelen = 0, databaselen = 0;
         DBTYPE type = DB_BTREE;
         u_int32_t flags = DB_CREATE;
         int mode = 0;
    @@ -2015,7 +2015,7 @@
         DbEnv *dbe;
         zval *self;
         char *home;
    -    long homelen;
    +    int homelen;
         u_int32_t flags = 0;
         self = getThis();
         getDbEnvFromThis(dbenv);
    @@ -2035,7 +2035,7 @@
         DB_ENV *dbenv;
         zval *self;
         char *dir;
    -    long dirlen;
    +    int dirlen;
         self = getThis();
         getDbEnvFromThis(dbenv);
         if(zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &dir, &dirlen) == FAILURE)
    diff -Naur -x '*xerces-c-src*' -x '*build_unix*' -x '*configure' -x '*Builder.pm' -x '*More.pm' -x'*const-c.inc' -x '*setup.py' dbxml-2.3.11.orig/dbxml/dist/configure.ac dbxml-2.3.11-64/dbxml/dist/configure.ac
    --- dbxml-2.3.11.orig/dbxml/dist/configure.ac     2007-01-19 16:52:44.000000000 +0100
    +++ dbxml-2.3.11-64/dbxml/dist/configure.ac     2008-06-02 18:30:41.000000000 +0200
    @@ -364,7 +364,7 @@
         LIBJSO_LN_INSTALL="test -f \$(libjso_base)-\$(SOVERSION).dylib && \$(ln) -f -s \$(libjso_base)-\$(SOVERSION).dylib \$(libjso_base)-\$(SOVERSION).jnilib";;
         LIBTSO_MODULE="-module"
    -     LIBTSO_MODSUFFIX=@MODSUFFIX@
    +     LIBTSO_MODSUFFIX=$MODSUFFIX
         LIBJSO_LN_BUILD=""
         LIBJSO_LN_INSTALL="";;
    esac
    diff -Naur -x '*xerces-c-src*' -x '*build_unix*' -x '*configure' -x '*Builder.pm' -x '*More.pm' -x'*const-c.inc' -x '*setup.py' dbxml-2.3.11.orig/dbxml/src/dbxml/db_rdbt.c dbxml-2.3.11-64/dbxml/src/dbxml/db_rdbt.c
    --- dbxml-2.3.11.orig/dbxml/src/dbxml/db_rdbt.c     2008-04-16 17:46:53.000000000 +0200
    +++ dbxml-2.3.11-64/dbxml/src/dbxml/db_rdbt.c     2008-06-04 18:01:55.000000000 +0200
    @@ -206,7 +206,7 @@
                        break;
                   buf[linelen++] = '\0';
              } else
    -               linelen = strlen(buf) + 1;
    +               linelen = (int) strlen(buf) + 1;
              start += linelen;
              if (name != NULL) {
    diff -Naur -x '*xerces-c-src*' -x '*build_unix*' -x '*configure' -x '*Builder.pm' -x '*More.pm' -x'*const-c.inc' -x '*setup.py' dbxml-2.3.11.orig/dbxml/src/dbxml/DbWrapper.cpp dbxml-2.3.11-64/dbxml/src/dbxml/DbWrapper.cpp
    --- dbxml-2.3.11.orig/dbxml/src/dbxml/DbWrapper.cpp     2008-04-16 17:46:53.000000000 +0200
    +++ dbxml-2.3.11-64/dbxml/src/dbxml/DbWrapper.cpp     2008-06-04 20:33:18.000000000 +0200
    @@ -219,7 +219,7 @@
         int version, ret, t_ret;
         DBTYPE dbtype;
         char *subdb;
    -     u_int32_t read_flags;
    +     u_int32_t read_flags, tflags;
         Dbt key, data;
         db_recno_t recno, datarecno;
         DB_ENV *dbenv = environment_ ? environment_->get_DB_ENV() : 0;
    @@ -252,11 +252,14 @@
              db_.err(ENOMEM, NULL);
              goto err;
    +     
    +     // work around gcc optimizer issue that seems to modify
    +     // read_flags (4.1.1 on 64-bit linux)
    +     tflags = read_flags;
         /* Get each key/data pair and add them to the database. */
         for (recno = 1;; ++recno) {
              if ((ret = __db_rdbt(dbenv, key.get_DBT(), data.get_DBT(),
    -                         read_flags, read_callback, in, lineno)) != 0) {
    +                         tflags, read_callback, in, lineno)) != 0) {
                   if (ret == EOF)
                        ret = 0;
                   break;
    @@ -267,7 +270,7 @@
                   break;
              case DB_KEYEXIST:
                   db_.errx("line %d: key already exists, not loaded:", *lineno);
    -               dbenv->prdbt(key.get_DBT(), read_flags & DB_READ_PRINTABLE,
    +               dbenv->prdbt(key.get_DBT(), tflags & DB_READ_PRINTABLE,
                             0, &std::cerr, pr_callback, 0);
                   break;
              default:
    @@ -602,9 +605,9 @@
         // but if incrementing the last byte results in a carry
         // (value overflows and goes back to zero), then we have
         // to increment the last-but-one byte - and so on.
    -     char maxPtr = (char )dbt.get_data();
    +     unsigned char maxPtr = (unsigned char )dbt.get_data();
         u_int32_t maxSize = dbt.get_size();
    -     char *pos = maxPtr + maxSize;
    +     unsigned char *pos = maxPtr + maxSize;
         for(--pos; pos >= maxPtr; --pos) {
              ++(*pos);
              if(*pos != 0) break;
    diff -Naur -x '*xerces-c-src*' -x '*build_unix*' -x '*configure' -x '*Builder.pm' -x '*More.pm' -x'*const-c.inc' -x '*setup.py' dbxml-2.3.11.orig/dbxml/src/perl/DbXml/DbXml.xs dbxml-2.3.11-64/dbxml/src/perl/DbXml/DbXml.xs
    --- dbxml-2.3.11.orig/dbxml/src/perl/DbXml/DbXml.xs     2006-11-22 23:56:13.000000000 +0100
    +++ dbxml-2.3.11-64/dbxml/src/perl/DbXml/DbXml.xs     2008-06-06 17:35:46.000000000 +0200
    @@ -1313,20 +1313,20 @@
             else if (sv_derived_from(contents, "XmlInputStream"))
                 XmlInputStream *s = GetObjPointer(contents, XmlInputStream);
    +            ClearObjPointer(contents);
                 if (txn)
                     RETVAL = THIS->putDocument(*txn, name, s, *context, flags);
                 else
                     RETVAL = THIS->putDocument(name, s, *context, flags);
    -            ClearObjPointer(contents);
             else if (sv_derived_from(contents, "XmlEventReader"))
                 XmlEventReader *s = GetObjPointer(contents, XmlEventReader);
    +            ClearObjPointer(contents);
                 if (txn)
                     RETVAL = THIS->putDocument(*txn, name, s, context, flags);
                 else
                     RETVAL = THIS->putDocument(name, s, context, flags);
    -            ClearObjPointer(contents);
             else
                 croak("putDocument parameter 2 should be an XmlInputStream, XmlEventReader or a string");
    @@ -1560,7 +1560,7 @@
         INIT:
             MY_TRY
         CLEANUP:
    -        ClearObjPointer(ST(1));
    +         ClearObjPointer(ST(1));
             MY_CATCH
    string
    diff -Naur -x '*xerces-c-src*' -x '*build_unix*' -x '*configure' -x '*Builder.pm' -x '*More.pm' -x'*const-c.inc' -x '*setup.py' dbxml-2.3.11.orig/dbxml/src/perl/DbXml/t/XmlManager.t dbxml-2.3.11-64/dbxml/src/perl/DbXml/t/XmlManager.t
    --- dbxml-2.3.11.orig/dbxml/src/perl/DbXml/t/XmlManager.t     2006-11-22 17:02:31.000000000 +0100
    +++ dbxml-2.3.11-64/dbxml/src/perl/DbXml/t/XmlManager.t     2008-06-06 17:31:39.000000000 +0200
    @@ -346,14 +346,28 @@
         ok -e "$tmp_dir/cont", "dumped content exists";
         my $new_container_name = "$tmp_dir/new";
    +    eval {
         $mgr->loadContainer($new_container_name, "$tmp_dir/cont");
    +   
         my $c1 = $mgr->openContainer($new_container_name);
         my $doc = $c1->getDocument('x') ;
    +
         my $cont = $doc->getContent();
    +
         is $cont, $content, "getContent ok" ;
    +    };
    +    if (my $e = catch std::exception)
    +    {
    +      warn "failed with std exception:" . $e->what() . "\n";
    +      ok 0, "dump and load failed with std::exception"
    +    }
    +    elsif ($@)
    +    {
    +      warn "failed\n";
    +      warn $@ . "\n";
    +      ok 0, "dump and load failed"
    +    }
         unlink "$tmp_dir/cont";
    if (my $e = catch std::exception)
    diff -Naur -x '*xerces-c-src*' -x '*build_unix*' -x '*configure' -x '*Builder.pm' -x '*More.pm' -x'*const-c.inc' -x '*setup.py' dbxml-2.3.11.orig/dbxml/src/php/php_dbxml_container.cpp dbxml-2.3.11-64/dbxml/src/php/php_dbxml_container.cpp
    --- dbxml-2.3.11.orig/dbxml/src/php/php_dbxml_container.cpp     2006-10-30 18:46:02.000000000 +0100
    +++ dbxml-2.3.11-64/dbxml/src/php/php_dbxml_container.cpp     2008-06-04 13:35:09.000000000 +0200
    @@ -36,7 +36,7 @@
       PHP_DBXML_STUFFED_THIS(XmlContainer);
       std::string buffer = This.getName();
    -  RETURN_STRINGL((char *)buffer.data(), buffer.length(), 1);
    +  DBXML_RETURN_STRINGL((char *)buffer.data(), buffer.length(), 1);
    PHP_DBXML_METHOD_END()
    @@ -97,7 +97,7 @@
       PHP_DBXML_STUFFED_THIS(XmlContainer);
       zval zctx = NULL, ztxn = NULL;
       char uri, name, *index;
    -  long urilen, namelen, indexlen;
    +  int urilen, namelen, indexlen;
       if(SUCCESS == zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC, "sss|O",
           &uri, &urilen, &name, &namelen, &index, &indexlen,
           &zctx, php_dbxml_XmlUpdateContext_ce)) {
    @@ -125,7 +125,7 @@
       PHP_DBXML_STUFFED_THIS(XmlContainer);
       zval zctx = NULL, ztxn = NULL;
       char uri, name, *index;
    -  long urilen, namelen, indexlen;
    +  int urilen, namelen, indexlen;
       if(SUCCESS == zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC, "sss|O",
           &uri, &urilen, &name, &namelen, &index, &indexlen,
           &zctx, php_dbxml_XmlUpdateContext_ce)) {
    @@ -153,7 +153,7 @@
       PHP_DBXML_STUFFED_THIS(XmlContainer);
       zval zctx = NULL, ztxn = NULL;
       char uri, name, *index;
    -  long urilen, namelen, indexlen;
    +  int urilen, namelen, indexlen;
       if(SUCCESS == zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC, "sss|O",
           &uri, &urilen, &name, &namelen, &index, &indexlen,
           &zctx, php_dbxml_XmlUpdateContext_ce)) {
    @@ -180,8 +180,8 @@
       PHP_DBXML_STUFFED_THIS(XmlContainer);
       zval zctx = NULL, ztxn = NULL;
    -  char uri, name, *index;
    -  long urilen, namelen, indexlen;
    +  char *index;
    +  int indexlen;
       if(SUCCESS == zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC, "s|O",
           &index, &indexlen,
           &zctx, php_dbxml_XmlUpdateContext_ce)) {
    @@ -208,8 +208,8 @@
       PHP_DBXML_STUFFED_THIS(XmlContainer);
       zval zctx = NULL, ztxn = NULL;
    -  char uri, name, *index;
    -  long urilen, namelen, indexlen;
    +  char *index;
    +  int indexlen;
       if(SUCCESS == zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC, "s|O",
           &index, &indexlen,
           &zctx, php_dbxml_XmlUpdateContext_ce)) {
    @@ -236,8 +236,8 @@
       PHP_DBXML_STUFFED_THIS(XmlContainer);
       zval zctx = NULL, ztxn = NULL;
    -  char uri, name, *index;
    -  long urilen, namelen, indexlen;
    +  char *index;
    +  int indexlen;
       if(SUCCESS == zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC, "s|O",
           &index, &indexlen,
           &zctx, php_dbxml_XmlUpdateContext_ce)) {
    @@ -270,7 +270,7 @@
       PHP_DBXML_STUFFED_THIS(XmlContainer);
       zval *ztxn = NULL;
       char *name;
    -  long namelen;
    +  int namelen;
       long flags = 0;
       if(SUCCESS == zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC, "s|l",
           &name, &namelen, &flags)) {
    @@ -299,7 +299,7 @@
         PHP_DBXML_STUFFED_THIS(XmlContainer);
         zval *ztxn = NULL;
         char *handle;
    -     long handleLen;
    +     int handleLen;
         long flags = 0;
         if(SUCCESS == zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC, "s|l",
                                    &handle, &handleLen, &flags)) {
    @@ -325,7 +325,8 @@
       PHP_DBXML_STUFFED_THIS(XmlContainer);
       zval ztxn = NULL, zdoc = NULL, zstream = NULL, zctx = NULL;
       char name, contents;
    -  long namelen, contentslen, flags = 0;
    +  int namelen, contentslen;
    +  long flags = 0;
       /* XmlDocument */
       if(SUCCESS == zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC, "O|Ol",
         &zdoc, php_dbxml_XmlDocument_ce,
    @@ -389,8 +390,7 @@
       PHP_DBXML_STUFFED_THIS(XmlContainer);
       zval ztxn = NULL, zdoc = NULL, zstream = NULL, zctx = NULL;
    -  char name, contents;
    -  long namelen, contentslen, flags = 0;
    +  long flags = 0;
       /* XmlDocument */
       if(SUCCESS == zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC, "O|Ol",
         &zdoc, php_dbxml_XmlDocument_ce,
    @@ -421,7 +421,7 @@
       PHP_DBXML_STUFFED_THIS(XmlContainer);
       zval ztxn = NULL, zdoc = NULL, *zctx = NULL;
       char *name;
    -  long namelen, contentslen;
    +  int namelen;
       if(SUCCESS == zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC, "O|O",
         &zdoc, php_dbxml_XmlDocument_ce,
         &zctx, php_dbxml_XmlUpdateContext_ce)) {
    @@ -462,8 +462,6 @@
       PHP_DBXML_STUFFED_THIS(XmlContainer);
       zval ztxn = NULL, zdoc = NULL, *zctx = NULL;
    -  char *name;
    -  long namelen, contentslen;
       if(SUCCESS == zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC, "O|O",
         &zdoc, php_dbxml_XmlDocument_ce,
         &zctx, php_dbxml_XmlUpdateContext_ce)) {
    @@ -489,9 +487,9 @@
       PHP_DBXML_STUFFED_THIS(XmlContainer);
       zval ztxn = NULL, zctx = NULL, *zvl = NULL;
       char uri, name, *index;
    -  long urilen, namelen, indexlen;
    -  char puri, pname, *pindex;
    -  long purilen, pnamelen, pindexlen;
    +  int urilen, namelen, indexlen;
    +  char puri, pname;
    +  int purilen, pnamelen;
       long flags = 0;
       if(SUCCESS == zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC, "Osss|Ol",
           &zctx, php_dbxml_XmlQueryContext_ce,
    @@ -582,9 +580,9 @@
       PHP_DBXML_STUFFED_THIS(XmlContainer);
       zval ztxn = NULL, zctx = NULL, *zvl = NULL;
       char uri, name, *index;
    -  long urilen, namelen, indexlen;
    -  char puri, pname, *pindex;
    -  long purilen, pnamelen, pindexlen;
    +  int urilen, namelen, indexlen;
    +  char puri, pname;
    +  int purilen, pnamelen;
       if(SUCCESS == zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC, "sss|O",
           &uri, &urilen, &name, &namelen, &index, &indexlen,
           &zvl, php_dbxml_XmlValue_ce))
    @@ -660,7 +658,7 @@
       PHP_DBXML_STUFFED_THIS(XmlContainer);
       char *name;
    -  long namelen;
    +  int namelen;
       if(FAILURE == zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC, "s", &name, &namelen)) {
         return;
    @@ -672,7 +670,7 @@
       PHP_DBXML_STUFFED_THIS(XmlContainer);
       char *name;
    -  long namelen;
    +  int namelen;
       if(FAILURE == zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC, "s", &name, &namelen)) {
         return;
    @@ -712,9 +710,9 @@
       if(ztxn) {
         XmlTransaction txn = php_dbxml_get_XmlTransaction_object_pointer(ztxn TSRMLS_CC);
    -    RETURN_LONG(This.getNumDocuments(txn));
    +    DBXML_RETURN_LONG(This.getNumDocuments(txn));
       } else {
    -    RETURN_LONG(This.getNumDocuments());
    +    DBXML_RETURN_LONG(This.getNumDocuments());
    PHP_DBXML_METHOD_END()
    diff -Naur -x '*xerces-c-src*' -x '*build_unix*' -x '*configure' -x '*Builder.pm' -x '*More.pm' -x'*const-c.inc' -x '*setup.py' dbxml-2.3.11.orig/dbxml/src/php/php_dbxml.cpp dbxml-2.3.11-64/dbxml/src/php/php_dbxml.cpp
    --- dbxml-2.3.11.orig/dbxml/src/php/php_dbxml.cpp     2006-11-22 17:45:05.000000000 +0100
    +++ dbxml-2.3.11-64/dbxml/src/php/php_dbxml.cpp     2008-06-04 14:52:22.000000000 +0200
    @@ -50,7 +50,7 @@
         return;
    -  RETVAL_STRING((char*)dbxml_version(&M, &m, &p), 1);
    +  RETVAL_STRING((char*)dbxml_version(&M, &m, &p), (int)1);
       if (ZEND_NUM_ARGS()) {
         convert_to_long(maj);
    @@ -70,7 +70,7 @@
         return;
    -  DbXml::setLogLevel((DbXml::LogLevel)level, on);
    +  DbXml::setLogLevel((DbXml::LogLevel)level, (on != 0));
    static PHP_FUNCTION(dbxml_set_log_category)
    @@ -81,7 +81,7 @@
         return;
    -  DbXml::setLogCategory((DbXml::LogCategory)level, on);
    +  DbXml::setLogCategory((DbXml::LogCategory)level, (on != 0));
    function_entry dbxml_functions[] = {
    @@ -96,7 +96,7 @@
       zend_class_entry ce;
    #ifdef PHP_DBXML_EXCEPTIONS
    -  php_dbxml_init_exceptions();
    +  php_dbxml_init_exceptions(TSRMLS_C);
    #endif
       PHP_DBXML_REGISTER_CLASS(XmlData, php_dbxml_XmlData_dtor);
       PHP_DBXML_REGISTER_CLASS(XmlValue, php_dbxml_XmlValue_dtor);
    @@ -108,6 +108,7 @@
       PHP_DBXML_REGISTER_CLASS(XmlEventReader, php_dbxml_XmlEventReader_dtor);
       PHP_DBXML_REGISTER_CLASS(XmlEventReaderToWriter, php_dbxml_XmlEventReaderToWriter_dtor);
       PHP_DBXML_REGISTER_CLASS(XmlEventWriter, php_dbxml_XmlEventWriter_dtor);
    +  PHP_DBXML_REGISTER_CLASS(XmlIndexLookup, php_dbxml_XmlIndexLookup_dtor);
       PHP_DBXML_REGISTER_CLASS(XmlIndexSpecification, php_dbxml_XmlIndexSpecification_dtor);
       PHP_DBXML_REGISTER_CLASS(XmlModify, php_dbxml_XmlModify_dtor);
       PHP_DBXML_REGISTER_CLASS(XmlQueryContext, php_dbxml_XmlQueryContext_dtor);
    @@ -141,9 +142,14 @@
       REGISTER_LONG_CONSTANT( "DBXML_ENCRYPT", DBXML_ENCRYPT, CONST_CS | CONST_PERSISTENT);
       REGISTER_LONG_CONSTANT( "DBXML_GEN_NAME", DBXML_GEN_NAME, CONST_CS | CONST_PERSISTENT);
       REGISTER_LONG_CONSTANT( "DBXML_LAZY_DOCS", DBXML_LAZY_DOCS, CONST_CS | CONST_PERSISTENT);
    +  //REGISTER_LONG_CONSTANT( "DBXML_DOCUMENT_PROJECTION", DBXML_DOCUMENT_PROJECTION, CONST_CS | CONST_PERSISTENT);
    +  //REGISTER_LONG_CONSTANT( "DBXML_NO_AUTO_COMMIT", DBXML_NO_AUTO_COMMIT, CONST_CS | CONST_PERSISTENT);
       REGISTER_LONG_CONSTANT( "DBXML_CACHE_DOCUMENTS", DBXML_CACHE_DOCUMENTS, CONST_CS | CONST_PERSISTENT);
       REGISTER_LONG_CONSTANT( "DBXML_NO_INDEX_NODES", DBXML_NO_INDEX_NODES, CONST_CS | CONST_PERSISTENT);
       REGISTER_LONG_CONSTANT( "DBXML_INDEX_NODES", DBXML_INDEX_NODES, CONST_CS | CONST_PERSISTENT);
    +  //REGISTER_LONG_CONSTANT( "DBXML_NO_STATISTICS", DBXML_NO_STATISTICS, CONST_CS | CONST_PERSISTENT);
    +  //REGISTER_LONG_CONSTANT( "DBXML_STATISTICS", DBXML_STATISTICS, CONST_CS | CONST_PERSISTENT);
    +  REGISTER_LONG_CONSTANT( "DBXML_WELL_FORMED_ONLY", DBXML_WELL_FORMED_ONLY, CONST_CS | CONST_PERSISTENT);
       REGISTER_LONG_CONSTANT( "LEVEL_NONE", LEVEL_NONE, CONST_CS | CONST_PERSISTENT);
       REGISTER_LONG_CONSTANT( "LEVEL_DEBUG", LEVEL_DEBUG, CONST_CS | CONST_PERSISTENT);
       REGISTER_LONG_CONSTANT( "LEVEL_INFO", LEVEL_INFO, CONST_CS | CONST_PERSISTENT);
    @@ -237,6 +243,8 @@
       REGISTER_LONG_CONSTANT("XmlException_NULL_POINTER", XmlException::NULL_POINTER, CONST_CS | CONST_PERSISTENT);
       REGISTER_LONG_CONSTANT("XmlException_INDEXER_PARSER_ERROR", XmlException::INDEXER_PARSER_ERROR, CONST_CS | CONST_PERSISTENT);
       REGISTER_LONG_CONSTANT("XmlException_DATABASE_ERROR", XmlException::DATABASE_ERROR, CONST_CS | CONST_PERSISTENT);
    +  //REGISTER_LONG_CONSTANT("XmlException_QUERY_PARSER_ERROR", XmlException::QUERY_PARSER_ERROR, CONST_CS | CONST_PERSISTENT);
    +  //REGISTER_LONG_CONSTANT("XmlException_QUERY_EVALUATION_ERROR", XmlException::QUERY_EVALUATION_ERROR, CONST_CS | CONST_PERSISTENT);
       REGISTER_LONG_CONSTANT("XmlException_XPATH_PARSER_ERROR", XmlException::XPATH_PARSER_ERROR, CONST_CS | CONST_PERSISTENT);
       REGISTER_LONG_CONSTANT("XmlException_DOM_PARSER_ERROR", XmlException::DOM_PARSER_ERROR, CONST_CS | CONST_PERSISTENT);
       REGISTER_LONG_CONSTANT("XmlException_XPATH_EVALUATION_ERROR", XmlException::XPATH_EVALUATION_ERROR, CONST_CS | CONST_PERSISTENT);
    @@ -302,6 +310,9 @@
    #if COMPILE_DL_DBXML
    +#ifdef PHP_WIN32
    +#include "zend_arg_defs.c"
    +#endif
    BEGIN_EXTERN_C()
    ZEND_GET_MODULE(dbxml)
    END_EXTERN_C()
    diff -Naur -x '*xerces-c-src*' -x '*build_unix*' -x '*configure' -x '*Builder.pm' -x '*More.pm' -x'*const-c.inc' -x '*setup.py' dbxml-2.3.11.orig/dbxml/src/php/php_dbxml_data.cpp dbxml-2.3.11-64/dbxml/src/php/php_dbxml_data.cpp
    --- dbxml-2.3.11.orig/dbxml/src/php/php_dbxml_data.cpp     2006-10-30 18:46:02.000000000 +0100
    +++ dbxml-2.3.11-64/dbxml/src/php/php_dbxml_data.cpp     2008-06-04 14:58:27.000000000 +0200
    @@ -39,7 +39,7 @@
         WRONG_PARAM_COUNT;
    -  RETURN_STRINGL((char*)This.get_data(), This.get_size(), 1);
    +  DBXML_RETURN_STRINGL((char*)This.get_data(), This.get_size(), 1);
    } PHP_DBXML_METHOD_END()
    PHP_DBXML_METHOD_BEGIN(XmlData, set_data)
    diff -Naur -x '*xerces-c-src*' -x '*build_unix*' -x '*configure' -x '*Builder.pm' -x '*More.pm' -x'*const-c.inc' -x '*setup.py' dbxml-2.3.11.orig/dbxml/src/php/php_dbxml_document.cpp dbxml-2.3.11-64/dbxml/src/php/php_dbxml_document.cpp
    --- dbxml-2.3.11.orig/dbxml/src/php/php_dbxml_document.cpp     2006-10-30 18:46:02.000000000 +0100
    +++ dbxml-2.3.11-64/dbxml/src/php/php_dbxml_document.cpp     2008-06-04 15:00:30.000000000 +0200
    @@ -32,24 +32,6 @@
       RETURN_BOOL(This == other);
    } PHP_DBXML_METHOD_END()
    -PHP_DBXML_METHOD_BEGIN(XmlDocument, getName)
    -  PHP_DBXML_STUFFED_THIS(XmlDocument);
    -  std::string buffer = This.getName();
    -  RETURN_STRINGL((char *)buffer.data(), buffer.length(), 1);
    -} PHP_DBXML_METHOD_END()
    -PHP_DBXML_METHOD_BEGIN(XmlDocument, setName)
    -  PHP_DBXML_STUFFED_THIS(XmlDocument);
    -  char *name;
    -  long namelen;
    -  if(FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &name, &namelen)) {
    -    return;
    -  This.setName(std::string(name, namelen));
    -} PHP_DBXML_METHOD_END()
    PHP_DBXML_METHOD_BEGIN(XmlDocument, getContent)
       PHP_DBXML_STUFFED_THIS(XmlDocument);
    @@ -62,7 +44,7 @@
       PHP_DBXML_STUFFED_THIS(XmlDocument);
       std::string buffer;
       This.getContent(buffer);
    -  RETURN_STRINGL((char *)buffer.data(), buffer.length(), 1);
    +  DBXML_RETURN_STRINGL((char *)buffer.data(), buffer.length(), 1);
    } PHP_DBXML_METHOD_END()
    PHP_DBXML_METHOD_BEGIN(XmlDocument, getContentAsEventReader)
    @@ -77,7 +59,7 @@
       PHP_DBXML_STUFFED_THIS(XmlDocument);
       zval *zv = NULL;
       if (SUCCESS == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "O", &zv, php_dbxml_XmlEventWriter_ce)) {
    -    XmlEventWriter &writer = php_dbxml_get_XmlEventWriter_object_pointer(zv TSRMLS_DC);
    +    XmlEventWriter &writer = php_dbxml_get_XmlEventWriter_object_ref(zv TSRMLS_CC);
         This.getContentAsEventWriter(writer);
    } PHP_DBXML_METHOD_END()
    @@ -87,7 +69,7 @@
       PHP_DBXML_STUFFED_THIS(XmlDocument);
       zval zstr = NULL, zdat = NULL;
       char *content;
    -  long contentlen;
    +  int contentlen;
       if(SUCCESS == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &content, &contentlen)) {
         This.setContent(std::string(content, contentlen));
    @@ -100,7 +82,7 @@
         This.setContentAsXmlInputStream(str);
       else if(SUCCESS == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "O", &zstr, php_dbxml_XmlEventReader_ce)) {
    -    XmlEventReader &reader = php_dbxml_get_XmlEventReader_object_pointer(zstr TSRMLS_DC);
    +    XmlEventReader &reader = php_dbxml_get_XmlEventReader_object_ref(zstr TSRMLS_CC);
         This.setContentAsEventReader(reader);
       else {
    @@ -123,7 +105,7 @@
       PHP_DBXML_STUFFED_THIS(XmlDocument);
       zval zvl = NULL, zdat = NULL;
       char uri, name;
    -  long urilen, namelen;
    +  int urilen, namelen;
       if(SUCCESS == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss",
           &uri, &urilen, &name, &namelen)) {
         XmlValue vl;
    @@ -140,7 +122,7 @@
       PHP_DBXML_STUFFED_THIS(XmlDocument);
       zval zvl = NULL, zdat = NULL;
       char uri, name;
    -  long urilen, namelen;
    +  int urilen, namelen;
       if(SUCCESS == zend_parse_parameters(
              ZEND_NUM_ARGS() TSRMLS_CC, "ssO",
              &uri, &urilen, &name, &namelen,&zvl, php_dbxml_XmlValue_ce)) {
    @@ -150,11 +132,11 @@
    } PHP_DBXML_METHOD_END()
    +PHP_DBXML_STRING_GETTER_AND_SETTER(XmlDocument, Name);
    +
    function_entry php_dbxml_XmlDocument_methods[] = {
    PHP_ME(XmlDocument, XmlDocument, NULL, 0)
    -PHP_ME(XmlDocument, getName, NULL, 0)
    PHP_ME(XmlDocument, equals, NULL, 0)
    -PHP_ME(XmlDocument, setName, NULL, 0)
    PHP_ME(XmlDocument, getContent, NULL, 0)
    PHP_ME(XmlDocument, getContentAsString, NULL, 0)
    PHP_ME(XmlDocument, getContentAsEventReader, NULL, 0)
    @@ -163,6 +145,7 @@
    PHP_ME(XmlDocument, fetchAllData, NULL, 0)
    PHP_ME(XmlDocument, getMetaData, NULL, 0)
    PHP_ME(XmlDocument, setMetaData, NULL, 0)
    +PHP_DBXML_ME_GETTER_AND_SETTER(XmlDocument, Name)
    {NULL, NULL, NULL}
    /*  vim: set sts=2 ts=2 expandtab ai bs=2 : */
    diff -Naur -x '*xerces-c-src*' -x '*build_unix*' -x '*configure' -x '*Builder.pm' -x '*More.pm' -x'*const-c.inc' -x '*setup.py' dbxml-2.3.11.orig/dbxml/src/php/php_dbxml_eventreader.cpp dbxml-2.3.11-64/dbxml/src/php/php_dbxml_eventreader.cpp
    --- dbxml-2.3.11.orig/dbxml/src/php/php_dbxml_eventreader.cpp     2006-11-15 17:53:11.000000000 +0100
    +++ dbxml-2.3.11-64/dbxml/src/php/php_dbxml_eventreader.cpp     2008-06-04 15:01:44.000000000 +0200
    @@ -59,15 +59,15 @@
         PHP_DBXML_STUFFED_REF(XmlEventReader);
         int len;
         const unsigned char *val = This.getValue(len);
    -     RETURN_STRINGL((char *)val, len, 1);
    +     DBXML_RETURN_STRINGL((char *)val, len, 1);
    } PHP_DBXML_METHOD_END()
    PHP_DBXML_METHOD_BEGIN(XmlEventReader, getValueLen)
         PHP_DBXML_STUFFED_REF(XmlEventReader);
    -     int len;
    +        int len;
         (void) This.getValue(len);
    -     RETURN_LONG(len);
    +     DBXML_RETURN_LONG(len);
    } PHP_DBXML_METHOD_END()
    PHP_DBXML_METHOD_BEGIN(XmlEventReader, isAttributeSpecified)
    @@ -86,7 +86,7 @@
         if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &index)) {
              RETURN_FALSE;
    -     RETURN_STRING((char *)This.getAttributeLocalName(index), 1);
    +     DBXML_RETURN_STRING((char *)This.getAttributeLocalName(index), 1);
    } PHP_DBXML_METHOD_END()
    PHP_DBXML_METHOD_BEGIN(XmlEventReader, getAttributeNamespaceURI)
    @@ -96,7 +96,7 @@
         if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &index)) {
              RETURN_FALSE;
    -     RETURN_STRING((char *)This.getAttributeNamespaceURI(index), 1);
    +     DBXML_RETURN_STRING((char *)This.getAttributeNamespaceURI(index), 1);
    } PHP_DBXML_METHOD_END()
    PHP_DBXML_METHOD_BEGIN(XmlEventReader, getAttributePrefix)
    @@ -106,7 +106,7 @@
         if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &index)) {
              RETURN_FALSE;
    -     RETURN_STRING((char *)This.getAttributePrefix(index), 1);
    +     DBXML_RETURN_STRING((char *)This.getAttributePrefix(index), 1);
    } PHP_DBXML_METHOD_END()
    PHP_DBXML_METHOD_BEGIN(XmlEventReader, getAttributeValue)
    @@ -116,7 +116,7 @@
         if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &index)) {
              RETURN_FALSE;
    -     RETURN_STRING((char *)This.getAttributeValue(index), 1);
    +     DBXML_RETURN_STRING((char *)This.getAttributeValue(index), 1);
    } PHP_DBXML_METHOD_END()
    PHP_DBXML_METHOD_BEGIN(XmlEventReader, needsEntityEscape)
    diff -Naur -x '*xerces-c-src*' -x '*build_unix*' -x '*configure' -x '*Builder.pm' -x '*More.pm' -x'*const-c.inc' -x '*setup.py' dbxml-2.3.11.orig/dbxml/src/php/php_dbxml_eventreadertowriter.cpp dbxml-2.3.11-64/dbxml/src/php/php_dbxml_eventreadertowriter.cpp
    --- dbxml-2.3.11.orig/dbxml/src/php/php_dbxml_eventreadertowriter.cpp     2006-10-30 18:46:03.000000000 +0100
    +++ dbxml-2.3.11-64/dbxml/src/php/php_dbxml_eventreadertowriter.cpp     2008-06-03 18:02:40.000000000 +0200
    @@ -24,9 +24,9 @@
                  &wval, php_dbxml_XmlEventWriter_ce,
                  &ownsReader)) {
              XmlEventReader &reader =
    -               php_dbxml_get_XmlEventReader_object_pointer(rval TSRMLS_DC);
    +               php_dbxml_get_XmlEventReader_object_ref(rval TSRMLS_CC);
              XmlEventWriter &writer =
    -               php_dbxml_get_XmlEventWriter_object_pointer(wval TSRMLS_DC);
    +               php_dbxml_get_XmlEventWriter_object_ref(wval TSRMLS_CC);
              XmlEventReaderToWriter r2w(reader, writer, ownsReader);
              php_dbxml_set_XmlEventReaderToWriter_object_factory(
                   getThis(), r2w TSRMLS_CC);
    diff -Naur -x '*xerces-c-src*' -x '*build_unix*' -x '*configure' -x '*Builder.pm' -x '*More.pm' -x'*const-c.inc' -x '*setup.py' dbxml-2.3.11.orig/dbxml/src/php/php_dbxml_eventwriter.cpp dbxml-2.3.11-64/dbxml/src/php/php_dbxml_eventwriter.cpp
    --- dbxml-2.3.11.orig/dbxml/src/php/php_dbxml_eventwriter.cpp     2006-11-15 17:53:11.000000000 +0100
    +++ dbxml-2.3.11-64/dbxml/src/php/php_dbxml_eventwriter.cpp     2008-06-03 18:06:06.000000000 +0200
    @@ -29,7 +29,7 @@
         PHP_DBXML_STUFFED_REF(XmlEventWriter);
         char lname, prefix, uri, value;
    -     long lLen, pLen, uLen, vLen;
    +     int lLen, pLen, uLen, vLen;
         bool specified = true; // optional in PHP interface
         if (SUCCESS ==
             zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ssss|b",
    @@ -46,10 +46,10 @@
    PHP_DBXML_METHOD_BEGIN(XmlEventWriter, writeText)
         PHP_DBXML_STUFFED_REF(XmlEventWriter);
    -     long type;
    +     int type;
         char *text;
    -     long unused; // length is ignored if passed to PHP's writeText
    -     long tLen;
    +     int unused; // length is ignored if passed to PHP's writeText
    +     int tLen;
         if (SUCCESS ==
             zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ls|l", &type,
                          &text, &tLen, &unused))
    @@ -61,7 +61,7 @@
         PHP_DBXML_STUFFED_REF(XmlEventWriter);
         char target, data;
    -     long tLen, dLen;
    +     int tLen, dLen;
         if (SUCCESS ==
             zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss", &target,
                          &tLen, &data, &dLen))
    @@ -73,7 +73,7 @@
         PHP_DBXML_STUFFED_REF(XmlEventWriter);
         char lname, prefix, *uri;
    -     long lLen, pLen, uLen, nattrs;
    +     int lLen, pLen, uLen, nattrs;
         bool empty = false; // default in PHP
         if (SUCCESS ==
             zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "sssl|b",
    @@ -90,7 +90,7 @@
         PHP_DBXML_STUFFED_REF(XmlEventWriter);
         char lname, prefix, *uri;
    -     long lLen, pLen, uLen;
    +     int lLen, pLen, uLen;
         if (SUCCESS ==
             zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "sss",
                          &lname, &lLen, &prefix, &pLen, &uri, &uLen)) {
    @@ -104,8 +104,8 @@
         PHP_DBXML_STUFFED_REF(XmlEventWriter);
         char *text;
    -     long unused; // length is ignored if passed
    -     long tLen;
    +     int unused; // length is ignored if passed
    +     int tLen;
         if (SUCCESS ==
             zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|l",
                          &text, &tLen, &unused))
    @@ -119,7 +119,7 @@
         char *version = 0;
         char *encoding = 0;
         char *standalone = 0;
    -     long vLen, eLen, sLen;
    +     int vLen, eLen, sLen;
         if (SUCCESS ==
             zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|sss",
                          &version, &vLen, &encoding, &eLen,
    @@ -140,7 +140,7 @@
         PHP_DBXML_STUFFED_REF(XmlEventWriter);
         char *name;
    -     long tLen;
    +     int tLen;
         bool expandedInfoFollows = true; // default this
         if (SUCCESS ==
             zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|b",
    @@ -153,7 +153,7 @@
         PHP_DBXML_STUFFED_REF(XmlEventWriter);
         char *name;
    -     long tLen;
    +     int tLen;
         if (SUCCESS ==
             zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s",
                          &name, &tLen))
    diff -Naur -x '*xerces-c-src*' -x '*build_unix*' -x '*configure' -x '*Builder.pm' -x '*More.pm' -x'*const-c.inc' -x '*setup.py' dbxml-2.3.11.orig/dbxml/src/php/php_dbxml_exception.cpp dbxml-2.3.11-64/dbxml/src/php/php_dbxml_exception.cpp
    --- dbxml-2.3.11.orig/dbxml/src/php/php_dbxml_exception.cpp     2006-11-15 18:21:45.000000000 +0100
    +++ dbxml-2.3.11-64/dbxml/src/php/php_dbxml_exception.cpp     2008-06-04 15:03:30.000000000 +0200
    @@ -19,10 +19,14 @@
    PHP_DBXML_DECLARE_CLASS(XmlException);
    -void php_dbxml_init_exceptions()
    +void php_dbxml_init_exceptions(TSRMLS_D)
         zend_class_entry ce;
    +#if (PHP_MAJOR_VERSION == 5) && (PHP_MINOR_VERSION < 2)
         PHP_DBXML_REGISTER_CLASS_WITH_PARENT(XmlException, zend_exception_get_default(), php_dbxml_XmlException_dtor);
    +#else
    +     PHP_DBXML_REGISTER_CLASS_WITH_PARENT(XmlException, zend_exception_get_default(TSRMLS_C), php_dbxml_XmlException_dtor);
    +#endif
         zend_declare_property_long(php_dbxml_XmlException_ce, "code",
                           sizeof("code")-1, 0,
                           ZEND_ACC_PROTECTED TSRMLS_CC);
    @@ -43,7 +47,7 @@
                           ZEND_ACC_PROTECTED TSRMLS_CC);
    -void php_dbxml_throw_exception(const XmlException &xe)
    +void php_dbxml_throw_exception(const XmlException &xe TSRMLS_DC)
         zval *xml_ex;
         MAKE_STD_ZVAL(xml_ex);
    diff -Naur -x '*xerces-c-src*' -x '*build_unix*' -x '*configure' -x '*Builder.pm' -x '*More.pm' -x'*const-c.inc' -x '*setup.py' dbxml-2.3.11.orig/dbxml/src/php/php_dbxml.h dbxml-2.3.11-64/dbxml/src/php/php_dbxml.h
    --- dbxml-2.3.11.orig/dbxml/src/php/php_dbxml.h     2006-11-15 17:53:11.000000000 +0100
    +++ dbxml-2.3.11-64/dbxml/src/php/php_dbxml.h     2008-06-04 15:04:22.000000000 +0200
    @@ -20,7 +20,6 @@
    #ifndef PHP_DBXML_H
    #define PHP_DBXML_H
    extern zend_module_entry dbxml_module_entry;
    #define phpext_dbxml_ptr &dbxml_module_entry
    @@ -39,9 +38,7 @@
    #endif
    #ifdef PHP_DBXML_EXCEPTIONS
    -extern "C" {
    #include "zend_exceptions.h"
    #endif
    PHP_MINIT_FUNCTION(dbxml);
    diff -Naur -x '*xerces-c-src*' -x '*build_unix*' -x '*configure' -x '*Builder.pm' -x '*More.pm' -x'*const-c.inc' -x '*setup.py' dbxml-2.3.11.orig/dbxml/src/php/php_dbxml_indexlookup.cpp dbxml-2.3.11-64/dbxml/src/php/php_dbxml_indexlookup.cpp
    --- dbxml-2.3.11.orig/dbxml/src/php/php_dbxml_indexlookup.cpp     2006-10-30 18:46:03.000000000 +0100
    +++ dbxml-2.3.11-64/dbxml/src/php/php_dbxml_indexlookup.cpp     2008-06-04 15:08:05.000000000 +0200
    @@ -34,7 +34,7 @@
       index = This.getIndex();
    -  RETURN_STRINGL((char*)index.data(), index.length(), 1);
    +  DBXML_RETURN_STRINGL((char*)index.data(), index.length(), 1);
    } PHP_DBXML_METHOD_END()
    @@ -65,7 +65,7 @@
       index = This.getNodeURI();
    -  RETURN_STRINGL((char*)index.data(), index.length(), 1);
    +  DBXML_RETURN_STRINGL((char*)index.data(), index.length(), 1);
    } PHP_DBXML_METHOD_END()
    @@ -81,7 +81,7 @@
       index = This.getNodeName();
    -  RETURN_STRINGL((char*)index.data(), index.length(), 1);
    +  DBXML_RETURN_STRINGL((char*)index.data(), index.length(), 1);
    } PHP_DBXML_METHOD_END()
    @@ -112,7 +112,7 @@
       index = This.getParentURI();
    -  RETURN_STRINGL((char*)index.data(), index.length(), 1);
    +  DBXML_RETURN_STRINGL((char*)index.data(), index.length(), 1);
    } PHP_DBXML_METHOD_END()
    @@ -143,7 +143,7 @@
       index = This.getParentName();
    -  RETURN_STRINGL((char*)index.data(), index.length(), 1);
    +  DBXML_RETURN_STRINGL((char*)index.data(), index.length(), 1);
    } PHP_DBXML_METHOD_END()
    @@ -183,7 +183,7 @@
       zval *zv;
       long op;
       PHP_DBXML_STUFFED_THIS(XmlIndexLookup);
    -  if (SUCCESS == zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC, "Ol", &zv, php_dbxml_XmlValue_ce, &op))
    +  if (FAILURE == zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC, "Ol", &zv, php_dbxml_XmlValue_ce, &op))
         WRONG_PARAM_COUNT;
    @@ -228,7 +228,7 @@
       zval *zv;
       long op;
       PHP_DBXML_STUFFED_THIS(XmlIndexLookup);
    -  if (SUCCESS == zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC, "Ol", &zv, php_dbxml_XmlValue_ce, &op))
    +  if (FAILURE == zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC, "Ol", &zv, php_dbxml_XmlValue_ce, &op))
         WRONG_PARAM_COUNT;
    @@ -257,9 +257,8 @@
    PHP_DBXML_METHOD_BEGIN(XmlIndexLookup, setContainer)
       zval *zv;
    -  long op;
       PHP_DBXML_STUFFED_THIS(XmlIndexLookup);
    -  if (SUCCESS == zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC, "O", &zv, php_dbxml_XmlContainer_ce))
    +  if (FAILURE == zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC, "O", &zv, php_dbxml_XmlContainer_ce))
         WRONG_PARAM_COUNT;
    @@ -276,19 +275,22 @@
       long flags = 0;
       PHP_DBXML_STUFFED_THIS(XmlIndexLookup);
    +#define SET_PTR(expr)  \
    +  XmlQueryContext c = php_dbxml_get_XmlQueryContext_object_pointer(zqc TSRMLS_CC); \
    +  XmlResults r = expr; \
    +  object_init_ex(return_value, php_dbxml_XmlResults_ce); \
    +  php_dbxml_set_XmlResults_object_pointer(return_value, r TSRMLS_CC);
    +
       if (SUCCESS == zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC,
           "O|l", &zqc, php_dbxml_XmlQueryContext_ce, &flags)) {
    -    XmlQueryContext c = php_dbxml_get_XmlQueryContext_object_pointer(zqc TSRMLS_CC);
    -    XmlResults r = This.execute(c, flags);
    +    SET_PTR(This.execute(c, flags));
         php_dbxml_set_XmlResults_object_pointer(return_value, r TSRMLS_CC);
       } else if (SUCCESS == zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC,
           "OO", &zt, php_dbxml_XmlTransaction_ce, &zqc, php_dbxml_XmlQueryContext_ce, &flags)) {
         XmlTransaction t = php_dbxml_get_XmlTransaction_object_pointer(zt TSRMLS_CC);
    -    XmlQueryContext c = php_dbxml_get_XmlQueryContext_object_pointer(zqc TSRMLS_CC);
    -    XmlResults r = This.execute(t,c,flags);
    -    php_dbxml_set_XmlResults_object_pointer(return_value, r TSRMLS_CC);
    +    SET_PTR(This.execute(t, c, flags));      
       } else {
         WRONG_PARAM_COUNT;
    diff -Naur -x '*xerces-c-src*' -x '*build_unix*' -x '*configure' -x '*Builder.pm' -x '*More.pm' -x'*const-c.inc' -x '*setup.py' dbxml-2.3.11.orig/dbxml/src/php/php_dbxml_indexspecification.cpp dbxml-2.3.11-64/dbxml/src/php/php_dbxml_indexspecification.cpp
    --- dbxml-2.3.11.orig/dbxml/src/php/php_dbxml_indexspecification.cpp     2006-10-30 18:46:03.000000000 +0100
    +++ dbxml-2.3.11-64/dbxml/src/php/php_dbxml_indexspecification.cpp     2008-06-04 15:08:49.000000000 +0200
    @@ -156,7 +156,7 @@
       if (This.find(std::string(uri, uri_len), std::string(name, name_len), index)) {
    -    RETURN_STRINGL((char*)index.data(), index.length(), 1);
    +    DBXML_RETURN_STRINGL((char*)index.data(), index.length(), 1);
       } else {
         RETURN_FALSE;
    @@ -175,7 +175,7 @@
       index = This.getDefaultIndex();
    -  RETURN_STRINGL((char*)index.data(), index.length(), 1);
    +  DBXML_RETURN_STRINGL((char*)index.data(), index.length(), 1);
    } PHP_DBXML_METHOD_END()
    @@ -191,9 +191,9 @@
           zval *el;
           MAKE_STD_ZVAL(el);
           array_init(el);
    -      add_assoc_stringl(el, "uri", (char *) uri.data(), uri.length(), 1);
    -      add_assoc_stringl(el, "name", (char *) name.data(), name.length(), 1);
    -      add_assoc_stringl(el, "index", (char *) index.data(), index.length(), 1);
    +      add_assoc_stringl(el, "uri", (char *) uri.data(), (int)uri.length(), (int)1);
    +      add_assoc_stringl(el, "name", (char *) name.data(), (int)name.length(), (int)1);
    +      add_assoc_stringl(el, "index", (char *) index.data(), (int)index.length(), (int)1);
           add_next_index_zval(return_value, el);
         return;
    diff -Naur -x '*xerces-c-src*' -x '*build_unix*' -x '*configure' -x '*Builder.pm' -x '*More.pm' -x'*const-c.inc' -x '*setup.py' dbxml-2.3.11.orig/dbxml/src/php/php_dbxml_inputstream.cpp dbxml-2.3.11-64/dbxml/src/php/php_dbxml_inputstream.cpp
    --- dbxml-2.3.11.orig/dbxml/src/php/php_dbxml_inputstream.cpp     2006-10-30 18:46:03.000000000 +0100
    +++ dbxml-2.3.11-64/dbxml/src/php/php_dbxml_inputstream.cpp     2008-06-03 18:12:07.000000000 +0200
    @@ -37,7 +37,7 @@
        Read a number of bytes and return them as a string */
    PHP_DBXML_METHOD_BEGIN(XmlInputStream, readBytes)
    -  long toread;
    +  int toread;
       PHP_DBXML_GETTHIS(XmlInputStream);
       if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &toread)) {
    diff -Naur -x '*xerces-c-src*' -x '*build_unix*' -x '*configure' -x '*Builder.pm' -x '*More.pm' -x'*const-c.inc' -x '*setup.py' dbxml-2.3.11.orig/dbxml/src/php/php_dbxml_int.hpp dbxml-2.3.11-64/dbxml/src/php/php_dbxml_int.hpp
    --- dbxml-2.3.11.orig/dbxml/src/php/php_dbxml_int.hpp     2006-11-15 17:53:11.000000000 +0100
    +++ dbxml-2.3.11-64/dbxml/src/php/php_dbxml_int.hpp     2008-06-04 15:57:38.000000000 +0200
    @@ -11,14 +11,21 @@
    # include "config.h"
    #endif
    +// this is here to work around a PHP build issue on Windows
    +#include <iostream>
    +
    extern "C" {
    #include "php.h"
    #include "php_ini.h"
    #include "ext/standard/info.h"
    +#ifdef PHP_WIN32
    +#include "php_db4.h"
    +#else
    #include "ext/db4/php_db4.h"
    +#endif
    +#include "php_dbxml.h"
    #include <exception>
    -#include "php_dbxml.h"
    #include "dbxml/DbXml.hpp"
    using namespace DbXml;
    @@ -34,7 +41,7 @@
    #define PHP_DBXML_METHOD_END()           \
    } catch(XmlException &xe) {           \
    -  php_dbxml_throw_exception(xe);         \
    +  php_dbxml_throw_exception(xe TSRMLS_CC);         \
    catch(std::exception &e) {                     \
       php_error_docref(NULL TSRMLS_CC, E_WARNING, e.what()); \
    @@ -53,6 +60,15 @@
    #endif
    +// encapsulate calls to RETURN_STRINGL macro in PHP
    +#define DBXML_RETURN_STRINGL(d, l, s) \
    +    RETURN_STRINGL((char*)(d),(int)(l), (s))
    +
    +#define DBXML_RETURN_STRING(d, s) \
    +    RETURN_STRING((char*)(d),(int)(s))
    +
    +#define DBXML_RETURN_LONG(l) RETURN_LONG((long)(l))
    +
    static inline void php_dbxml_set_object_pointer(zval object, int type, void ptr TSRMLS_DC)
       zval *z;
    @@ -120,10 +136,13 @@
         zend_list_addref(Z_RESVAL_PP(prop));
    -/* fun with those on-the-stack-only style object (XmlContainer) that have their own magic refcounts */
    +/*
    + * macros to handle the Xml* objects
    + * "object_pointer" really means object reference (e.g. XmlDocument &)
    + */
    #define PHP_DBXML_STUFFED_INSTANCES(class_type) \
    -  class php_dbxml_stuffed_##class_type { \
    +  struct php_dbxml_stuffed_##class_type { \
       public: class_type stuffed; \
       php_dbxml_stuffed_##class_type(class_type &s): stuffed(s) {} \
    @@ -136,7 +155,7 @@
         struct php_dbxml_stuffed_##class_type *s = new struct php_dbxml_stuffed_##class_type(instance); \
         php_dbxml_set_object_pointer(object, le_##class_type, s TSRMLS_CC); \
    -  static inline class_type php_dbxml_get_##class_type##_object_pointer(zval *object TSRMLS_DC) { \
    +  static inline class_type & php_dbxml_get_##class_type##_object_pointer(zval *object TSRMLS_DC) { \
         struct php_dbxml_stuffed_##class_type s = (struct php_dbxml_stuffed_##class_type ) \
             php_dbxml_get_object_pointer(object, le_##class_type, php_dbxml_##class_type##_ce, #class_type TSRMLS_CC); \
         if (s) { return s->stuffed; } /* does internal addref */ \
    @@ -147,12 +166,14 @@
         delete s; \
    -// this is nearly identical to STUFFED_INSTANCES, above, with the exception
    -// that it stores an object reference, not an actual instance, which
    -// changes the member variable to a reference, along with the
    -// accessor's return value.  Everything else is identical.
    +/*
    + * this is nearly identical to STUFFED_INSTANCES, above, with the exception
    + * that it stores an object reference, not an actual instance, which
    + * changes the member variable to a reference, along with the
    + * accessor's return value.  Everything else is identical.
    + */
    #define PHP_DBXML_STUFFED_REFERENCES(class_type) \
    -  class php_dbxml_stuffed_##class_type { \
    +  struct php_dbxml_stuffed_##class_type { \
       public: class_type &stuffed; \
       php_dbxml_stuffed_##class_type(class_type &s): stuffed(s) {} \
    @@ -165,7 +186,7 @@
         struct php_dbxml_stuffed_##class_type *s = new struct php_dbxml_stuffed_##class_type(instance); \
         php_dbxml_set_object_pointer(object, le_##class_type, s TSRMLS_CC); \
    -  static inline class_type &php_dbxml_get_##class_type##_object_pointer(zval *object TSRMLS_DC) { \
    +  static inline class_type &php_dbxml_get_##class_type##_object_ref(zval *object TSRMLS_DC) { \
         struct php_dbxml_stuffed_##class_type s = (struct php_dbxml_stuffed_##class_type ) \
             php_dbxml_get_object_pointer(object, le_##class_type, php_dbxml_##class_type##_ce, #class_type TSRMLS_CC); \
         if (s) { return s->stuffed; } /* does internal addref */ \
    @@ -177,10 +198,10 @@
    #define PHP_DBXML_STUFFED_THIS(class_type)  \
    -  class_type This = php_dbxml_get_##class_type##_object_pointer(getThis() TSRMLS_CC);
    +  class_type &This = php_dbxml_get_##class_type##_object_pointer(getThis() TSRMLS_CC);
    #define PHP_DBXML_STUFFED_REF(class_type)                    \
    -  class_type &This = php_dbxml_get_##class_type##_object_pointer(getThis() TSRMLS_CC);
    +  class_type &This = php_dbxml_get_##class_type##_object_ref(getThis() TSRMLS_CC);
    #define PHP_DBXML_DECLARE_CLASS(class_type) \
       int le_##class_type; \
    @@ -197,7 +218,7 @@
         int i;
         for(i = 0; fe.handler; i++) {
    fe[i].fname = strdup(fe[i].fname);
    - zend_str_tolower(fe[i].fname, strlen(fe[i].fname));
    + zend_str_tolower(fe[i].fname, (unsigned int)strlen(fe[i].fname));
    @@ -241,6 +262,27 @@
    This->set##propname((proptype)val); \
    +#define PHP_DBXML_STRING_GETTER_AND_SETTER(class_type, propname) \
    +PHP_METHOD(class_type, get##propname)  \
    +{                                      \
    + PHP_DBXML_GETTHIS(class_type); \
    + if (ZEND_NUM_ARGS()) {               \
    + WRONG_PARAM_COUNT; \
    + } \
    + std::string str = This->get##propname(); \
    + DBXML_RETURN_STRINGL((char*)str.data(), str.length(), 1); \
    +} \
    +PHP_METHOD(class_type, set##propname)  \
    +{                                      \
    + char *val;                           \
    + int val_len; \
    + PHP_DBXML_GETTHIS(class_type); \
    + if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &val, &val_len)) { \
    + RETURN_FALSE; \
    + } \
    + This->set##propname(std::string(val, val_len)); \
    +}
    +
    PHP_DBXML_EXTERN_CLASS(XmlContainer);
    PHP_DBXML_EXTERN_CLASS(XmlData);
    PHP_DBXML_EXTERN_CLASS(XmlManager);
    @@ -261,8 +303,8 @@
    PHP_DBXML_EXTERN_CLASS(XmlInputStream);
    PHP_DBXML_EXTERN_CLASS(XmlValue);
    #ifdef PHP_DBXML_EXCEPTIONS
    -extern void php_dbxml_init_exceptions();
    -extern void php_dbxml_throw_exception(const XmlException &xe);
    +extern void php_dbxml_init_exceptions(TSRMLS_D);
    +extern void php_dbxml_throw_exception(const XmlException &xe TSRMLS_DC);
    PHP_DBXML_EXTERN_CLASS(XmlException);
    PHP_DBXML_STUFFED_INSTANCES(XmlException);
    #endif
    diff -Naur -x '*xerces-c-src*' -x '*build_unix*' -x '*configure' -x '*Builder.pm' -x '*More.pm' -x'*const-c.inc' -x '*setup.py' dbxml-2.3.11.orig/dbxml/src/php/php_dbxml_manager.cpp dbxml-2.3.11-64/dbxml/src/php/php_dbxml_manager.cpp
    --- dbxml-2.3.11.orig/dbxml/src/php/php_dbxml_manager.cpp     2006-10-30 18:46:04.000000000 +0100
    +++ dbxml-2.3.11-64/dbxml/src/php/php_dbxml_manager.cpp     2008-06-04 15:13:37.000000000 +0200
    @@ -8,7 +8,6 @@
    #include "php_dbxml_int.hpp"
    -#include "ext/db4/php_db4.h"
    ZEND_RSRC_DTOR_FUNC(php_dbxml_XmlManager_dtor)
    @@ -35,7 +34,7 @@
    if (dbenv_obj) {
    - dbenv = php_db4_getDbEnvFromObj(dbenv_obj);
    + dbenv = php_db4_getDbEnvFromObj(dbenv_obj TSRMLS_CC);
    This = new XmlManager(DbEnv::get_DbEnv(dbenv), (unsigned int)flags);
    } else {
    This = new XmlManager((unsigned int)flags);
    @@ -63,7 +62,7 @@
    PHP_DBXML_GETTHIS(XmlManager);
    char *name;
    - long namelen;
    + int namelen;
    int ret = 0;
    if (SUCCESS == zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC, "s", &name, &namelen)) {
         ret = This->existsContainer(std::string(name, namelen));
    @@ -76,7 +75,8 @@
    char *name;
    // these must be the same as BDB XML defaults
    - long namelen, flags = 0, mode = 0;
    + int namelen;
    + long flags = 0, mode = 0;
    XmlContainer::ContainerType type = XmlContainer::NodeContainer;
    zval *ztxn = NULL;
    PHP_DBXML_GETTHIS(XmlManager);
    @@ -108,7 +108,8 @@
    PHP_DBXML_METHOD_BEGIN(XmlManager, openContainer)
    char *name;
    - long namelen, flags = 0, mode = 0;
    + int namelen;
    + long flags = 0, mode = 0;
    XmlContainer::ContainerType type = XmlContainer::NodeContainer;
    zval *ztxn = NULL;
    PHP_DBXML_GETTHIS(XmlManager);
    @@ -138,7 +139,7 @@
    PHP_DBXML_GETTHIS(XmlManager);
    zval *ztxn = NULL;
    char *name;
    - long namelen;
    + int namelen;
    if (SUCCESS == zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC, "s", &name, &namelen)) {
    This->removeContainer(std::string(name, namelen));
    } else if(SUCCESS == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "Os", &ztxn, php_dbxml_XmlTransaction_ce, &name, &namelen)) {
    @@ -156,7 +157,7 @@
    zval *ztxn = NULL;
    XmlTransaction *txn = NULL;
    char name, newname;
    - long namelen, newnamelen;
    + int namelen, newnamelen;
    if (SUCCESS == zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC, "ss", &name, &namelen, &newname, &newnamelen)) {
    This->renameContainer(std::string(name, namelen), std::string(newname, newnamelen));
    } else if(SUCCESS == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "Os", &ztxn, php_dbxml_XmlTransaction_ce, &name, &namelen, &newname, &newnamelen)) {
    @@ -174,7 +175,7 @@
    PHP_DBXML_METHOD_BEGIN(XmlManager, createMemBufInputStream)
    char buffer, bufID;
    - long bufferlen, bufIDlen;
    + int bufferlen, bufIDlen;
    PHP_DBXML_GETTHIS(XmlManager);
    if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss", &buffer, &bufferlen, &bufID, &bufIDlen)) {
    return;
    @@ -200,7 +201,7 @@
    PHP_DBXML_METHOD_BEGIN(XmlManager, createQueryContext)
    PHP_DBXML_GETTHIS(XmlManager);
    - long rt = (long) XmlQueryContext::LiveValues, et = (long) XmlQueryContext::Eager;
    + int rt = (int) XmlQueryContext::LiveValues, et = (int) XmlQueryContext::Eager;
    if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|ll", &rt, &et)) {
    return;
    @@ -228,8 +229,7 @@
    zval *ztxn = NULL;
    zval *zctx = NULL;
    char *query;
    - long querylen;
    - XmlQueryContext *context;
    + int querylen;
    if (SUCCESS == zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC, "s|O", &query, &querylen, &zctx, php_dbxml_XmlQueryContext_ce)) {
    if(zctx) {
    @@ -264,7 +264,8 @@
    zval *ztxn = NULL;
    zval *zctx = NULL;
    char *query;
    - long querylen, flags = 0;
    + int querylen;
    + long flags = 0;
    if (SUCCESS == zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC, "s|Ol", &query, &querylen, &zctx, php_dbxml_XmlQueryContext_ce, &flags)) {
    if(zctx) {
    @@ -346,14 +347,15 @@
    return;
    XmlContainer cont = php_dbxml_get_XmlContainer_object_pointer(zc TSRMLS_CC);
    + XmlIndexLookup lu;
    if(zv == NULL) {
    XmlValue value = XmlValue();
    - XmlIndexLookup lookup = This->createIndexLookup(cont, std::string(uri, uri_len), std::string(name, name_len), std::string(index, index_len), value, (XmlIndexLookup::Operation) flags);
    - php_dbxml_set_XmlIndexLookup_object_factory(return_value, lookup TSRMLS_CC);
    + lu = This->createIndexLookup(cont, std::string(uri, uri_len), std::string(name, name_len), std::string(index, index_len), value, (XmlIndexLookup::Operation) flags);
    + php_dbxml_set_XmlIndexLookup_object_factory(return_value, lu TSRMLS_CC);
    } else {
    XmlValue value = php_dbxml_get_XmlValue_object_pointer(zv TSRMLS_CC);
    - XmlIndexLookup lookup = This->createIndexLookup(cont, std::string(uri, uri_len), std::string(name, name_len), std::string(index, index_len), value, (XmlIndexLookup::Operation) flags);
    - php_dbxml_set_XmlIndexLookup_object_factory(return_value, lookup TSRMLS_CC);
    + lu = This->createIndexLookup(cont, std::string(uri, uri_len), std::string(name, name_len), std::string(index, index_len), value, (XmlIndexLookup::Operation) flags);
    + php_dbxml_set_XmlIndexLookup_object_factory(return_value, lu TSRMLS_CC);
    PHP_DBXML_ADDREF(getThis());
    @@ -383,7 +385,7 @@
    zval *zuc = NULL;
    char *name;
    long flags = 0;
    - long namelen;
    + int namelen;
    if (SUCCESS == zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC, "s|Ol", &name, &namelen, &zuc, php_dbxml_XmlUpdateContext_ce, &flags)) {
    } else if(SUCCESS == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "Os|Ol", &ztxn, php_dbxml_XmlTransaction_ce, &name, &namelen, &zuc, php_dbxml_XmlUpdateContext_ce, &flags)) {
    } else {
    @@ -408,7 +410,7 @@
    zval *zuc = NULL;
    char *name;
    long flags = 0;
    - long namelen;
    + int namelen;
    if (SUCCESS == zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC, "s|Ol", &name, &namelen, &zuc, php_dbxml_XmlUpdateContext_ce, &flags)) {
    } else if(SUCCESS == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "Os|Ol", &ztxn, php_dbxml_XmlTransaction_ce, &name, &namelen, &zuc, php_dbxml_XmlUpdateContext_ce, &flags)) {
    } else {
    @@ -433,7 +435,7 @@
    zval *zuc = NULL;
    char *name;
    long flags = 0;
    - long namelen;
    + int namelen;
    if (SUCCESS == zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC, "s|Ol", &name, &namelen, &zuc, php_dbxml_XmlUpdateContext_ce, &flags)) {
    } else if(SUCCESS == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "Os|Ol", &ztxn, php_dbxml_XmlTransaction_ce, &name, &namelen, &zuc, php_dbxml_XmlUpdateContext_ce, &flags)) {
    } else {
    @@ -454,7 +456,7 @@
    PHP_DBXML_GETTHIS(XmlManager);
    std::string buffer = This->getHome();
    - RETURN_STRINGL((char *)buffer.data(), buffer.length(), 1);
    + DBXML_RETURN_STRINGL((char *)buffer.data(), buffer.length(), 1);
    PHP_DBXML_METHOD_END()
    diff -Naur -x '*xerces-c-src*' -x '*build_unix*' -x '*configure' -x '*Builder.pm' -x '*More.pm' -x'*const-c.inc' -x '*setup.py' dbxml-2.3.11.orig/dbxml/src/php/php_dbxml_modify.cpp dbxml-2.3.11-64/dbxml/src/php/php_dbxml_modify.cpp
    --- dbxml-2.3.11.orig/dbxml/src/php/php_dbxml_modify.cpp     2006-10-30 18:46:04.000000000 +0100
    +++ dbxml-2.3.11-64/dbxml/src/php/php_dbxml_modify.cpp     2008-06-04 15:14:42.000000000 +0200
    @@ -29,7 +29,7 @@
    zval zexp, zres;
    long type;
    char name, content;
    - long name_len, content_len;
    + int name_len, content_len;
    PHP_DBXML_STUFFED_THIS(XmlModify);
    if (SUCCESS == zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET,
    @@ -66,7 +66,7 @@
    zval zexp, zres;
    long type;
    char name, content;
    - long name_len, content_len;
    + int name_len, content_len;
    PHP_DBXML_STUFFED_THIS(XmlModify);
    if (SUCCESS == zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET,
    @@ -103,7 +103,7 @@
    zval zexp, zres;
    long type, location = -1;
    char name, content;
    - long name_len, content_len;
    + int name_len, content_len;
    PHP_DBXML_STUFFED_THIS(XmlModify);
    if (SUCCESS == zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET,
    @@ -140,7 +140,7 @@
    zval *zexp;
    char *content;
    - long content_len;
    + int content_len;
    PHP_DBXML_STUFFED_THIS(XmlModify);
    if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "Os", &zexp, php_dbxml_XmlQueryExpression_ce,
    @@ -159,7 +159,7 @@
    zval *zexp;
    char *content;
    - long content_len;
    + int content_len;
    PHP_DBXML_STUFFED_THIS(XmlModify);
    if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "Os", &zexp, php_dbxml_XmlQueryExpression_ce,
    @@ -208,8 +208,6 @@
    PHP_DBXML_METHOD_BEGIN(XmlModify, execute)
    - char *encoding;
    - int encoding_len;
    zval zv, zqc, zuc, zt;
    PHP_DBXML_STUFFED_THIS(XmlModify);
    diff -Naur -x '*xerces-c-src*' -x '*build_unix*' -x '*configure' -x '*Builder.pm' -x '*More.pm' -x'*const-c.inc' -x '*setup.py' dbxml-2.3.11.orig/dbxml/src/php/php_dbxml_querycontext.cpp dbxml-2.3.11-64/dbxml/src/php/php_dbxml_querycontext.cpp
    --- dbxml-2.3.11.orig/dbxml/

  • HP Pavilion g6-2330dx. "No Boot Device. Insert boot disk and press any key" Memory test failed

    Hi. So I am trying to help a friend with her laptop. It's a HP Pavilion g6-2330dx.
    Product #: D1C01UA#ABA
    Serial #: [Personal Information Removed]
    Windows 8
    ADATA 4GB RAM
    Toshiba 640GB HDD from the looks of it.
    The laptop is unable to boot into Windows, so I suspect the hard drive. But I ran the hard drive test and it passed all the tests. The SMART test and both the short and long test. I ran the tests multiple times and it passed each time. I tried reseating the hard drive and still no go. I also removed the HDD and connected it to my desktop PC to see if it detects and it did. Ran the Windows 7 own HDD test and it passed.
    Currently, there doesnt seem to be any operating system at all on the HDD. When I check, there is a C: drive of ~90GB partition that is ~90GB free, but inside there are Windows files/folders. There is also a D: drive Recovery partition that says ~26GB with only ~2GB free, but when I go inside there's only ~350MB worth of data.
    So then I ran the memory test (in BIOS) and it failed immediately. I reseated the RAM module. I tried the other slot. It still failed. So is it safe to say the memory is the cause of this problem?
    Pressing the F11 key that is supposed to take me to the System Recovery only leads me back to the black screen with "No Boot Device. Insert boot disk and press any key"
    I even tried to install Windows 7 to see if it'll work. I was able to get the laptop to boot/read off the Windows 7. But when I click to install, it asks for a boot device driver or something like that.
    My friend doesn't have the recovery disk either. I guess she lost it.
    Anyway, is it as simple as replacing the memory or could it actually be the HDD (even though it passes)?
    EDIT: This is what the System Log in BIOS says
    0021           Time: 10/13/2014
    03F0           Time: 10/13/2014
    03F0           Time: 10/13/2014
    The date was the first time I ran the tests. I havent received those numbers (error codes?) since.
    EDIT: Just for kicks, I ran Memtest 2.11 just now (forgot I had the disc) and it immediately went red with thousands of errors, hah.

    Hi bghs,
    Welcome to the HP Forums!
    It is a fantastic place to find answers and information.
    For you to have the best experience in the HP forum I would like to direct your attention to the HP Forums Guide Learn How to Post and More
    I understand that you were unable to boot into Windows,  and you suspected the hard drive and tested it, but it passed both short and long test.  With that being said and the fact that it also passed  leads me to believe the hard drive is fine.
    You tested the memory and it failed.  You tried reseating and swapping slots but they  still failed the test.
    I would test each card individual with the memtest to determine if it is just one or both cards that have an issue.
    When you installed it in another computer, you did see the recovery partition.  Once the memory issue is resolved, if you are still unable to boot into Windows, I suggest you do a recovery with the minimized image.   Here is a link to Performing an HP System Recovery (Windows 8) to assist you with that process.
    I hope this helps.
    Sparkles1
    I work on behalf of HP
    Please click “Accept as Solution ” if you feel my post solved your issue, it will help others find the solution.
    Click the “Kudos, Thumbs Up" on the bottom right to say “Thanks” for helping!

  • Crane Aerospace and electronics is looking for Test Engineers with LabVIEW experience - please disregard previous post.

    Here is the correct post:
    Are you detail-oriented, creative, and technically skilled at Engineering design and development?  Come to Crane Aerospace & Electronics and use your excellent Engineering skills to design, improve, and deliver the next generation of products in the aerospace and electronics Industry!
    We have a unique and exciting career opportunity for Engineer II, Test.
    You will be responsible for maximizing new product development and manufacturing performance through the creation and deployment of test strategies, tools, and plans.  Design and implement high performance hardware and software for test equipment.  Authoring test procedures and performing Qualification test activities.  Ensure high product quality.
    Responsibilities:
    Collaborate with customers and multi-disciplined engineers to establish/clarify test, qualification, verification and validation requirements.
    Write test plans, procedures, requirements and reports in a highly structured environment.
    Analyze, develop and deploy complex and high performance test hardware and software solutions for automated test equipment. 
    Design, develop, debug, validate & verify the fabrication of manual and automated test equipment at the circuit board and system level, and specify and procure COTS test equipment.
    Develop/maintain hardware documentation including block diagrams, schematics, BOMs, wiring diagrams and wiring lists, software documentation, and configuration control of initial release and updates. 
    Perform detailed calculations to establish test equipment specifications and design margins.
    Maintain existing test systems through bug fixes, improvements and modifications.
    Support the estimation of costs and schedules to develop or upgrade test platforms.
    To perform a number of the above responsibilities with limited supervision.
    Minimum Requirements:
    Experience: 2-5 years.  Previous work experience in aerospace, space or medical electronics industry preferred.
    Knowledge: Microprocessor / Microcontroller hardware and firmware design; Analog Circuit and power supply design; Digital Circuit Design including high-speed serial communication design; Firmware programming in c; Schematic Capture, PADS Logic preferred; Circuit Simulation; Fundamentals of magnetic proximity, temperature, and pressure sensing electronics; ESD; Familiarity with testing standards (MIL-810, MIL-704, and DO-160 preferred).  Basic laboratory test equipment; LabVIEW experience, certification preferred; Developing hardware per DO-254 and software per DO-178 preferred; Experience with Adobe FrameMaker, IBM Rational tools, TestStand, Microsoft Project preferred.
    Skills: Good interpersonal and communication skills (verbal and written)- effectively lead and/or participate in multifunctional teams in a dynamic work environment. Ability to manage multiple tasks, flexibility to switch between tasks and prioritize tasks. 
    Education/Certification: Bachelors Degree in electrical engineering, computer science, physics or related technical discipline.
    Eligibility Requirement: Must be a US Person (under ITAR rules) to be eligible.
    Working Conditions:
    Working conditions are normal for an office/manufacturing environment. Machinery operation requires the use of safety equipment to include but not limited to safety glasses, heel straps, and shop coats.
    Requires lifting 25 lbs
    Apply online today: http://ch.tbe.taleo.net/CH06/ats/careers/requisition.jsp?org=CRANEAE&cws=5&rid=3170
    Crane Aerospace & Electronics offers competitive salaries and outstanding opportunities for career growth and development.  Visit our website at CraneAE.com for more information on our company, benefits and great opportunities.
    In our efforts to maintain a safe and drug-free workplace, Crane Aerospace & Electronics requires that candidates complete a satisfactory background check and pass a drug screen prior to employment.  FAA sensitive positions require employees to participate in a random drug test pool.

    How can you say you are hiring test engineers with LabVIEW, yet the job description doesn't even mention LabVIEW.  All I see in there is CAD design.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • I get this message everytime I open Firefox: "[JavaScript Application]" and the message is: "TypeError: test is undefined."

    I get this message everytime I open Firefox: "[JavaScript Application]" and the message is: "TypeError: test is undefined."

    This issue can be caused by an extension that isn't working properly.
    *https://support.mozilla.org/kb/Troubleshooting+extensions+and+themes
    Start Firefox in <u>[[Safe Mode|Safe Mode]]</u> to check if one of the extensions or if hardware acceleration is causing the problem (switch to the DEFAULT theme: Firefox/Tools > Add-ons > Appearance/Themes).
    *Don't make any changes on the Safe mode start window.
    *https://support.mozilla.org/kb/Safe+Mode

  • I am set up mac mini and when I test the mail server by sending a mail from administrator to administrator I get the error message 'Diagnostic-Code: X-Postfix; connect to 127.0.0.1[127.0.0.1]:10024: Connection    refused'. Can any one suggest a solution

    I set up mac mini and when I test the mail server by sending a mail from administrator to administrator I get the error message 'Diagnostic-Code: X-Postfix; connect to 127.0.0.1[127.0.0.1]:10024: Connection    refused'. Can any one suggest a solution

    Thanks. Where could I possibly look for a firewall rule. I knowingly did not creat any. My system has internet coming to a Modem which then is connected to a wireless router. I have computers connecting to the router through cable as well as wireless. One of these computers has been our  mailserver using Mercury and Pegasus and that computer has a static IP address. The Mac Mini also has been assigned a different srtatic IP address. I have only set up user account, none of them an email account as I initially expect them to receive only internal mails. Is it necessary that I must set up an email id for each user while setting up the user account. My server id is server.local. So would the email id for local users be [email protected]?

  • [svn:bz-trunk] 19769: Add destination and two streaming endpoints to test the invalidate-messageclient-on-streaming-close setting .

    Revision: 19769
    Revision: 19769
    Author:   [email protected]
    Date:     2011-01-14 12:05:23 -0800 (Fri, 14 Jan 2011)
    Log Message:
    Add destination and two streaming endpoints to test the invalidate-messageclient-on-streaming-close setting.
    Modified Paths:
        blazeds/trunk/qa/apps/qa-manual/WEB-INF/flex/messaging-config.mods.xml
        blazeds/trunk/qa/apps/qa-manual/WEB-INF/flex/services-config.mods.xml

    Originally Posted by namal
    Hello,
    can you please reupload the file again? The link doesn't work. I really need this driver pack for the Audigy 2 NX. I had Windows 7 and i don't want to buy a new external Sound Card for my notebook. Much thanks for the great work.
    In case you still require your driver and Alchemy, here are the links for the Audigy 2 NX
    Downloads Page
    http://support.creative.com/Products...05&prodID=9103
    Driver
    http://support.creative.com/download...wnloadId=11994
    Alchemy
    http://support.creative.com/download...wnloadId=12579

  • Facetime problem. am having issues with facetime on iphone 4. Have gone to settings and turned on facetime and it will work (have tested it and my partner can facetime me but no icon comes up on my phone and so doesnt link to any of my contacts

    Facetime problem. am having issues with facetime on iphone 4. Have gone to settings and turned on facetime and it will work (have tested it and my partner can facetime me but no icon comes up on my phone and so doesnt link to any of my contacts

        Oh boy! Acting kind of weird seems to be an understatement, aquaequus!
    What type of troubleshooting were we able to do with you? I want to make sure that we can get some sort of resolution for this problem.
    It is quite possible the battery door may get your phone in working order again. I'm not sure if the store has it in stock, but it is available in our warehouse for $14.99 which can be ordered via customer service.
    Tamara H.
    Follow us on Twitter @VZWSupport

  • [Java and all else] Requirements tracking, testing, and versioning

    Hello,
    as a semi-experimental subject, I am considering managing requirements and test documents in the same version control system as the code.
    For some reasons, this versioning policy doesn't seem mainstream, so I'd like to have your opinion on that.
    +N.B.: the prefix "java and all else" refers to the fact that I'm using this area to post a message that is related not only to Java but also to other topics (people, processes, tools,...) that help program in Java - so this post is not really off-topic either. For the record, I filed a suggestion to open a dedicated forums to discuss topics like that, although it hasn't received enthusiastic support so far :o(...+
    Here is how I had imagined to proceed:
    - requirements document gets edited and stored as text in the VCS
    - test plan (basically a matrix of which tests cover which requirements) goes into the VCS as well, text or binary
    - test instructions (detailed steps, actions, expected results) are stored as text in the VCS
    - test results - I do'nt know yet, but I planned to store them as text (lists of testId=result) in the VCS (I'm not sure indeed, that those would go into the VCS)
    The advantage of versioning those as text is that all VCS clients support easy-as-a-click history browsing and diff capabilities.
    Diffs and logs are useful to trace when and why a requirement has appeared, evolved, obsolated,... Especially in long-lived systems whose maintenance crew rarely embeds "historical" pioneers who developed the original systems.
    My questions:
    1) Is it good practice to version such docs in the same repository as the code?
    I've never seen this done.
    - In half of the shops I've been these docs are not really versioned (the PM considered it enough that the latest applicable version of the docs was available)
    - The other half has used versioning systems ranging from ad-hoc (shared folder acting as repository of all versions) to "document management systems". I found such tools to be developer-unfriendly (poor diff capability, poor text searching), and developers to be office-document-reluctant (mostly because of the shortcomings of the doc format and doc management systems).
    - The third half <wink to aficionados of French cinema> used dedicated softwares (Test Director, RQM,...) to manage requiremetns, test plans, test cases, test results,... The drawback is that the developers were hardly involved in using such tools, and even when they were, were not trained to use the administrative and metadata capabilities (who modified the test steps, when and why?).
    On the contrary, developers would easily and gladly browse histiry, check diffs, etc... on text documents versioned using their daily-used source control system.
    2) Are there "standard", preferrably text-based, formats, for the documents listed above?
    Each and every organization I've seen had its own format, but most items have equivalents in all organizations, even if disguised under different terminologies. I have no formal education or training in quality assurance, but I guess some ISO or CMM norms define those recurring items, and I expect some abstract XML format might exist
    3) Are there tools already that cover edition and exploitation of such formats, or why not, of the versioning of such formats (naive example, graphing the pass rate of tests over time)?
    A pet project of mine is to develop and open-source some Swing UI to do this, but existing tools would save me the trouble.
    I'm looking forward to reading about your own experience.
    Best regards,
    Jerome.
    Edited by: jduprez on Jun 4, 2010 10:33 PM
    Fixed link.

    I don't have data on comparative bug rates because we did not do studies focused on that. This stuff was mostly driven by convenience #) considerations.
    Subjectively, yes it seemed to have lower bug rate compared to maintaining documents in, say, pdf format (like our doc writers did with User/Dev guides). BTW doc writers are another kind of guys who dislike plain text.
    As for using test results history the way you describe - agree, that makes some sense. Now that you mention it I recall using it myself that way, in one of the projects where testers managed to establish really convenient way to assess test execution history. After I figured how easy it was, I began using it. Quite helpful indeed.
    Regarding "tool or format that mapped tests to specific requirements" in your original post - did you consider Polarion? IIRC it supports mapping requirements to test descriptions. Telelogic DOORS are maybe also capable of that but I am not completely certain.
    #) convenience -- BTW we maintained test descriptions not in plain text but in simple HTML (you know few tags one can use in javadocs). With limited line length, it is almost as VCS friendly as plain text, even with tables:
    <!DOCTYPE "stuff to make HTML validator happy">
    <html><title>test description</title>
    <body>
    <table>
      <tr>
        <td>test id</td>
        <td>synchronized.10988343</td>
      </tr>
      <tr>
        <td>instructions</td>
        <td>
          <ul>
            <li>sacrifice a goat
              <ul><li>under the full moon</li></ul>
            </li>
            <li>twirl counterclockwise
              <ul><li>until you barf</li></ul>
            </li>
        </td>
      </tr>
      <tr>
        <td>pass criteria</td>
        <td>
          <ul>
            <li><b>pass</b> if method is synchronized</li>
            <li><b>fail</b> otherwise</li>
          </ul>
        </td>
      </tr>
      <tr>
        <td>comments</td>
        <td>
           <a href="http://forums.sun.com/thread.jspa?messageID=10988343#10988343">
           click here for details</a>
        </td>
      </tr>
    </table>
    </body>
    </html>
    {code}
    We were also using [HTML validator|http://validator.w3.org/|tool] tool to automatically catch simple syntax mistakes like missing tags.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • Parallel and Synchronized Multi UUT's Test

    Hi,
    We have more than 150 tests should be applied to verify our product and we have big quantity to be tested in short period.
    For this purpose I decided to test 4 UUT's at a time using suitable configuration. I have heart that Test Stand can meet the requirements and I have red TS help (batch & parallel test) but I get confused since I'm not expert in TS.
    To make it clear I have:
    *4 DMMs
    * 4 set of switches and relays to apply 4 tests at a time.
    * shared sources (AC PSU, DC PSU, FGen) that can feed 4 UUT at time.
    What I'm looking for is:
    Is it possible to apply 4 tests at a time using TS? (I think yes)
    Since I have shared power sources, can I synchronize all the UUT's to be at the same step? (I mean all 4 UUT's should start step1 and wait till all finishes step 1 to start step 2.)
    When any UUT3 fail, UUT3 test stops and other tests should complete the whole sequence.
    I have already developed TS sequence that call group of sub-vi's to test single UUT at time.
    Knowing the previous points what is the right way to apply my test?
    Help me please.
    Thanks

    Thank you very much Andy for you supports.
    Your information is very helpful and it encourages me to deeply go through Test Stand.
    I would like to clarify the image here.
    ·         4 UUT to be tested at the same time.
    ·          The test contains many main steps which include group of measuring points.
    ·         Every main step consist of Two stages:
    o        1st: setup and powering stage. (Shared for all 4 UUT)
    o        2nd: Measurements stage. (each UUT has its own DMM and group of switches)
    ·         The powering stage should be implemented at the beginning of each main step ones for all UUT.
    ·         The measuring stage will be implemented for each UUT and for each measuring point till main stage terminate.
    ·         When all UUT terminate the First main step, new main step starts with new setup and powering stage.
      Could you please advice me what to do?
    Thanks & Regards

  • How to disable domain based and normal  cookies in e-tester 8.3?

    Hi all,
    Is there any way to disable domain based and normal cookies in e-tester 8.3 verson ?
    thanks
    Edited by: USoni on Jan 28, 2009 11:23 PM

    What do you mean by disable?
    there are setting available which affects Cookies in Script Setting - Script - Automatic Actions

  • I just got an iphone 5s and now it wont connect to any of my windows 7 PCs, it just gets detected as an unknown device and is unable to be detected correctly.  It was connected to one windows 7 pc about a week ago and worked but now I tested it on 2others

    It is a 64 GB Iphone 5s and I am running Windows 7 x64 on all of my pcs.
    I just got an iphone 5s and now it wont connect to any of my windows 7 PCs, it just gets detected as an unknown device and is unable to be detected correctly.  It was connected to one windows 7 pc about a week ago and worked but now I tested it on 4 other computers including a macbook running osx and it isnt detected.  I tried the whole Apple Guide and it was no help.

    install the latest version of itunes

  • Run e-tester from a server and have staff remotely update scripts

    Can we run the floating e-tester from a server and have staff remotely access the server to run and update scripts instead of installing the client on everyone's workstation?

    Original Question:
    Can we run the floating e-tester from a server and have staff remotely access the server to run and update scripts instead of installing the client on everyone's workstation?
    There are different alternatives to consider and different ways to answer the question.
    1) You can run e-Tester with a floating license from a server and have people to use remote desktop to run and create scripts.
    Pros:
    * Multiple users can be updating scripts in the server at the same time.
    * There is no need to install e-Tester in any other computer.
    Cons:
    * If the max number of floating licenses is reached no other person can open another instance of e-Tester.
    * Having multiple people running scripts in the Job scheduler will create conflicts therefore is not recommended. Running multiple instances of e-Tester manually shouldn't cause problems, but it is a slow way to do regression testing. The job scheduler can run a script after another without user intervention. Teamwork can be affected if the default settings are changed by different users.
    * Running thru remote desktop(or any other remote tool such as vnc) is slower than having etester in the computer. The refresh rate of the screen tends to be slower.
    * If multiple users are using the server resources at the same time it can slow down the work of others. The server can run out of memory or it will be slow because the CPU running near max capacity.
    2) You can run eTester with a node lock license from a server and have people to use remote desktop to run and create scripts.
    Pros:
    * Multiple users can be updating scripts in the server at the same time.
    * There is no need to install eTester in any other computer.
    * Only one license is required.
    Cons:
    * Having multiple people running scripts in the Job scheduler will create conflicts therefore is not recommended. Running multiple instances of etester manually shouldn't cause problems, but it is a slow way to do regression testing. The job scheduler can run a script after another without user intervention. Teamwork can be affected if the default settings are changed by different users.
    * Running thru remote desktop(or any other remote tool such as vnc) is slower than having etester in the computer. The refresh rate of the screen tends to be slower.
    * If multiple users are using the server resources at the same time it can slow down the work of others. The server can run out of memory or it will be slow because the CPU running near max capacity.
    Notes:
    1) Having eTester installed in each individual's computer will allow the person to run tests with no worries about conflicts of server resources or job schedules trying to start an etester instance. Installing etester is a one time thing that takes in general less than 10 minutes.
    2) Instead of sharing the server resources you can share the place where the scripts reside. You can place the scripts in a central location and and configure etester to read the scripts from there. Instructions on how to do this should be in the knowledge base (if not please let me know)(Don't be lazy Zuriel, paste the link here).
    3) You can consider to have eManager Enterprise if you want to have better organization of the scripts. In eManager Enterprise you can relate your test cases to your scripts, you can run the scripts from a central location, it is less limited for scheduling scripts than the JobScheduler, and it can be accessed from anywhere inside the company with a web browser (for security reasons requires username and password). eManager Enterprise doesn't have the ability to create or update scripts, it uses scripts that were created in eTester already.
    eManager can also create schedules conflicts if multiple runs are attempted. There are ways to deal with this situation by having multiple computers to run the tests. (Please post in another thread if more information is necessary).
    I hope this helps.
    Regards,
    Zuriel

Maybe you are looking for