Navigation

    Kopano
    • Register
    • Login
    • Search
    • Categories
    • Get Official Kopano Support
    • Recent
    Statement regarding the closure of the Kopano community forum and the end of the community edition

    Zpush WBXMLException problem

    Z-Push when using other backends
    5
    28
    5544
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Sebastian
      Sebastian Kopano last edited by

      These is very little log. Could you enable wbxml logging, retry and post the full log?

      1 Reply Last reply Reply Quote 0
      • zgokan
        zgokan last edited by

        How can I activate?

        fbartels 1 Reply Last reply Reply Quote 0
        • fbartels
          fbartels Kopano @zgokan last edited by

          Hi @zgokan ,

          you can find the general debugging information for z-push at https://wiki.z-hub.io/display/ZP/Debugging

          Regards Felix

          Resources:
          https://kopano.com/blog/how-to-get-kopano/
          https://documentation.kopano.io/
          https://kb.kopano.io/

          Support overview:
          https://kopano.com/support/

          1 Reply Last reply Reply Quote 0
          • zgokan
            zgokan last edited by fbartels

            Hello

            I’m sorry for the late reply. The error is as follows.

            01/02/2018 23:45:48 [ 1601] [ERROR] [ob@xxxx.com] Zimbra->SoapRequest(): SOAP FAULT: Error Code   [mail.SEND_FAILURE] 
            01/02/2018 23:45:48 [ 1601] [ERROR] [ob@xxxx.com] Zimbra->SoapRequest(): SOAP FAULT: Error Reason [SMTP server reported: No recipient addresses] 
            01/02/2018 23:45:48 [ 1601] [FATAL] [ob@xxxx.com] WBXMLException: Internal Server Error - code: 0
            01/02/2018 23:45:48 [ 1601] [FATAL] [ob@xxxx.com] Request could not be processed correctly due to a WBXMLException. Please report this.
            

            System config:
            Apache2
            php7.1

            zpush server 1.1.1.1
            zimbra server 2.2.2.2

            config.php

             *  Default settings
             */
                // Defines the default time zone, change e.g. to "Europe/London" if necessary
                define('TIMEZONE', 'Europe/London');
                // Defines the base path on the server
                define('BASE_PATH', dirname($_SERVER['SCRIPT_FILENAME']). '/');
                // Try to set unlimited timeout
                define('SCRIPT_TIMEOUT', 0);
                // When accessing through a proxy, the "X-Forwarded-For" header contains the original remote IP
                define('USE_X_FORWARDED_FOR_HEADER', true);
                // When using client certificates, we can check if the login sent matches the owner of the certificate.
                // This setting specifies the owner parameter in the certificate to look at.
                define("CERTIFICATE_OWNER_PARAMETER", "SSL_CLIENT_S_DN_CN");
            /**********************************************************************************
             *  Default FileStateMachine settings
             */
                define('STATE_DIR', '/var/lib/z-push/');
            /**********************************************************************************
             *  Logging settings
             *  Possible LOGLEVEL and LOGUSERLEVEL values are:
             *  LOGLEVEL_OFF            - no logging
             *  LOGLEVEL_FATAL          - log only critical errors
             *  LOGLEVEL_ERROR          - logs events which might require corrective actions
             *  LOGLEVEL_WARN           - might lead to an error or require corrective actions in the future
             *  LOGLEVEL_INFO           - usually completed actions
             *  LOGLEVEL_DEBUG          - debugging information, typically only meaningful to developers
             *  LOGLEVEL_WBXML          - also prints the WBXML sent to/from the device
             *  LOGLEVEL_DEVICEID       - also prints the device id for every log entry
             *  LOGLEVEL_WBXMLSTACK     - also prints the contents of WBXML stack
             *
             *  The verbosity increases from top to bottom. More verbose levels include less verbose
             *  ones, e.g. setting to LOGLEVEL_DEBUG will also output LOGLEVEL_FATAL, LOGLEVEL_ERROR,
             *  LOGLEVEL_WARN and LOGLEVEL_INFO level entries.
             */
                define('LOGFILEDIR', '/var/log/z-push/');
                define('LOGFILE', LOGFILEDIR . 'z-push.log');
                define('LOGERRORFILE', LOGFILEDIR . 'z-push-error.log');
                define('LOGLEVEL', LOGLEVEL_WBXML);
                define('LOGAUTHFAIL', false);
                // To save e.g. WBXML data only for selected users, add the usernames to the array
                // The data will be saved into a dedicated file per user in the LOGFILEDIR
                // Users have to be encapusulated in quotes, several users are comma separated, like:
                //   $specialLogUsers = array('info@domain.com', 'myusername');
                define('LOGUSERLEVEL', LOGLEVEL_DEVICEID);
                $specialLogUsers = array();
                // Location of the trusted CA, e.g. '/etc/ssl/certs/EmailCA.pem'
                // Uncomment and modify the following line if the validation of the certificates fails.
                // define('CAINFO', '/etc/ssl/certs/EmailCA.pem');
            /**********************************************************************************
             *  Mobile settings
             */
                // Device Provisioning
                define('PROVISIONING', false);
                 
                // This option allows the 'loose enforcement' of the provisioning policies for older
                // devices which don't support provisioning (like WM 5 and HTC Android Mail) - dw2412 contribution
                // false (default) - Enforce provisioning for all devices
                // true - allow older devices, but enforce policies on devices which support it
                define('LOOSE_PROVISIONING', true);
                // Default conflict preference
                // Some devices allow to set if the server or PIM (mobile)
                // should win in case of a synchronization conflict
                //   SYNC_CONFLICT_OVERWRITE_SERVER - Server is overwritten, PIM wins
                //   SYNC_CONFLICT_OVERWRITE_PIM    - PIM is overwritten, Server wins (default)
                define('SYNC_CONFLICT_DEFAULT', SYNC_CONFLICT_OVERWRITE_PIM);
                // Global limitation of items to be synchronized
                // The mobile can define a sync back period for calendar and email items
                // For large stores with many items the time period could be limited to a max value
                // If the mobile transmits a wider time period, the defined max value is used
                // Applicable values:
                //   SYNC_FILTERTYPE_ALL (default, no limitation)
                //   SYNC_FILTERTYPE_1DAY, SYNC_FILTERTYPE_3DAYS, SYNC_FILTERTYPE_1WEEK, SYNC_FILTERTYPE_2WEEKS,
                //   SYNC_FILTERTYPE_1MONTH, SYNC_FILTERTYPE_3MONTHS, SYNC_FILTERTYPE_6MONTHS
                define('SYNC_FILTERTIME_MAX', SYNC_FILTERTYPE_ALL);
                // Interval in seconds before checking if there are changes on the server when in Ping.
                // It means the highest time span before a change is pushed to a mobile. Set it to
                // a higher value if you have a high load on the server.
                define('PING_INTERVAL', 30);
                // Interval in seconds to force a re-check of potentially missed notifications when
                // using a changes sink. Default are 300 seconds (every 5 min).
                // This can also be disabled by setting it to false
                define('SINK_FORCERECHECK', 300);
                // Set the fileas (save as) order for contacts in the webaccess/webapp/outlook.
                // It will only affect new/modified contacts on the mobile which then are synced to the server.
                // Possible values are:
                // SYNC_FILEAS_FIRSTLAST    - fileas will be "Firstname Middlename Lastname"
                // SYNC_FILEAS_LASTFIRST    - fileas will be "Lastname, Firstname Middlename"
                // SYNC_FILEAS_COMPANYONLY  - fileas will be "Company"
                // SYNC_FILEAS_COMPANYLAST  - fileas will be "Company (Lastname, Firstname Middlename)"
                // SYNC_FILEAS_COMPANYFIRST - fileas will be "Company (Firstname Middlename Lastname)"
                // SYNC_FILEAS_LASTCOMPANY  - fileas will be "Lastname, Firstname Middlename (Company)"
                // SYNC_FILEAS_FIRSTCOMPANY - fileas will be "Firstname Middlename Lastname (Company)"
                // The company-fileas will only be set if a contact has a company set. If one of
                // company-fileas is selected and a contact doesn't have a company set, it will default
                // to SYNC_FILEAS_FIRSTLAST or SYNC_FILEAS_LASTFIRST (depending on if last or first
                // option is selected for company).
                // If SYNC_FILEAS_COMPANYONLY is selected and company of the contact is not set
                // SYNC_FILEAS_LASTFIRST will be used
                define('FILEAS_ORDER', SYNC_FILEAS_LASTFIRST);
                // Amount of items to be synchronized per request
                // Normally this value is requested by the mobile. Common values are 5, 25, 50 or 100.
                // Exporting too much items can cause mobile timeout on busy systems.
                // Z-Push will use the lowest value, either set here or by the mobile.
                // default: 100 - value used if mobile does not limit amount of items
                define('SYNC_MAX_ITEMS', 100);
                // The devices usually send a list of supported properties for calendar and contact
                // items. If a device does not includes such a supported property in Sync request,
                // it means the property's value will be deleted on the server.
                // However some devices do not send a list of supported properties. It is then impossible
                // to tell if a property was deleted or it was not set at all if it does not appear in Sync.
                // This parameter defines Z-Push behaviour during Sync if a device does not issue a list with
                // supported properties.
                // See also https://jira.zarafa.com/browse/ZP-302.
                // Possible values:
                // false - do not unset properties which are not sent during Sync (default)
                // true  - unset properties which are not sent during Sync
                define('UNSET_UNDEFINED_PROPERTIES', false);
                // ActiveSync specifies that a contact photo may not exceed 48 KB. This value is checked
                // in the semantic sanity checks and contacts with larger photos are not synchronized.
                // This limitation is not being followed by the ActiveSync clients which set much bigger
                // contact photos. You can override the default value of the max photo size.
                // default: 49152 - 48 KB default max photo size in bytes
                define('SYNC_CONTACTS_MAXPICTURESIZE', 49152);
                // Over the WebserviceUsers command it is possible to retrieve a list of all
                // known devices and users on this Z-Push system. The authenticated user needs to have
                // admin rights and a public folder must exist.
                // In multicompany environments this enable an admin user of any company to retrieve
                // this full list, so this feature is disabled by default. Enable with care.
                define('ALLOW_WEBSERVICE_USERS_ACCESS', false);
            /**********************************************************************************
             *  Backend settings
             */
                // the backend data provider
                define('BACKEND_PROVIDER', 'BackendZimbra');
                define('ZIMBRA_URL', 'https://mail.x.x.x.xx.com'); 
            /**********************************************************************************
             *  Search provider settings
             *
             *  Alternative backend to perform SEARCH requests (GAL search)
             *  By default the main Backend defines the preferred search functionality.
             *  If set, the Search Provider will always be preferred.
             *  Use 'BackendSearchLDAP' to search in a LDAP directory (see backend/searchldap/config.php)
             */
                define('SEARCH_PROVIDER', '');
                // Time in seconds for the server search. Setting it too high might result in timeout.
                // Setting it too low might not return all results. Default is 10.
                define('SEARCH_WAIT', 10);
                // The maximum number of results to send to the client. Setting it too high
                // might result in timeout. Default is 10.
                define('SEARCH_MAXRESULTS', 10);
            /**********************************************************************************
             *  Synchronize additional folders to all mobiles
             *
             *  With this feature, special folders can be synchronized to all mobiles.
             *  This is useful for e.g. global company contacts.
             *
             *  This feature is supported only by certain devices, like iPhones.
             *  Check the compatibility list for supported devices:
             *      http://z-push.sf.net/compatibility
             *
             *  To synchronize a folder, add a section setting all parameters as below:
             *      store:      the ressource where the folder is located.
             *                  Zarafa users use 'SYSTEM' for the 'Public Folder'
             *      folderid:   folder id of the folder to be synchronized
             *      name:       name to be displayed on the mobile device
             *      type:       supported types are:
             *                      SYNC_FOLDER_TYPE_USER_CONTACT
             *                      SYNC_FOLDER_TYPE_USER_APPOINTMENT
             *                      SYNC_FOLDER_TYPE_USER_TASK
             *                      SYNC_FOLDER_TYPE_USER_MAIL
             *
             *  Additional notes:
             *  - on Zarafa systems use backend/zarafa/listfolders.php script to get a list
             *    of available folders
             *
             *  - all Z-Push users must have full writing permissions (secretary rights) so
             *    the configured folders can be synchronized to the mobile
             *
             *  - this feature is only partly suitable for multi-tenancy environments,
             *    as ALL users from ALL tenents need access to the configured store & folder.
             *    When configuring a public folder, this will cause problems, as each user has
             *    a different public folder in his tenant, so the folder are not available.
             *  - changing this configuration could cause HIGH LOAD on the system, as all
             *    connected devices will be updated and load the data contained in the
             *    added/modified folders.
             */
                $additionalFolders = array(
                    // demo entry for the synchronization of contacts from the public folder.
                    // uncomment (remove '/*' '*/') and fill in the folderid
            /*
                    array(
                        'store'     => "SYSTEM",
                        'folderid'  => "",
                        'name'      => "Public Contacts",
                        'type'      => SYNC_FOLDER_TYPE_USER_CONTACT,
                    ),
            */
                );
            ?>
            
            1 Reply Last reply Reply Quote 0
            • Manfred
              Manfred Kopano last edited by

              Hi @zgokan ,

              the log is still not helpful. You have to post the log from z-push.log at WBXML level.

              Which OS and PHP versions are you using?

              Manfred

              1 Reply Last reply Reply Quote 0
              • zgokan
                zgokan last edited by

                php version: php 7.1.11

                02/02/2018 01:48:33 [ 3343] [FATAL] [ob@xxxxxx] WBXMLException: Internal Server Error - code: 0
                02/02/2018 01:48:33 [ 3343] [FATAL] [ob@xxxxxx] Request could not be processed correctly due to a WBXMLException. Please report this.
                02/02/2018 01:53:55 [ 3362] [ERROR] [ob@xxxxxx Zimbra->SoapRequest(): SOAP FAULT: Error Code [mail.SEND_FAILURE]

                02/02/2018 01:53:55 [ 3362] [ERROR] [ob@xxxxxxx] Zimbra->SoapRequest(): SOAP FAULT: Error Reason [SMTP server reported: No recipient addresses]
                02/02/2018 01:53:55 [ 3362] [FATAL] [ob@xxxxxx] WBXMLException: Internal Server Error - code: 0
                02/02/2018 01:53:55 [ 3362] [FATAL] [ob@xxxxxxx] Request could not be processed correctly due to a WBXMLException. Please report this.

                1 Reply Last reply Reply Quote 0
                • Manfred
                  Manfred Kopano last edited by

                  Hi @zgokan ,

                  and which operating system is it?

                  That can’t be the entire z-push.log. Please post the contents of /var/log/z-push/z-push.log

                  Manfred

                  1 Reply Last reply Reply Quote 0
                  • zgokan
                    zgokan last edited by

                    os: ubuntu 16.04
                    php7.1
                    apache2.4

                    full log: http://paste.ubuntu.com/26512156/

                    1 Reply Last reply Reply Quote 0
                    • liverpoolfcfan
                      liverpoolfcfan last edited by liverpoolfcfan

                      The version of z-push you have loaded is extremely old and the zimbra backend is no longer supporting it

                      03/02/2018 14:38:52 [21945] [ INFO] [ob@xxxxx] Version=‘2.1.3-1892’ method=‘POST’ from=ip_address_example cmd=‘FolderSync’ getUser=‘ob@xxxxx’ devId=‘xxxxx’ devType=‘yyyyyyyyy’

                      You should install the latest release (2.3.8 at time of writing) from the repositories (see https://wiki.z-hub.io/display/ZP/Installation ) and use it with the zimbra backend release 67 (latest at time of writing) or later

                      1 Reply Last reply Reply Quote 0
                      • zgokan
                        zgokan last edited by

                        Hello

                        i change it.

                        Zpush version: 2.3.8
                        Zimbra backend:67
                        Php: 7.1
                        Os: ubuntu 16.04lts

                        05/02/2018 09:06:27 [ 1489] [FATAL] [ob@x.x.x.x] Fatal error: /var/www/html/z-push/lib/utils/utils.php:1144 - Uncaught Error: Call to undefined function mb_detect_encoding() in /var/www/html/z-push/lib/utils/utils.php:1144
                        Stack trace:
                        #0 /var/www/html/z-push/lib/request/request.php(251): Utils::ConvertAuthorizationToUTF8(‘ob@x.x.x.x…’)
                        #1 /var/www/html/z-push/index.php(61): Request::ProcessHeaders()

                        1 Reply Last reply Reply Quote 0
                        • zgokan
                          zgokan last edited by

                          problem is php plugin. It’s okay now… One problem contact information is not coming … :)

                          1 Reply Last reply Reply Quote 0
                          • liverpoolfcfan
                            liverpoolfcfan last edited by

                            Depending on the client type and window size selected it can take some time to sync the contacts folder(s). Outlook for example syncs all email before any calendar/contacts/tasks/etc.

                            1 Reply Last reply Reply Quote 0
                            • zgokan
                              zgokan last edited by

                              Thank. Contact synchronization also works.

                              1 Reply Last reply Reply Quote 0
                              • liverpoolfcfan
                                liverpoolfcfan last edited by

                                Excellent. Thanks for confirming back.

                                1 Reply Last reply Reply Quote 0
                                • zgokan
                                  zgokan last edited by

                                  Hello
                                  I have an Outlook 2016 problem. Which version works properly ?
                                  (Andorid,Thunderbird OK)

                                  1 Reply Last reply Reply Quote 0
                                  • Manfred
                                    Manfred Kopano last edited by

                                    Hi zgokan,

                                    as a rule of thumb one should always use the latest version available.

                                    Could you provide more information what Outlook problem do you have?

                                    Manfred

                                    1 Reply Last reply Reply Quote 0
                                    • zgokan
                                      zgokan last edited by zgokan

                                      its never sends a request. So the authentication or connection request … This is only available in Outlook 2016. I have not tried Outlook 2013 yet.

                                      1 Reply Last reply Reply Quote 0
                                      • Manfred
                                        Manfred Kopano last edited by

                                        Hi zgokan,

                                        does setting up the ActiveSync account in Outlook finish without errors? Are you using an official certificate? Do you see requests from Outlook in apache or Z-Push log?

                                        Manfred

                                        1 Reply Last reply Reply Quote 0
                                        • zgokan
                                          zgokan last edited by

                                          Hello

                                          Unfortunately, the connection does not even come. I think they have removed this feature.

                                          1 Reply Last reply Reply Quote 0
                                          • Manfred
                                            Manfred Kopano last edited by

                                            Hi zgokan,

                                            do you have autodiscover configured on your server? Because Outlook issues autodiscover requests before starting ActiveSync requests.

                                            Manfred

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post