Issue with unpack archive

Hi all,
I wrote class that unpack zip archive, but it took so much time.
I needed to unpack archive more faster.
Could someone help me?

try {
          final ZipInputStream zis = new ZipInputStream(new BufferedInputStream(new FileInputStream(archive)));
          try {
          ZipEntry ze;
          while ((ze = zis.getNextEntry()) != null) {
          final String filename = ze.getName();
          final File f = new File(dir, filename);
          if (ze.isDirectory()) {
          if (!f.exists()) {
          f.mkdirs();
          } else {
          if (f.getParent() != null) {
          final File parent = new File(f.getParent());
          if (!parent.exists()) {
          parent.mkdirs();
          int count;
          final byte data[] = new byte[2048];
          BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(f), 2048);
          try {
          while ((count = zis.read(data, 0, 2048)) != -1) {
          out.write(data, 0, count);
          } finally {
          out.flush();
          out.close();
          zis.closeEntry();
          } finally {
          zis.close();
          } catch (Exception e) {
e.printStackTrace();
its my code.
There are a lot of files...

Similar Messages

  • Issue with archiving (opentext) of adobe forms

    Hi ,
    We have an issue with archiving (open text) of adobe forms. When unfinished processes are restarted using Tcode /OTEI/PF_RESTART empty forms without data are archived. We are checking these forms using Tcode J6NY. PDF form is stored but data entered while processing the forms in portal is missing.
    Any suggestion or help is highly appreciated.
    Regards,
    Kishore

    Hi Prakash,
    Do not use Data Binding tab to bind the Drop down,
    Select Specify Item Values
    There in binding tab specify binding and there are few more options to specify Item Text and Item Value.
    Please find the below screenshot for the same.
    Thanks & regards,
    Rajkamal.

  • Issue with backing up Archive logs

    Hi All,
    Please help me with the issues/confusions I am facing :
    1. Currently, the  "First active log file  = S0008351.LOG"  from "db2 get db cfg for SMR"
        In the log_dir, there should be logs >=S0008351.LOG
        But in my case, in addition to these logs, there are some old logs like S0008309.LOG, S0008318.LOG, S0008331.LOG  etc...
        How can I clear all these 'not-really-wanted' logs from the log_dir ?
    2. There is some issue with archive backup as a result the archive backups are not running fine.
        Since this is a very low activity system, there are not much logs generated.
        But the issue is :
        There are so many archive logs in the "log_archive" directory, I want to cleanup the directory now.
        The latest online backup is @ 26.07.2011 04:01:04
        First Log File      : S0008344.LOG
        Last Log File       : S0008346.LOG
        Inside log_archive there are archive logs from  S0008121.LOG   to   S0008304.LOG
        I wont really require these logs, correct ?
    Please clear my confusions...

    Hi,
    >
    > 1. Currently, the  "First active log file  = S0008351.LOG"  from "db2 get db cfg for SMR"
    >     In the log_dir, there should be logs >=S0008351.LOG
    >     But in my case, in addition to these logs, there are some old logs like S0008309.LOG, S0008318.LOG, S0008331.LOG  etc...
    >     How can I clear all these 'not-really-wanted' logs from the log_dir ?
    >
    You should not delete logs from log_dir because there online Redo logs and if you delete then there will be problem in start of db.
    > 2. There is some issue with archive backup as a result the archive backups are not running fine.
    >     Since this is a very low activity system, there are not much logs generated.
    >     But the issue is :
    >     There are so many archive logs in the "log_archive" directory, I want to cleanup the directory now.
    >     The latest online backup is @ 26.07.2011 04:01:04
    >     First Log File      : S0008344.LOG
    >     Last Log File       : S0008346.LOG
    >   
    If your archive logs are backed up from log_archive directory then you can delete old logs.
    Thanks
    Sunny

  • Privileges/permissions issue with drop box/archive folder

    Hi there,
    I'm having an issue with the permissions on a folder on my iMac. I'm running Leopard. Here at our office, I have my computer set up just like everyone else; within my drop box I have an folder titled "Archive", and within the archive folder I have a folder named after the boss' external hard drive. When the files are on her hard drive, she moves them into this folder so that we know they're completed and can be burned to disc.
    For some reason though, she can no longer access this folder in my drop to drag anything into it. One day I found something online that told me to set something through my system preferences. It worked, but I can't remember what I did! The folder seems to have "relapsed" and once again, she can't access it. "Get Info" doesn't work, no matter how many times I change the permissions- it always says everyone should be able to read and write. I've also tried changing permissions and shared folders in the "Sharing" section of system preferences. It just doesn't seem to want to go. I think she might be running Tiger; is there a possibility that that's the issue?
    Any thoughts? Any help is greatly appreciated! Thanks!

    I would check the system preferences / sharing / file sharing .. highlight file sharing (leftside) and setting to edit changes will be on right side for 10.6.x S Leopard. I would look for a somewhat similar setup in Tiger for its file sharing settings.

  • Issue with spamassassin, now mail not working

    Hi ! I installed spamtrainer almost two months ago. Been feeding the [email protected] for several weeks now , 700 emails each day at least .
    There was very little improvement if none at all. Tried to add "@local_domains_maps = (1)" to amavisd.conf last night thinking it might be the problem , though no virtual domain exist. This was one of the issue on the default Amavisd config. The other one is adding the symbolic link which I already done.
    Computer froze while adding the parameter "@local_domains_maps = (1)", so I manually turn off the Power Mac, then mail stopped altogether. The mails are filing up but the clients couldn't send or receive since this incidence .
    FF is the maincf. and amavis.conf
    All help are greatly appreciated.
    mail:/Users/sysadmin root# postconf -n
    alias_maps = hash:/etc/aliases,hash:/var/mailman/data/aliases
    always_bcc =
    command_directory = /usr/sbin
    config_directory = /etc/postfix
    content_filter = smtp-amavis:[127.0.0.1]:10024
    daemon_directory = /usr/libexec/postfix
    debug_peer_level = 2
    enable_server_options = yes
    html_directory = no
    inet_interfaces = all
    local_recipient_maps = proxy:unix:passwd.byname $alias_maps
    luser_relay =
    mail_owner = postfix
    mailbox_size_limit = 0
    mailbox_transport = cyrus
    mailq_path = /usr/bin/mailq
    manpage_directory = /usr/share/man
    maps_rbl_domains =
    message_size_limit = 31457280
    mydestination = $myhostname,localhost.$mydomain,localhost,mail.cpplaw.com,cpplaw.com
    mydomain = cpplaw.com
    mydomain_fallback = localhost
    myhostname = mail.cpplaw.com
    mynetworks = 127.0.0.1/32,192.168.1.0/24,127.0.0.1
    mynetworks_style = host
    newaliases_path = /usr/bin/newaliases
    owner_request_special = no
    queue_directory = /private/var/spool/postfix
    readme_directory = /usr/share/doc/postfix
    recipient_delimiter = +
    relayhost =
    sample_directory = /usr/share/doc/postfix/examples
    sendmail_path = /usr/sbin/sendmail
    setgid_group = postdrop
    smtpd_client_restrictions = permit_mynetworks permit
    smtpd_tls_key_file =
    unknown_local_recipient_reject_code = 550
    virtual_mailbox_domains =
    virtual_transport = virtual
    mail:/Users/sysadmin root# postconf -n
    alias_maps = hash:/etc/aliases,hash:/var/mailman/data/aliases
    always_bcc =
    command_directory = /usr/sbin
    config_directory = /etc/postfix
    content_filter = smtp-amavis:[127.0.0.1]:10024
    daemon_directory = /usr/libexec/postfix
    debug_peer_level = 2
    enable_server_options = yes
    html_directory = no
    inet_interfaces = all
    local_recipient_maps = proxy:unix:passwd.byname $alias_maps
    luser_relay =
    mail_owner = postfix
    mailbox_size_limit = 0
    mailbox_transport = cyrus
    mailq_path = /usr/bin/mailq
    manpage_directory = /usr/share/man
    maps_rbl_domains =
    message_size_limit = 31457280
    mydestination = $myhostname,localhost.$mydomain,localhost,mail.cpplaw.com,cpplaw.com
    mydomain = cpplaw.com
    mydomain_fallback = localhost
    myhostname = mail.cpplaw.com
    mynetworks = 127.0.0.1/32,192.168.1.0/24,127.0.0.1
    mynetworks_style = host
    newaliases_path = /usr/bin/newaliases
    owner_request_special = no
    queue_directory = /private/var/spool/postfix
    readme_directory = /usr/share/doc/postfix
    recipient_delimiter = +
    relayhost =
    sample_directory = /usr/share/doc/postfix/examples
    sendmail_path = /usr/sbin/sendmail
    setgid_group = postdrop
    smtpd_client_restrictions = permit_mynetworks permit
    smtpd_tls_key_file =
    unknown_local_recipient_reject_code = 550
    virtual_mailbox_domains =
    virtual_transport = virtual
    mail:/Users/sysadmin root#
    _______________________Amavisd.cof_________________________
    use strict;
    # Configuration file for amavisd-new
    # This software is licensed under the GNU General Public License (GPL).
    # See comments at the start of amavisd-new for the whole license text.
    #Sections:
    # Section I - Essential daemon and MTA settings
    # Section II - MTA specific
    # Section III - Logging
    # Section IV - Notifications/DSN, BOUNCE/REJECT/DROP/PASS destiny, quarantine
    # Section V - Per-recipient and per-sender handling, whitelisting, etc.
    # Section VI - Resource limits
    # Section VII - External programs, virus scanners, SpamAssassin
    # Section VIII - Debugging
    #GENERAL NOTES:
    # This file is a normal Perl code, interpreted by Perl itself.
    # - make sure this file (or directory where it resides) is NOT WRITABLE
    # by mere mortals, otherwise it represents a severe security risk!
    # - for values which are interpreted as booleans, it is recommended
    # to use 1 for true, and 0 or undef or '' for false.
    # THIS IS DIFFERENT FROM OLDER AMAVIS VERSIONS where "no" also meant false,
    # now it means true, like any nonempty string does!
    # - Perl syntax applies. Most notably: strings in "" may include variables
    # (which start with $ or @); to include characters @ and $ in double
    # quoted strings, precede them by a backslash; in single-quoted strings
    # the $ and @ lose their special meaning, so it is usually easier to use
    # single quoted strings. Still, in both cases a backslash need to be doubled
    # - variables with names starting with a '@' are lists, the values assigned
    # to them should be lists as well, e.g. ('one@foo', $mydomain, "three");
    # note the comma-separation and parenthesis. If strings in the list
    # do not contain spaces nor variables, a Perl operator qw() may be used
    # as a shorthand to split its argument on whitespace and produce a list
    # of strings, e.g. qw( one@foo example.com three ); Note that the argument
    # to qw is quoted implicitly and no variable interpretation is done within
    # (no '$' variable evaluations). The #-initiated comments can not be used
    # within the string. In other words, $ and # lose their special meaning
    # withing a qw argument, just like within '...' strings.
    # - all e-mail addresses in this file and as used internally by the daemon
    # are in their raw (rfc2821-unquoted and nonbracketed) form, i.e.
    # Bob "Funny" [email protected], not: "Bob \"Funny\" Dude"@example.com
    # and not <"@example.com>; also: '' and not ''.
    # Section I - Essential daemon and MTA settings
    # $MYHOME serves as a quick default for some other configuration settings.
    # More refined control is available with each individual setting further down.
    # $MYHOME is not used directly by the program. No trailing slash!
    #$MYHOME = '/var/lib/amavis'; # (default is '/var/amavis')
    # : $mydomain serves as a quick default for some other configuration settings.
    # : More refined control is available with each individual setting further down.
    # : $mydomain is never used directly by the program.
    $mydomain = 'cpplaw.com'; aol.com'; # (no useful default)
    # Set the user and group to which the daemon will change if started as root
    # (otherwise just keep the UID unchanged, and these settings have no effect):
    $daemon_user = 'clamav'; # (no default; customary: vscan or amavis)
    $daemon_group = 'clamav'; # (no default; customary: vscan or amavis)
    # Runtime working directory (cwd), and a place where
    # temporary directories for unpacking mail are created.
    # (no trailing slash, may be a scratch file system)
    $TEMPBASE = $MYHOME; # (must be set if other config vars use is)
    #$TEMPBASE = "$MYHOME/tmp"; # prefer to keep home dir /var/amavis clean?
    # $helpers_home sets environment variable HOME, and is passed as option
    # 'home_dir_for_helpers' to Mail::SpamAssassin::new. It should be a directory
    # on a normal persistent file system, not a scratch or temporary file system
    #$helpers_home = $MYHOME; # (defaults to $MYHOME)
    #$daemon_chroot_dir = $MYHOME; # (default is undef, meaning: do not chroot)
    #$pid_file = "$MYHOME/amavisd.pid"; # (default is "$MYHOME/amavisd.pid")
    #$lock_file = "$MYHOME/amavisd.lock"; # (default is "$MYHOME/amavisd.lock")
    # set environment variables if you want (no defaults):
    $ENV{TMPDIR} = $TEMPBASE; # wise, but usually not necessary
    # MTA SETTINGS, UNCOMMENT AS APPROPRIATE,
    # both $forward_method and $notify_method default to 'smtp:127.0.0.1:10025'
    # POSTFIX, or SENDMAIL in dual-MTA setup, or EXIM V4
    # (set host and port number as required; host can be specified
    # as IP address or DNS name (A or CNAME, but MX is ignored)
    #$forward_method = 'smtp:127.0.0.1:10025'; # where to forward checked mail
    #$notify_method = $forward_method; # where to submit notifications
    # NOTE: The defaults (above) are good for Postfix or dual-sendmail. You MUST
    # uncomment the approprate settings below if using other setups!
    # SENDMAIL MILTER, using amavis-milter.c helper program:
    #$forward_method = undef; # no explicit forwarding, sendmail does it by itself
    # milter; option -odd is needed to avoid deadlocks
    #$notify_method = 'pipe:flags=q argv=/usr/sbin/sendmail -Ac -i -odd -f ${sender} -- ${recipient}';
    # just a thought: can we use use -Am instead of -odd ?
    # SENDMAIL (old non-milter setup, as relay):
    #$forward_method = 'pipe:flags=q argv=/usr/sbin/sendmail -C/etc/sendmail.orig.cf -i -f ${sender} -- ${recipient}';
    #$notify_method = $forward_method;
    # SENDMAIL (old non-milter setup, amavis.c calls local delivery agent):
    #$forward_method = undef; # no explicit forwarding, amavis.c will call LDA
    #$notify_method = 'pipe:flags=q argv=/usr/sbin/sendmail -Ac -i -f ${sender} -- ${recipient}';
    # EXIM v3 (not recommended with v4 or later, which can use SMTP setup instead):
    #$forward_method = 'pipe:flags=q argv=/usr/sbin/exim -oMr scanned-ok -i -f ${sender} -- ${recipient}';
    #$notify_method = $forward_method;
    # prefer to collect mail for forwarding as BSMTP files?
    #$forward_method = "bsmtp:$MYHOME/out-%i-%n.bsmtp";
    #$notify_method = $forward_method;
    # Net::Server pre-forking settings
    # You may want $max_servers to match the width of your MTA pipe
    # feeding amavisd, e.g. with Postfix the 'Max procs' field in the
    # master.cf file, like the '2' in the: smtp-amavis unix - - n - 2 smtp
    $max_servers = 2; # number of pre-forked children (default 2)
    $max_requests = 10; # retire a child after that many accepts (default 10)
    $child_timeout=5*60; # abort child if it does not complete each task in n sec
    # (default: 8*60 seconds)
    # Check also the settings of @av_scanners at the end if you want to use
    # virus scanners. If not, you may want to delete the whole long assignment
    # to the variable @av_scanners, which will also remove the virus checking
    # code (e.g. if you only want to do spam scanning).
    # Here is a QUICK WAY to completely DISABLE some sections of code
    # that WE DO NOT WANT (it won't even be compiled-in).
    # For more refined controls leave the following two lines commented out,
    # and see further down what these two lookup lists really mean.
    #@bypass_virus_checks_acl = qw( . ); # uncomment to DISABLE anti-virus code
    #@bypass_spam_checks_acl = qw( . ); # uncomment to DISABLE anti-spam code
    # Any setting can be changed with a new assignment, so make sure
    # you do not unintentionally override these settings further down!
    # Lookup list of local domains (see README.lookups for syntax details)
    # NOTE:
    # For backwards compatibility the variable names @local_domains (old) and
    # @local_domains_acl (new) are synonyms. For consistency with other lookups
    # the name @local_domains_acl is now preferred. It also makes it more
    # obviously distinct from the new %local_domains hash lookup table.
    # local_domains* lookup tables are used in deciding whether a recipient
    # is local or not, or in other words, if the message is outgoing or not.
    # This affects inserting spam-related headers for local recipients,
    # limiting recipient virus notifications (if enabled) to local recipients,
    # in deciding if address extension may be appended, and in SQL lookups
    # for non-fqdn addresses. Set it up correctly if you need features
    # that rely on this setting (or just leave empty otherwise).
    # With Postfix (2.0) a quick reminder on what local domains normally are:
    # a union of domains spacified in: $mydestination, $virtual_alias_domains,
    # $virtual_mailbox_domains, and $relay_domains.
    @local_domains_acl = ( ".$mydomain" ); # $mydomain and its subdomains
    # @local_domains_acl = qw(); # default is empty, no recipient treated as local
    # @local_domains_acl = qw( .example.com );
    # @local_domains_acl = qw( .example.com !host.sub.example.net .sub.example.net );
    # @local_domains_acl = ( ".$mydomain", '.example.com', 'sub.example.net' );
    # or alternatively(A), using a Perl hash lookup table, which may be assigned
    # directly, or read from a file, one domain per line; comments and empty lines
    # are ignored, a dot before a domain name implies its subdomains:
    #read_hash(\%local_domains, '/var/amavis/local_domains');
    #or alternatively(B), using a list of regular expressions:
    # $local_domains_re = new_RE( qr'[@.]example\.com$'i );
    # see README.lookups for syntax and semantics
    # Section II - MTA specific (defaults should be ok)
    # if $relayhost_is_client is true, IP address in $notify_method and
    # $forward_method is dynamically overridden with SMTP client peer address
    # if available, which makes possible for several hosts to share one daemon
    #$relayhost_is_client = 1; # (defaults to false)
    #$insert_received_line = 1; # behave like MTA: insert 'Received:' header
    # (does not apply to sendmail/milter)
    # (default is true)
    # AMAVIS-CLIENT PROTOCOL INPUT SETTINGS (e.g. with sendmail milter)
    # (used with amavis helper clients like amavis-milter.c and amavis.c,
    # NOT needed for Postfix and Exim)
    $unix_socketname = "$MYHOME/amavisd.sock"; # amavis helper protocol socket
    #$unix_socketname = undef; # disable listening on a unix socket
    # (default is undef, i.e. disabled)
    # (usual setting is $MYHOME/amavisd.sock)
    # Do we receive quoted or raw addresses from the helper program?
    # (does not apply to SMTP; defaults to true)
    #$gets_addr_in_quoted_form = 1; # "Bob \"Funny\" Dude"@example.com
    #$gets_addr_in_quoted_form = 0; # Bob "Funny" [email protected]
    # SMTP SERVER (INPUT) PROTOCOL SETTINGS (e.g. with Postfix, Exim v4, ...)
    # (used when MTA is configured to pass mail to amavisd via SMTP or LMTP)
    $inet_socket_port = 10024; # accept SMTP on this local TCP port
    # (default is undef, i.e. disabled)
    # multiple ports may be provided: $inet_socket_port = [10024, 10026, 10028];
    # SMTP SERVER (INPUT) access control
    # - do not allow free access to the amavisd SMTP port !!!
    # when MTA is at the same host, use the following (one or the other or both):
    #$inet_socket_bind = '127.0.0.1'; # limit socket bind to loopback interface
    # (default is '127.0.0.1')
    @inet_acl = qw( 127.0.0.1 ); # allow SMTP access only from localhost IP
    # (default is qw( 127.0.0.1 ) )
    # when MTA (one or more) is on a different host, use the following:
    #@inet_acl = qw(127/8 10.1.0.1 10.1.0.2); # adjust the list as appropriate
    #$inet_socket_bind = undef; # bind to all IP interfaces
    # Example1:
    # @inet_acl = qw( 127/8 10/8 172.16/12 192.168/16 );
    # permit only SMTP access from loopback and rfc1918 private address space
    # Example2:
    # @inet_acl = qw( !192.168.1.12 172.16.3.3 !172.16.3/255.255.255.0
    # 127.0.0.1 10/8 172.16/12 192.168/16 );
    # matches loopback and rfc1918 private address space except host 192.168.1.12
    # and net 172.16.3/24 (but host 172.16.3.3 within 172.16.3/24 still matches)
    # Example3:
    # @inet_acl = qw( 127/8
    # !172.16.3.0 !172.16.3.127 172.16.3.0/25
    # !172.16.3.128 !172.16.3.255 172.16.3.128/25 );
    # matches loopback and both halves of the 172.16.3/24 C-class,
    # split into two subnets, except all four broadcast addresses
    # for these subnets
    # See README.lookups for details on specifying access control lists.
    # Section III - Logging
    # true (e.g. 1) => syslog; false (e.g. 0) => logging to file
    $DO_SYSLOG = 0; # (defaults to false)
    #$SYSLOG_LEVEL = 'user.info'; # (defaults to 'mail.info')
    # Log file (if not using syslog)
    $LOGFILE = "/var/log/amavis.log"; # (defaults to empty, no log)
    #NOTE: levels are not strictly observed and are somewhat arbitrary
    # 0: startup/exit/failure messages, viruses detected
    # 1: args passed from client, some more interesting messages
    # 2: virus scanner output, timing
    # 3: server, client
    # 4: decompose parts
    # 5: more debug details
    $log_level = 4; # (defaults to 0)
    # Customizeable template for the most interesting log file entry (e.g. with
    # $log_level=0) (take care to properly quote Perl special characters like '\')
    # For a list of available macros see README.customize .
    # only log infected messages (useful with log level 0):
    # $log_templ = '[? %#V |[? %#F ||banned filename ([%F|,])]|infected ([%V|,])]#
    # [? %#V |[? %#F ||, from=<%o>, to=[<%R>|,][? %i ||, quarantine %i]]#
    # |, from=<%o>, to=[<%R>|,][? %i ||, quarantine %i]]';
    # log both infected and noninfected messages (default):
    $log_templ = '[? %#V |[? %#F |[?%#D|Not-Delivered|Passed]|BANNED name/type (%F)]|INFECTED (%V)], #
    <%o> -> [<%R>|,][? %i ||, quarantine %i], Message-ID: %m, Hits: %c';
    # Section IV - Notifications/DSN, BOUNCE/REJECT/DROP/PASS destiny, quarantine
    # Select notifications text encoding when Unicode-aware Perl is converting
    # text from internal character representation to external encoding (charset
    # in MIME terminology)
    # to be used in RFC 2047-encoded header field bodies, e.g. in Subject:
    #$hdr_encoding = 'iso-8859-1'; # (default: 'iso-8859-1')
    # to be used in notification body text: its encoding and Content-type.charset
    #$bdy_encoding = 'iso-8859-1'; # (default: 'iso-8859-1')
    # Default template texts for notifications may be overruled by directly
    # assigning new text to template variables, or by reading template text
    # from files. A second argument may be specified in a call to read_text(),
    # specifying character encoding layer to be used when reading from the
    # external file, e.g. 'utf8', 'iso-8859-1', or often just $bdy_encoding.
    # Text will be converted to internal character representation by Perl 5.8.0
    # or later; second argument is ignored otherwise. See PerlIO::encoding,
    # Encode::PerlIO and perluniintro man pages.
    # $notify_sender_templ = read_text('/var/amavis/notify_sender.txt');
    # $notify_virus_sender_templ= read_text('/var/amavis/notify_virus_sender.txt');
    # $notify_virus_admin_templ = read_text('/var/amavis/notify_virus_admin.txt');
    # $notify_virus_recips_templ= read_text('/var/amavis/notify_virus_recips.txt');
    # $notify_spam_sender_templ = read_text('/var/amavis/notify_spam_sender.txt');
    # $notify_spam_admin_templ = read_text('/var/amavis/notify_spam_admin.txt');
    # If notification template files are collectively available in some directory,
    # use read_l10n_templates which calls read_text for each known template.
    # read_l10n_templates('/etc/amavis/en_US');
    # Here is an overall picture (sequence of events) of how pieces fit together
    # (only virus controls are shown, spam controls work the same way):
    # bypass_virus_checks set for all recipients? ==> PASS
    # no viruses? ==> PASS
    # log virus if $log_templ is nonempty
    # quarantine if $virus_quarantine_to is nonempty
    # notify admin if $virus_admin (lookup) nonempty
    # notify recips if $warnvirusrecip and (recipient is local or $warn_offsite)
    # add address extensions for local recipients (when enabled)
    # send (non-)delivery notifications
    # to sender if DSN needed (BOUNCE) or ($warnvirussender and D_PASS)
    # virus_lovers or final_destiny==D_PASS ==> PASS
    # DISCARD (2xx) or REJECT (5xx) (depending on final_*_destiny)
    # Equivalent flow diagram applies for spam checks.
    # If a virus is detected, spam checking is skipped entirely.
    # The following symbolic constants can be used in *destiny settings:
    # D_PASS mail will pass to recipients, regardless of bad contents;
    # D_DISCARD mail will not be delivered to its recipients, sender will NOT be
    # notified. Effectively we lose mail (but will be quarantined
    # unless disabled). Not a decent thing to do for a mailer.
    # D_BOUNCE mail will not be delivered to its recipients, a non-delivery
    # notification (bounce) will be sent to the sender by amavisd-new;
    # Exception: bounce (DSN) will not be sent if a virus name matches
    # $viruses_that_fake_sender_re, or to messages from mailing lists
    # (Precedence: bulk|list|junk);
    # D_REJECT mail will not be delivered to its recipients, sender should
    # preferably get a reject, e.g. SMTP permanent reject response
    # (e.g. with milter), or non-delivery notification from MTA
    # (e.g. Postfix). If this is not possible (e.g. different recipients
    # have different tolerances to bad mail contents and not using LMTP)
    # amavisd-new sends a bounce by itself (same as D_BOUNCE).
    # Notes:
    # D_REJECT and D_BOUNCE are similar, the difference is in who is responsible
    # for informing the sender about non-delivery, and how informative
    # the notification can be (amavisd-new knows more than MTA);
    # With D_REJECT, MTA may reject original SMTP, or send DSN (delivery status
    # notification, colloquially called 'bounce') - depending on MTA;
    # Best suited for sendmail milter, especially for spam.
    # With D_BOUNCE, amavisd-new (not MTA) sends DSN (can better explain the
    # reason for mail non-delivery, but unable to reject the original
    # SMTP session). Best suited to reporting viruses, and for Postfix
    # and other dual-MTA setups, which can't reject original client SMTP
    # session, as the mail has already been enqueued.
    $final_virus_destiny = D_BOUNCE; # (defaults to D_BOUNCE)
    $final_banned_destiny = D_BOUNCE; # (defaults to D_BOUNCE)
    $final_spam_destiny = D_PASS; # (defaults to D_REJECT)
    $final_bad_header_destiny = D_PASS; # (defaults to D_PASS), D_BOUNCE suggested
    # Alternatives to consider for spam:
    # - use D_PASS if clients will do filtering based on inserted mail headers;
    # - use D_DISCARD, if kill_level is set safely high;
    # - use D_BOUNCE instead of D_REJECT if not using milter;
    # There are no sensible alternatives to D_BOUNCE for viruses, but consider:
    # - use D_PASS (or virus_lovers) and $warnvirussender=1 to deliver viruses;
    # - use D_REJECT instead of D_BOUNCE if using milter and under heavy
    # virus storm;
    # Don't bother to set both D_DISCARD and $warn*sender=1, it will get mapped
    # to D_BOUNCE.
    # The separation of *_destiny values into D_BOUNCE, D_REJECT, D_DISCARD
    # and D_PASS made settings $warnvirussender and $warnspamsender only still
    # useful with D_PASS.
    # The following $warn*sender settings are ONLY used when mail is
    # actually passed to recipients ($final_*_destiny=D_PASS, or *_lovers*).
    # Bounces or rejects produce non-delivery status notification anyway.
    # Notify virus sender?
    #$warnvirussender = 1; # (defaults to false (undef))
    # Notify spam sender?
    #$warnspamsender = 1; # (defaults to false (undef))
    # Notify sender of banned files?
    #$warnbannedsender = 1; # (defaults to false (undef))
    # Notify sender of syntactically invalid header containing non-ASCII characters?
    #$warnbadhsender = 1; # (defaults to false (undef))
    # Notify virus (or banned files) RECIPIENT?
    # (not very useful, but some policies demand it)
    #$warnvirusrecip = 1; # (defaults to false (undef))
    #$warnbannedrecip = 1; # (defaults to false (undef))
    # Notify also non-local virus/banned recipients if $warn*recip is true?
    # (including those not matching local_domains*)
    #$warn_offsite = 1; # (defaults to false (undef), i.e. only notify locals)
    # Treat envelope sender address as unreliable and don't send sender
    # notification / bounces if name(s) of detected virus(es) match the list.
    # Note that virus names are supplied by external virus scanner(s) and are
    # not standardized, so virus names may need to be adjusted.
    # See README.lookups for syntax.
    $viruses_that_fake_sender_re = new_RE(
    qr'nimda|hybris|klez|bugbear|yaha|braid|sobig|fizzer|palyh|peido|holar'i );
    # where to send ADMIN VIRUS NOTIFICATIONS (should be a fully qualified address)
    # - the administrator address may be a simple fixed e-mail address (a scalar),
    # or may depend on the SENDER address (e.g. its domain), in which case
    # a ref to a hash table can be specified (specify lower-cased keys,
    # dot is a catchall, see README.lookups).
    # Empty or undef lookup disables virus admin notifications.
    $virus_admin = '[email protected]';
    # $virus_admin = undef; # do not send virus admin notifications (default)
    # $virus_admin = {'not.example.com' => '', '.' => '[email protected]'};
    # $virus_admin = '[email protected]';
    # equivalent to $virus_admin, but for spam admin notifications:
    #$spam_admin = '[email protected]';# $spam_admin = undef; # do not send spam admin notifications (default)
    # $spam_admin = {'not.example.com' => '', '.' => '[email protected]'};
    #advanced example, using a hash lookup table:
    # - $virus_admin = {
    # '[email protected]' => '[email protected]',
    # '.sub1.example.com' => '[email protected]',
    # '.sub2.example.com' => '', # don't send admin notifications
    # 'a.sub3.example.com' => '[email protected]',
    # '.sub3.example.com' => '[email protected]',
    # '.example.com' => '[email protected]', # catchall for our virus senders
    # '.' => '[email protected]', # catchall for the rest
    # whom notification reports are sent from (ENVELOPE SENDER);
    # may be a null reverse path, or a fully qualified address:
    # (admin and recip sender addresses default to $mailfrom
    # for compatibility, which in turn defaults to undef (empty) )
    # If using strings in double quotes, don't forget to quote @, i.e. \@
    $mailfrom_notify_admin = "virusalert\@$mydomain";
    $mailfrom_notify_recip = "virusalert\@$mydomain";
    $mailfrom_notify_spamadmin = "spam.police\@$mydomain";
    # 'From' HEADER FIELD for sender and admin notifications.
    # This should be a replyable address, see rfc1894. Not to be confused
    # with $mailfrom_notify_sender, which is the envelope address and
    # should be empty (null reverse path) according to rfc2821.
    # $hdrfrom_notify_sender = "amavisd-new <postmaster\@$mydomain>";
    # $hdrfrom_notify_sender = 'amavisd-new <[email protected]>';
    # (defaults to: "amavisd-new <postmaster\@$myhostname>")
    # $hdrfrom_notify_admin = $mailfrom_notify_admin;
    # (defaults to: $mailfrom_notify_admin)
    # $hdrfrom_notify_spamadmin = $mailfrom_notify_spamadmin;
    # (defaults to: $mailfrom_notify_spamadmin)
    # whom quarantined messages appear to be sent from (envelope sender)
    $mailfrom_to_quarantine = undef; # original sender if undef, or set explicitly
    # (default is undef)
    # Location to put infected mail into: (applies to 'local:' quarantine method)
    # empty for not quarantining, may be a file (mailbox),
    # or a directory (no trailing slash)
    # (the default value is undef, meaning no quarantine)
    $QUARANTINEDIR = '/var/virusmails';
    #$virus_quarantine_method = "local:virus-%i-%n"; # default
    #$spam_quarantine_method = "local:spam-%b-%i-%n"; # default
    #use the new 'bsmtp:' method as an alternative to the default 'local:'
    #$virus_quarantine_method = "bsmtp:$QUARANTINEDIR/virus-%i-%n.bsmtp";
    #$spam_quarantine_method = "bsmtp:$QUARANTINEDIR/spam-%b-%i-%n.bsmtp";
    # When using the 'local:' quarantine method (default), the following applies:
    # A finer control of quarantining is available through variable
    # $virus_quarantine_to/$spam_quarantine_to. It may be a simple scalar string,
    # or a ref to a hash lookup table, or a regexp lookup table object,
    # which makes possible to set up per-recipient quarantine addresses.
    # The value of scalar $virus_quarantine_to/$spam_quarantine_to (or a
    # per-recipient lookup result from the hash table %$virus_quarantine_to)
    # is/are interpreted as follows:
    # VARIANT 1:
    # empty or undef disables quarantine;
    # VARIANT 2:
    # a string NOT containg an '@';
    # amavisd will behave as a local delivery agent (LDA) and will quarantine
    # viruses to local files according to hash %local_delivery_aliases (pseudo
    # aliases map) - see subroutine mail_to_local_mailbox() for details.
    # Some of the predefined aliases are 'virus-quarantine' and 'spam-quarantine'.
    # Setting $virus_quarantine_to ($spam_quarantine_to) to this string will:
    # * if $QUARANTINEDIR is a directory, each quarantined virus will go
    # to a separate file in the $QUARANTINEDIR directory (traditional
    # amavis style, similar to maildir mailbox format);
    # * otherwise $QUARANTINEDIR is treated as a file name of a Unix-style
    # mailbox. All quarantined messages will be appended to this file.
    # Amavisd child process must obtain an exclusive lock on the file during
    # delivery, so this may be less efficient than using individual files
    # or forwarding to MTA, and it may not work across NFS or other non-local
    # file systems (but may be handy for pickup of quarantined files via IMAP
    # for example);
    # VARIANT 3:
    # any email address (must contain '@').
    # The e-mail messages to be quarantined will be handed to MTA
    # for delivery to the specified address. If a recipient address local to MTA
    # is desired, you may leave the domain part empty, e.g. 'infected@', but the
    # '@' character must nevertheless be included to distinguish it from variant 2.
    # This method enables more refined delivery control made available by MTA
    # (e.g. its aliases file, other local delivery agents, dealing with
    # privileges and file locking when delivering to user's mailbox, nonlocal
    # delivery and forwarding, fan-out lists). Make sure the mail-to-be-quarantined
    # will not be handed back to amavisd for checking, as this will cause a loop
    # (hopefully broken at some stage)! If this can be assured, notifications
    # will benefit too from not being unecessarily virus-scanned.
    # By default this is safe to do with Postfix and Exim v4 and dual-sendmail
    # setup, but probably not safe with sendmail milter interface without
    # precaution.
    # (the default value is undef, meaning no quarantine)
    #$virus_quarantine_to = '[email protected]'; # traditional local quarantine
    #$virus_quarantine_to = 'infected@'; # forward to MTA for delivery
    #$virus_quarantine_to = "virus-quarantine\@$mydomain"; # similar
    #$virus_quarantine_to = '[email protected]'; # similar
    #$virus_quarantine_to = undef; # no quarantine
    #$virus_quarantine_to = new_RE( # per-recip multiple quarantines
    # [qr'^user@example\.com$'i => 'infected@'],
    # [qr'^(.*)@example\.com$'i => 'virus-${1}@example.com'],
    # [qr'^(.*)(@[^@])?$'i => 'virus-${1}${2}'],
    # [qr/.*/ => 'virus-quarantine'] );
    # similar for spam
    # (the default value is undef, meaning no quarantine)
    #$spam_quarantine_to = '[email protected]';
    #$spam_quarantine_to = "spam-quarantine\@$mydomain";
    #$spam_quarantine_to = new_RE( # per-recip multiple quarantines
    # [qr'^(.*)@example\.com$'i => 'spam-${1}@example.com'],
    # [qr/.*/ => 'spam-quarantine'] );
    # In addition to per-recip quarantine, a by-sender lookup is possible. It is
    # similar to $spam_quarantine_to, but the lookup key is the sender address:
    #$spam_quarantine_bysender_to = undef; # dflt: no by-sender spam quarantine
    # Add X-Virus-Scanned header field to mail?
    $X_HEADER_TAG = 'X-Virus-Scanned'; # (default: undef)
    # Leave empty to add no header field # (default: undef)
    $X_HEADER_LINE = "by amavisd-new at $mydomain";
    $remove_existing_x_scanned_headers = 0; # leave existing X-Virus-Scanned alone
    #$remove_existing_x_scanned_headers= 1; # remove existing headers
    # (defaults to false)
    $remove_existing_spam_headers = 0; # leave existing X-Spam* headers alone
    #$remove_existing_spam_headers = 1; # remove existing spam headers if
    # spam scanning is enabled (default)
    # set $bypass_decode_parts to true if you only do spam scanning, or if you
    # have a good virus scanner that can deal with compression and recursively
    # unpacking archives by itself, and save amavisd the trouble.
    # Disabling decoding also causes banned_files checking to only see
    # MIME names and MIME content types, not the content classification types
    # as provided by the file(1) utility.
    # It is a double-edged sword, make sure you know what you are doing!
    #$bypass_decode_parts = 1; # (defaults to false)
    # don't trust this file type or corresponding unpacker for this file type,
    # keep both the original and the unpacked file
    # (lookup key is what file(1) utility returned):
    $keep_decoded_original_re = new_RE(
    qr'^(ASCII|text|uuencoded|xxencoded|binhex)'i,
    # Checking for banned MIME types and names. If any mail part matches,
    # the whole mail is rejected, much like the way viruses are handled.
    # A list in object $banned_filename_re can be defined to provide a list
    # of Perl regular expressions to be matched against each part's:
    # * Content-Type value (both declared and effective mime-type),
    # including the possible security risk content types
    # message/partial and message/external-body, as specified by rfc2046;
    # * declared (recommended) file names as specified by MIME subfields
    # Content-Disposition.filename and Content-Type.name, both in their
    # raw (encoded) form and in rfc2047-decoded form if applicable;
    # * file content type as guessed by 'file(1)' utility, both the raw result
    # from file(1), as well as short type name, classified into names such as
    # .asc, .txt, .html, .doc, .jpg, .pdf, .zip, .exe, ..., which is always
    # beginning with a dot - see subroutine determine_file_types().
    # This step is done only if $bypass_decode_parts is not true.
    # * leave $banned_filename_re undefined to disable these checks
    # (giving an empty list to new_RE() will also always return false)
    $banned_filename_re = new_RE(
    qr'\.[a-zA-Z][a-zA-Z0-9]{0,3}\.(vbs|pif|scr|bat|com|exe|dll)$'i, # double extension
    # qr'.\.(exe|vbs|pif|scr|bat|com)$'i, # banned extension - basic
    # qr'.\.(ade|adp|bas|bat|chm|cmd|com|cpl|crt|exe|hlp|hta|inf|ins|isp|js|
    # jse|lnk|mdb|mde|msc|msi|msp|mst|pcd|pif|reg|scr|sct|shs|shb|vb|
    # vbe|vbs|wsc|wsf|wsh)$'ix, # banned extension - long
    # qr'^\.(exe|zip|lha|tnef)$'i, # banned file(1) types
    # qr'^application/x-msdownload$'i, # banned MIME types
    # qr'^message/partial$'i, qr'^message/external-body$'i, # rfc2046
    # See http://support.microsoft.com/default.aspx?scid=kb;EN-US;q262631
    # and http://www.cknow.com/vtutor/vtextensions.htm
    # A little trick: a pattern qr'\.exe$' matches both a short type name '.exe',
    # as well as any file name which happens to end with .exe. If only matching
    # a file name is desired, but not the short name, a pattern qr'.\.exe$'i
    # or similar may be used, which requires that at least one character preceeds
    # the '.exe', and so it will never match short file types, which always start
    # with a dot.
    # Section V - Per-recipient and per-sender handling, whitelisting, etc.
    # %virus_lovers, @virus_lovers_acl and $virus_lovers_re lookup tables:
    # (these should be considered policy options, they do not disable checks,
    # see bypas*checks for that!)
    # Exclude certain RECIPIENTS from virus filtering by adding their lower-cased
    # envelope e-mail address (or domain only) to the hash %virus_lovers, or to
    # the access list @virus_lovers_acl - see README.lookups and examples.
    # Make sure the appropriate form (e.g. external/internal) of address
    # is used in case of virtual domains, or when mapping external to internal
    # addresses, etc. - this is MTA-specific.
    # Notifications would still be generated however (see the overall
    # picture above), and infected mail (if passed) gets additional header:
    # X-AMaViS-Alert: INFECTED, message contains virus: ...
    # (header not inserted with milter interface!)
    # NOTE (milter interface only): in case of multiple recipients,
    # it is only possible to drop or accept the message in its entirety - for all
    # recipients. If all of them are virus lovers, we'll accept mail, but if
    # at least one recipient is not a virus lover, we'll discard the message.
    # %bypass_virus_checks, @bypass_virus_checks_acl and $bypass_virus_checks_re
    # lookup tables:
    # (this is mainly a time-saving option, unlike virus_lovers* !)
    # Similar in concept to %virus_lovers, a hash %bypass_virus_checks,
    # access list @bypass_virus_checks_acl and regexp list $bypass_virus_checks_re
    # are used to skip entirely the decoding, unpacking and virus checking,
    # but only if ALL recipients match the lookup.
    # %bypass_virus_checks/@bypass_virus_checks_acl/$bypass_virus_checks_re
    # do NOT GUARANTEE the message will NOT be checked for viruses - this may
    # still happen when there is more than one recipient for a message, and
    # not all of them match these lookup tables. To guarantee virus delivery,
    # a recipient must also match %virus_lovers/@virus_lovers_acl lookups
    # (but see milter limitations above),
    # NOTE: it would not be clever to base virus checks on SENDER address,
    # since there are no guarantees that it is genuine. Many viruses
    # and spam messages fake sender address. To achieve selective filtering
    # based on the source of the mail (e.g. IP address, MTA port number, ...),
    # use mechanisms provided by MTA if available.
    # Similar to lookup tables controlling virus checking, there exist
    # spam scanning, banned names/types, and headers_checks control counterparts:
    # %spam_lovers, @spam_lovers_acl, $spam_lovers_re
    # %banned_files_lovers, @banned_files_lovers_acl, $banned_files_lovers_re
    # %bad_header_lovers, @bad_header_lovers_acl, $bad_header_lovers_re
    # and:
    # %bypass_spam_checks/@bypass_spam_checks_acl/$bypass_spam_checks_re
    # %bypass_banned_checks/@bypass_banned_checks_acl/$bypass_banned_checks_re
    # %bypass_header_checks/@bypass_header_checks_acl/$bypass_header_checks_re
    # See README.lookups for details about the syntax.
    # The following example disables spam checking altogether,
    # since it matches any recipient e-mail address (any address
    # is a subdomain of the top-level root DNS domain):
    # @bypass_spam_checks_acl = qw( . );
    # @bypass_header_checks_acl = qw( [email protected] );
    # @bad_header_lovers_acl = qw( [email protected] );
    # See README.lookups for further detail, and examples below.
    # $virus_lovers{lc("postmaster\@$mydomain")} = 1;
    # $virus_lovers{lc('[email protected]')} = 1;
    # $virus_lovers{lc('[email protected]')} = 1;
    # $virus_lovers{lc('some.user@')} = 1; # this recipient, regardless of domain
    # $virus_lovers{lc('[email protected]')} = 0; # never, even if domain matches
    # $virus_lovers{lc('example.com')} = 1; # this domain, but not its subdomains
    # $virus_lovers{lc('.example.com')}= 1; # this domain, including its subdomains
    #or:
    # @virus_lovers_acl = qw( [email protected] !lab.xxx.com .xxx.com yyy.org );
    # $bypass_virus_checks{lc('[email protected]')} = 1;
    # @bypass_virus_checks_acl = qw( some.ddd !butnot.example.com .example.com );
    # @virus_lovers_acl = qw( [email protected] );
    # $virus_lovers_re = new_RE( qr'(helpdesk|postmaster)@example\.com$'i );
    # $spam_lovers{lc("postmaster\@$mydomain")} = 1;
    # $spam_lovers{lc('[email protected]')} = 1;
    # $spam_lovers{lc('[email protected]')} = 1;
    # @spam_lovers_acl = qw( !.example.com );
    # $spam_lovers_re = new_RE( qr'^user@example\.com$'i );
    # don't run spam check for these RECIPIENT domains:
    # @bypass_spam_checks_acl = qw( d1.com .d2.com a.d3.com );
    # or the other way around (bypass check for all BUT these):
    # @bypass_spam_checks_acl = qw( !d1.com !.d2.com !a.d3.com . );
    # a practical application: don't check outgoing mail for spam:
    # @bypass_spam_checks_acl = ( "!.$mydomain", "." );
    # (a downside of which is that such mail will not count as ham in SA bayes db)
    # Where to find SQL server(s) and database to support SQL lookups?
    # A list of triples: (dsn,user,passw). (dsn = data source name)
    # Specify more than one for multiple (backup) SQL servers.
    # See 'man DBI', 'man DBD::mysql', 'DBD::Pg', ... for details.
    # @lookup_sql_dsn =
    # ( ['DBI:mysql:mail:host1', 'some-username1', 'some-password1'],
    # ['DBI:mysql:mail:host2', 'some-username2', 'some-password2'] );
    # ('mail' in the example is the database name, choose what you like)
    # With PostgreSQL the dsn (first element of the triple) may look like:
    # 'DBI:Pg:host=host1;dbname=mail'
    # The SQL select clause to fetch per-recipient policy settings.
    # The %k will be replaced by a comma-separated list of query addresses
    # (e.g. full address, domain only, catchall). Use ORDER, if there
    # is a chance that multiple records will match - the first match wins.
    # If field names are not unique (e.g. 'id'), the later field overwrites the
    # earlier in a hash returned by lookup, which is why we use '*,users.id'.
    # No need to uncomment the following assignment if the default is ok.
    # $sql_select_policy = 'SELECT *,users.id FROM users,policy'.
    # ' WHERE (users.policy_id=policy.id) AND (users.email IN (%k))'.
    # ' ORDER BY users.priority DESC';
    # The SQL select clause to check sender in per-recipient whitelist/blacklist
    # The first SELECT argument '?' will be users.id from recipient SQL lookup,
    # the %k will be sender addresses (e.g. full address, domain only, catchall).
    # The default value is:
    # $sql_select_white_black_list = 'SELECT wb FROM wblist,mailaddr'.
    # ' WHERE (rid=?) AND (sid=mailaddr.id) AND (mailaddr.email IN (%k))'.
    # ' ORDER BY mailaddr.priority DESC';
    # To disable SQL white/black list, set to undef (otherwise comment-out
    # the following statement, leaving it at the default value):
    $sql_select_white_black_list = undef; # undef disables SQL white/blacklisting
    # If you decide to pass viruses (or spam) to certain recipients using the
    # above lookup tables or using $final_virus_destiny=1, you can set
    # the variable $addr_extension_virus ($addr_extension_spam) to some
    # string, and the recipient address will have this string appended
    # as an address extension to the local-part of the address. This extension
    # can be used by final local delivery agent to place such mail in different
    # folders. Leave these two variables undefined or empty strings to prevent
    # appending address extensions. Setting has no effect on recipient which will
    # not be receiving viruses/spam. Recipients who do not match lookup tables
    # local_domains* are not affected.
    # LDAs usually default to stripping away address extension if no special
    # handling is specified, so having this option enabled normally does no harm,
    # provided the $recipients_delimiter matches the setting on the final
    # MTA's LDA.
    # $addr_extension_virus = 'virus'; # (default is undef, same as empty)
    # $addr_extension_spam = 'spam'; # (default is undef, same as empty)
    # $addr_extension_banned = 'banned'; # (default is undef, same as empty)
    # Delimiter between local part of the recipient address and address extension
    # (which can optionally be added, see variables $addr_extension_virus and
    # $addr_extension_spam). E.g. recipient address <[email protected]> gets changed
    # to <[email protected]>.
    # Delimiter should match equivalent (final) MTA delimiter setting.
    # (e.g. for Postfix add 'recipient_delimiter = +' to main.cf)
    # Setting it to an empty string or to undef disables this feature
    # regardless of $addr_extension_virus and $addr_extension_spam settings.
    $recipient_delimiter = '+'; # (default is '+')
    # true: replace extension; false: append extension
    # $replace_existing_extension = 1; # (default is false)
    # Affects matching of localpart of e-mail addresses (left of '@')
    # in lookups: true = case sensitive, false = case insensitive
    $localpart_is_case_sensitive = 0; # (default is false)
    # ENVELOPE SENDER WHITELISTING / BLACKLISTING - GLOBAL (RECIPIENT-INDEPENDENT)
    # WHITELISTING: use ENVELOPE SENDER lookups to ENSURE DELIVERY from whitelisted
    # senders even if the message is recognized as spam. Effectively, for the
    # specified senders, message RECIPIENTS temporarily become 'spam_lovers', with
    # further processing being the same as otherwise specified for spam lovers.
    # It does not turn off inserting spam-related headers, if they are enabled.
    # BLACKLISTING: messages from specified SENDERS are DECLARED SPAM.
    # Effectively, for messages from blacklisted senders, spam level
    # is artificially pushed high, and the normal spam processing applies,
    # resulting in 'X-Spam-Flag: YES', high 'X-Spam-Level' bar and other usual
    # reactions to spam, including possible rejection. If the message nevertheless
    # still passes (e.g. for spam loving recipients), it is tagged as BLACKLISTED
    # in the 'X-Spam-Status' header field, but the reported spam value and
    # set of tests in this report header field (if available from SpamAssassin,
    # which may have not been called) is not adjusted.
    # A sender may be both white- and blacklisted at the same time,
    # settings are independent. For example, being both white- and blacklisted,
    # message is delivered to recipients, but is tagged as spam.
    # If ALL recipients of the message either white- or blacklist the sender,
    # spam scanning (calling the SpamAssassin) is bypassed, saving on time.
    # The following variables (lookup tables) are available, with the semantics
    # and syntax as specified in README.lookups:
    # %whitelist_sender, @whitelist_sender_acl, $whitelist_sender_re
    # %blacklist_sender, @blacklist_sender_acl, $blacklist_sender_re
    # SOME EXAMPLES:
    #ACL:
    # @whitelist_sender_acl = qw( .example.com );
    # @whitelist_sender_acl = ( ".$mydomain" ); # $mydomain and its subdomains
    # NOTE: This is not a reliable way of turning off spam checks for
    # locally-originating mail, as sender address can easily be faked.
    # To reliably avoid spam-scanning outgoing mail,
    # use @bypass_spam_checks_acl .
    #RE:
    # $whitelist_sender_re = new_RE(
    # qr'^postmaster@.*\bexample\.com$'i,
    # qr'^owner-[^@]*@'i, qr'-request@'i,
    # qr'\.example\.com$'i );
    $blacklist_sender_re = new_RE(
    qr'^(bulkmail|offers|cheapbenefits|earnmoney|foryou|greatcasino)@'i,
    qr'^(investments|lose_weight_today|market.alert|money2you|MyGreenCard)@'i,
    qr'^(new\.tld\.registry|opt-out|opt-in|optin|saveonlsmoking2002k)@'i,
    qr'^(specialoffer|specialoffers|stockalert|stopsnoring|wantsome)@'i,
    qr'^(workathome|yesitsfree|your_friend|greatoffers)@'i,
    qr'^(inkjetplanet|marketopt|MakeMoney)\d*@'i,
    #HASH lookup variant:
    # NOTE: Perl operator qw splits its argument string by whitespace
    # and produces a list. This means that addresses can not contain
    # whitespace, and there is no provision for comments within the string.
    # You can use the normal Perl list syntax if you have special requirements,
    # e.g. map {...} ('one user@bla', '.second.com'), or use read_hash to read
    # addresses from a file.
    # a hash lookup table can be read from a file,
    # one address per line, comments and empty lines are permitted:
    # read_hash(\%whitelist_sender, '/var/amavis/whitelist_sender');
    # ... or set directly:
    # $whitelist_sender{''} = 1; # don't spam-check MTA bounces
    map { $whitelist_sender{lc($_)}=1 } (qw(
    [email protected]
    [email protected]
    [email protected]
    [email protected]
    [email protected]
    [email protected]
    [email protected]
    [email protected]
    [email protected]
    [email protected]
    [email protected]
    [email protected]
    [email protected]
    [email protected]
    [email protected]
    [email protected]
    [email protected]
    [email protected]
    [email protected]
    [email protected]
    [email protected]
    [email protected]
    [email protected]
    returns.groups.yahoo.com
    # ENVELOPE SENDER WHITELISTING / BLACKLISTING - PER-RECIPIENT
    # The same semantics as for global white/blacklisting applies, but this
    # time each recipient (or its domain, or subdomain, ...) can be given
    # an individual lookup table for matching senders. The per-recipient lookups
    # override the global lookups, which serve as a fallback default.
    # Specify a two-level lookup table: the key for the outer table is recipient,
    # and the result should be an inner lookup table (hash or ACL or RE),
    # where the key used will be the sender.
    #$per_recip_blacklist_sender_lookup_tables = {
    # '[email protected]'=>new_RE(qr'^(inkjetplanet|marketopt|MakeMoney)\d*@'i),
    # '[email protected]'=>[qw( [email protected],org .d2.example,org )],
    #$per_recip_whitelist_sender_lookup_tables = {
    # '[email protected]' => [qw( [email protected] .other.example.org )],
    # '.my1.example.com' => [qw( !foe.other.example,org .other.example,org )],
    # '.my2.example.com' => read_hash('/var/amavis/my2-wl.dat'),
    # 'abuse@' => { 'postmaster@'=>1,
    # '[email protected]'=>1, '[email protected]'=>1 },
    # Section VI - Resource limits
    # Sanity limit to the number of allowed recipients per SMTP transaction
    # $smtpd_recipient_limit = 1000; # (default is 1000)
    # Resource limitations to protect against mail bombs (e.g. 42.zip)
    # Maximum recursion level for extraction/decoding (0 or undef disables limit)
    $MAXLEVELS = 14; # (default is undef, no limit)
    # Maximum number of extracted files (0 or undef disables the limit)
    $MAXFILES = 1500; # (default is undef, no limit)
    # For the cumulative total of all decoded mail parts we set max storage size
    # to defend against mail bombs. Even though parts may be deleted (replaced
    # by decoded text) during decoding, the size they occupied is _not_ returned
    # to the quota pool.
    # Parameters to storage quota formula for unpacking/decoding/decompressing
    # Formula:
    # quota = max($MIN_EXPANSION_QUOTA,
    # $mail_size*$MIN_EXPANSION_FACTOR,
    # min($MAX_EXPANSION_QUOTA, $mail_size*$MAX_EXPANSION_FACTOR))
    # In plain words (later condition overrules previous ones):
    # allow MAX_EXPANSION_FACTOR times initial mail size,
    # but not more than MAX_EXPANSION_QUOTA,
    # but not less than MIN_EXPANSION_FACTOR times initial mail size,
    # but never less than MIN_EXPANSION_QUOTA
    $MIN_EXPANSION_QUOTA = 100*1024; # bytes (default undef, not enforced)
    $MAX_EXPANSION_QUOTA = 300*1024*1024; # bytes (default undef, not enforced)
    $MIN_EXPANSION_FACTOR = 5; # times original mail size (must be specified)
    $MAX_EXPANSION_FACTOR = 500; # times original mail size (must be specified)
    # Section VII - External programs, virus scanners
    # Specify a path string, which is a colon-separated string of directories
    # (no trailing slashes!) to be assigned to the environment variable PATH
    # and to serve for locating external programs below.
    # NOTE: if $daemon_chroot_dir is nonempty, the directories will be
    # relative to the chroot directory specified;
    $path = '/usr/local/sbin:/usr/local/bin:/usr/sbin:/sbin:/usr/bin:/bin';
    # Specify one string or a search list of strings (first match wins).
    # The string (or: each string in a list) may be an absolute path,
    # or just a program name, to be located via $path;
    # Empty string or undef (=default) disables the use of that external program.
    # Optionally command arguments may be specified - only the first substring
    # up to the whitespace is used for file searching.
    $file = 'file'; # file(1) utility; use 3.41 or later to avoid vulnerability
    $gzip = 'gzip';
    $bzip2 = 'bzip2';
    $lzop = 'lzop';
    $uncompress = ['uncompress', 'gzip -d', 'zcat'];
    $unfreeze = ['unfreeze', 'freeze -d', 'melt', 'fcat'];
    $arc = ['nomarch', 'arc'];
    $unarj = ['arj', 'unarj']; # both can extract, same options
    $unrar = ['rar', 'unrar']; # both can extract, same options
    $zoo = 'zoo';
    $lha = 'lha';
    $cpio = 'cpio';
    # SpamAssassin settings
    # $sa_local_tests_only is passed to Mail::SpamAssassin::new as a value
    # of the option local_tests_only. See Mail::SpamAssassin man page.
    # If set to 1, no tests that require internet access will be performed.
    $sa_local_tests_only = 1; # (default: false)
    #$sa_auto_whitelist = 1; # turn on AWL (default: false)
    $sa_mail_body_size_limit = 64*1024; # don't waste time on SA if mail is larger
    # (less than 1% of spam is > 64k)
    # default: undef, no limitations
    # default values, can be overridden by more specific lookups, e.g. SQL
    $sa_tag_level_deflt = -999; # add spam info headers if at, or above that level
    $sa_tag2_level_deflt = 3.0; # add 'spam detected' headers at that level
    $sa_kill_level_deflt = 22.0;
    #$sa_kill_level_deflt = $sa_tag2_level_deflt; # triggers spam evasive actions
    # at or above that level: bounce/reject/drop,
    # quarantine, and adding mail address extension
    # The $sa_tag_level_deflt, $sa_tag2_level_deflt and $sa_kill_level_deflt
    # may also be hashrefs to hash lookup tables, to make static per-recipient
    # settings possible without having to resort to SQL or LDAP lookups.
    # a quick reference:
    # tag_level controls adding the X-Spam-Status and X-Spam-Level headers,
    # tag2_level controls adding 'X-Spam-Flag: YES', and editing Subject,
    # kill_level controls 'evasive actions' (reject, quarantine, extensions);
    # it only makes sense to maintain the relationship:
    # tag_level <= tag2_level <= kill_level
    # string to prepend to Subject header field when message exceeds tag2 level
    $sa_spam_subject_tag = '*** JUNK MAIL ***'; # (defaults to undef, disables)
    # (only seen when spam is not to be rejected
    # and recipient is in local_domains*)
    $sa_spam_modifies_subj = 1; # may be a ref to a lookup table, default is true
    # Example: modify Subject for all local recipients except [email protected]
    #$sa_spam_modifies_subj = [qw( [email protected] . )];
    # @av_scanners is a list of n-tuples, where fields semantics is:
    # 1. av scanner plain name, to be used in log and reports;
    # 2. scanner program name; this string will be submitted to subroutine
    # find_external_programs(), which will try to find the full program
    # path name; if program is not found, this scanner is disabled.
    # Besides a simple string (full program path name or just the basename
    # to be looked for in PATH), this may be an array ref of alternative
    # program names or full paths - the first match in the list will be used;
    # As a special case for more complex scanners, this field may be
    # a subroutine reference, and the whole n-tuple is passed to it as args.
    # 3. command arguments to be given to the scanner program;
    # a substring {} will be replaced by the directory name to be scanned,
    # i.e. "$tempdir/parts"
    # 4. an array ref of av scanner exit status values, or a regexp (to be
    # matched against scanner output), indicating NO VIRUSES found;
    # 5. an array ref of av scanner exit status values, or a regexp (to be
    # matched against scanner output), indicating VIRUSES WERE FOUND;
    # Note: the virus match prevails over a 'not found' match, so it is safe
    # even if 4. matches for viruses too;
    # 6. a regexp (to be matched against scanner output), returning a list
    # of virus names found.
    # 7. and 8.: (optional) subroutines to be executed before and after scanner
    # (e.g. to set environment or current directory);
    # see examples for these at KasperskyLab AVP and Sophos sweep.
    # NOTES:
    # - NOT DEFINING @av_scanners (e.g. setting it to empty list, or deleting the
    # whole assignment) TURNS OFF LOADING AND COMPILING OF THE ANTIVIRUS CODE
    # (which can be handy if all you want to do is spam scanning);
    # - the order matters: although _all_ available entries from the list are
    # always tried regardless of their verdict, scanners are run in the order
    # specified: the report from the first one detecting a virus will be used
    # (providing virus names and scanner output); REARRANGE THE ORDER TO WILL;
    # - it doesn't hurt to keep an unused command line scanner entry in the list
    # if the program can not be found; the path search is only performed once
    # during the program startup;
    # CORROLARY: to disable a scanner that _does_ exist on your system,
    # comment out its entry or use undef or '' as its program name/path
    # (second parameter). An example where this is almost a must: disable
    # Sophos 'sweep' if you have its daemonized version Sophie or SAVI-Perl
    # (same for Trophie/vscan, and clamd/clamscan), or if another unrelated
    # program happens to have a name matching one of the entries ('sweep'
    # again comes to mind);
    # - it DOES HURT to keep unwanted entries which use INTERNAL SUBROUTINES
    # for interfacing (where the second parameter starts with \&).
    # Keeping such entry and not having a corresponding virus scanner daemon
    # causes an unnecessary connection attempt (which eventually times out,
    # but it wastes precious time). For this reason the daemonized entries
    # are commented in the distribution - just remove the '#' where needed.
    @av_scanners = (
    # ### http://www.vanja.com/tools/sophie/
    # ['Sophie',
    # \&ask_daemon, ["{}/\n", '/var/run/sophie'],
    # qr/(?x)^ 0+ ( : | [\000\r\n]* $)/, qr/(?x)^ 1 ( : | [\000\r\n]* $)/,
    # qr/(?x)^ [-+]? \d+ : (.*?) [\000\r\n]* $/ ],
    # ### http://www.csupomona.edu/~henson/www/projects/SAVI-Perl/
    # ['Sophos SAVI', \&sophos_savi ],
    # ### http://clamav.elektrapro.com/
    # ['Clam Antivirus-clamd',
    # \&ask_daemon, ["CONTSCAN {}\n", '/var/amavis/clamd'],
    # qr/\bOK$/, qr/\bFOUND$/,
    # qr/^.*?: (?!Infected Archive)(.*) FOUND$/ ],
    # # NOTE: run clamd under the same user as amavisd,
    # # match the socket name in clamav.conf to the socket name in this entry
    # ### http://www.openantivirus.org/
    # ['OpenAntiVirus ScannerDaemon (OAV)',
    # \&ask_daemon, ["SCAN {}\n", '127.0.0.1:8127'],
    # qr/^OK/, qr/^FOUND: /, qr/^FOUND: (.+)/ ],
    # ### http://www.vanja.com/tools/trophie/
    # ['Trophie',
    # \&ask_daemon, ["{}/\n", '/var/run/trophie'],
    # qr/(?x)^ 0+ ( : | [\000\r\n]* $)/, qr/(?x)^ 1 ( : | [\000\r\n]* $)/,
    # qr/(?x)^ [-+]? \d+ : (.*?) [\000\r\n]* $/ ],
    # ### http://www.f-prot.com/
    # ['FRISK F-Prot Daemon',
    # \&ask_daemon,
    # ["GET {}/*?-dumb%20-archive HTTP/1.0\r\n\r\n",
    # ['127.0.0.1:10200','127.0.0.1:10201','127.0.0.1:10202',
    # '127.0.0.1:10203','127.0.0.1:10204'] ],
    # qr/(?i)<summary[^>]*>clean<\/summary>/,
    # qr/(?i)<summary[^>]*>infected<\/summary>/,
    # qr/(?i)<name>(.+)<\/name>/ ],
    ['KasperskyLab AntiViral Toolkit Pro (AVP)', ['avp','kavscanner'],
    "-* -P -B -Y -O- {}", [0,3,8], [2,4], # any use for -A -K ?
    qr/infected: (.+)/,
    sub {chdir('/opt/AVP') or die "Can't chdir to AVP: $!"},
    sub {chdir($TEMPBASE) or die "Can't chdir back to $TEMPBASE $!"},
    ['KasperskyLab AVPDaemonClient',
    [ '/opt/AVP/kavdaemon', 'kavdaemon',
    '/opt/AVP/AvpDaemonClient', 'AvpDaemonClient',
    '/opt/AVP/AvpTeamDream', 'AvpTeamDream',
    '/opt/AVP/avpdc', 'avpdc' ],
    '{}', [0,8], [3,4,5,6], qr/infected: ([^\r\n]+)/ ],
    # change the startup-script in /etc/init.d/kavd to:
    # DPARMS="-I0 -Y -* /var/amavis"
    # adjusting /var/amavis above to match your $TEMPBASE.
    # NOTE: cd /opt/AVP/DaemonClients; configure; cd Sample; make
    # cp AvpDaemonClient /opt/AVP/
    ### http://www.hbedv.com/ or http://www.centralcommand.com/
    ['H+BEDV AntiVir or CentralCommand Vexira Antivirus',
    ['antivir','vexira'],
    '--allfiles -noboot -nombr -rs -s -z {}', [0], qr/ALERT:|VIRUS:/,
    qr/(?x)^\s* (?: ALERT: \s* (?: \[ | [^']* ' ) |
    (?i) VIRUS:\ .*?\ virus\ '?) ( [^\]\s']+ )/ ],
    # NOTE: remove the -z if you only have a demo version
    ### http://www.commandsoftware.com/
    ['Command AntiVirus for Linux', 'csav',
    '-all -archive -packed {}', [50], [51,52,53],
    qr/Infection: (.+)/ ],
    ### http://www.symantec.com/
    ['Symantec CarrierScan via Symantec CommandLineScanner',
    ['cscmdline','savsecls'],
    '-a scan -i 1 -v -s 127.0.0.1:7777 {}',
    qr/Files Infected: 0/, qr/^Infected: /,
    qr/Info:\s+(.+)/ ],
    ### http://drweb.imshop.de/
    ['DrWeb Antivirus for Linux/FreeBSD/Solaris', 'drweb',
    '-al -ar -fm -go -ha -ml -ot -sd -up {}',
    [0], [1], sub {('no-name')} ],
    ### http://www.f-secure.com/products/anti-virus/
    ['F-Secure Antivirus', 'fsav',
    '--dumb --archive {}', [0], [3,8],
    qr/(?:infection|Infected): (.+)/ ],
    ['CAI InoculateIT', 'inocucmd',
    '-sec -nex {}', [0], [100],
    qr/was infected by virus (.+)/ ],
    ['MkS_Vir for Linux (beta)', ['mks32','mks'],
    '-s {}/*', [0], [1,2],
    qr/--[ \t]*(.+)/ ],
    ['MkS_Vir daemon',
    'mksscan', '-s -q {}', [0], [1..7],
    qr/^... (\S+)/ ],
    ### http://www.nod32.com/
    ['ESET Software NOD32', 'nod32',
    '-all -subdir+ {}', [0], [1,2],
    qr/^.+? - (.+?)\s*(?:backdoor|joke|trojan|virus|worm)/ ],
    ### http://www.nod32.com/
    ['ESET Software NOD32 - Client/Server Version', 'nod32cli',
    '-a -r -d recurse --heur standard {}', [0], [10,11],
    qr/^\S+\s+infected:\s+(.+)/ ],
    ### http://www.norman.com/products_nvc.shtml
    ['Norman Virus Control v5 / Linux', 'nvccmd',
    '-c -l:0 -s -u {}', [0], [1],
    qr/(?i).* virus in .* -> \'(.+)\'/ ],
    ### http://www.pandasoftware.com/
    ['Panda Antivirus for Linux', ['pavcl','pavc'],
    '-aut -aex -heu -cmp -nor -nso -eng {}',
    qr/Number of files infected\.*: 0(?!\d)/,
    qr/Number of files infected\.*: 0*[1-9]/,
    qr/Found virus :\s*(\S+)/ ],
    # Check your RAV license terms before fiddling with the following two lines!
    # ['GeCAD RAV AntiVirus 8', 'ravav',
    # '--all --archive --mail {}', [1], [2,3,4,

    You are welcome. I'm glad you got it back up.
    (1) You say you did the symbolic link. I will assume this is set correctly; it's very important that it is.
    (2) I don't know what you mean by "Been feeding the [email protected] for several weeks now, 700 emails each day at least." After the initial training period, SpamAssassin doesn't learn from mail it has already processed correctly. At this point, you only need to teach SpamAssassin when it is wrong. [email protected] should only be getting spam that is being passed as clean. Likewise, [email protected] should only be getting legitimate mail that is being flagged as junk. You are redirecting mail to both [email protected] and [email protected] ... right? SpamAssassin needs both.
    (3) Next, as I said before, you need to implement those "Frontline spam defense for Mac OS X Server." Once you have that done and issue "postfix reload" you can look at your SMTP log in Server Admin and watch as Postfix blocks one piece of junk mail after another. It's kind of cool.
    (4) Add some SARE rules:
    Visit http://www.rulesemporium.com/rules.htm and download the following rules:
    70sareadult.cf
    70saregenlsubj0.cf
    70sareheader0.cf
    70sarehtml0.cf
    70sareobfu0.cf
    70sareoem.cf
    70sarespoof.cf
    70sarestocks.cf
    70sareunsub.cf
    72sare_redirectpost
    Visit http://www.rulesemporium.com/other-rules.htm and download the following rules:
    backhair.cf
    bogus-virus-warnings.cf
    chickenpox.cf
    weeds.cf
    Copy these rules to /etc/mail/spamassassin/
    Then stop and restart mail services.
    There are other things you can do, and you'll find differing opinions about such things. In general, I think implementing the "Frontline spam defense for Mac OS X Server" and adding the SARE rules will help a lot. Good luck!

  • Issue with xsd Data type mapping for collection of user defined data type

    Hi,
    I am facing a issue with wsdl for xsd mapping for collection of user defined data type.
    Here is the code snippet.
    sample.java
    @WebMethod
    public QueryPageOutput AccountQue(QueryPageInput qpInput)
    public class QueryPageInput implements Serializable, Cloneable
    protected Account_IO fMessage = null;
    public class QueryPageOutput implements Serializable, Cloneable
    protected Account_IO fMessage = null;
    public class Account_IO implements Serializable, Cloneable {
    protected ArrayList <AccountIC> fintObjInst = null;
    public ArrayList<AccountIC>getfintObjInst()
    return (ArrayList<AccountIC>)fintObjInst.clone();
    public void setfintObjInst(AccountIC val)
    fintObjInst = new ArrayList<AccountIC>();
    fintObjInst.add(val);
    Public class AccountIC
    protected String Name;
    protected String Desc;
    public String getName()
    return Name;
    public void setName(String name)
    Name = name;
    For the sample.java code, the wsdl generated is as below:
    <?xml version="1.0" encoding="UTF-8" ?>
    <wsdl:definitions
    name="SimpleService"
    targetNamespace="http://example.org"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    xmlns:tns="http://example.org"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
    >
    <wsdl:types>
    <xs:schema version="1.0" targetNamespace="http://examples.org" xmlns:ns1="http://example.org/types"
    xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:import namespace="http://example.org/types"/>
    <xs:element name="AccountWSService" type="ns1:accountEMRIO"/>
    </xs:schema>
    <xs:schema version="1.0" targetNamespace="http://example.org/types" xmlns:ns1="http://examples.org"
    xmlns:tns="http://example.org/types" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:import namespace="http://examples.org"/>
    <xs:complexType name="queryPageOutput">
    <xs:sequence>
    <xs:element name="fSiebelMessage" type="tns:accountEMRIO" minOccurs="0"/>
    </xs:sequence>
    </xs:complexType>
    <xs:complexType name="accountEMRIO">
    <xs:sequence>
    <xs:element name="fIntObjectFormat" type="xs:string" minOccurs="0"/>
    <xs:element name="fMessageType" type="xs:string" minOccurs="0"/>
    <xs:element name="fMessageId" type="xs:string" minOccurs="0"/>
    <xs:element name="fIntObjectName" type="xs:string" minOccurs="0"/>
    <xs:element name="fOutputIntObjectName" type="xs:string" minOccurs="0"/>
    <xs:element name="fintObjInst" type="xs:anyType" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    </xs:complexType>
    <xs:complexType name="queryPageInput">
    <xs:sequence>
    <xs:element name="fPageSize" type="xs:string" minOccurs="0"/>
    <xs:element name="fSiebelMessage" type="tns:accountEMRIO" minOccurs="0"/>
    <xs:element name="fStartRowNum" type="xs:string" minOccurs="0"/>
    <xs:element name="fViewMode" type="xs:string" minOccurs="0"/>
    </xs:sequence>
    </xs:complexType>
    </xs:schema>
    <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://example.org"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://example.org" xmlns:ns1="http://example.org/types">
    <import namespace="http://example.org/types"/>
    <xsd:complexType name="AccountQue">
    <xsd:sequence>
    <xsd:element name="arg0" type="ns1:queryPageInput"/>
    </xsd:sequence>
    </xsd:complexType>
    <xsd:element name="AccountQue" type="tns:AccountQue"/>
    <xsd:complexType name="AccountQueResponse">
    <xsd:sequence>
    <xsd:element name="return" type="ns1:queryPageOutput"/>
    </xsd:sequence>
    </xsd:complexType>
    <xsd:element name="AccountQueResponse" type="tns:AccountQueResponse"/>
    </schema>
    </wsdl:types>
    <wsdl:message name="AccountQueInput">
    <wsdl:part name="parameters" element="tns:AccountQue"/>
    </wsdl:message>
    <wsdl:message name="AccountQueOutput">
    <wsdl:part name="parameters" element="tns:AccountQueResponse"/>
    </wsdl:message>
    <wsdl:portType name="SimpleService">
    <wsdl:operation name="AccountQue">
    <wsdl:input message="tns:AccountQueInput" xmlns:ns1="http://www.w3.org/2006/05/addressing/wsdl"
    ns1:Action=""/>
    <wsdl:output message="tns:AccountQueOutput" xmlns:ns1="http://www.w3.org/2006/05/addressing/wsdl"
    ns1:Action=""/>
    </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding name="SimpleServiceSoapHttp" type="tns:SimpleService">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="AccountQue">
    <soap:operation soapAction=""/>
    <wsdl:input>
    <soap:body use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap:body use="literal"/>
    </wsdl:output>
    </wsdl:operation>
    </wsdl:binding>
    <wsdl:service name="SimpleService">
    <wsdl:port name="SimpleServicePort" binding="tns:SimpleServiceSoapHttp">
    <soap:address location="http://localhost:7101/WS-Project1-context-root/SimpleServicePort"/>
    </wsdl:port>
    </wsdl:service>
    </wsdl:definitions>
    In the above wsdl the collection of fintObjInst if of type xs:anytype. From the wsdl, I do not see the xsd mapping for AccountIC which includes Name and Desc. Due to which, when invoking the web service from a different client like c#(by creating proxy business service), I am unable to set the parameters for AccountIC. I am using JAX-WS stack and WLS 10.3. I have already looked at blog http://weblogs.java.net/blog/kohlert/archive/2006/10/jaxws_and_type.html but unable to solve this issue. However, at run time using a tool like SoapUI, when this wsdl is imported, I am able to see all the params related to AccountIC class.
    Can some one help me with this.
    Thanks,
    Sudha.

    Did you try adding the the XmlSeeAlso annotation to the webservice
    @XmlSeeAlso({<package.name>.AccountIC.class})
    This will add the schema for the data type (AccountIC) to the WSDL.
    Hope this helps.
    -Ajay

  • Issue with sales order stock that is referencing a non-existing sales order

    We have an issue with sale order stock.
    Due to user error we have ended up with a negative quant of sales order stock in a bin. Further the error was due to mis-keying of sales order number. Hence this negative quant is referencing a sales order that does not exist.
    We need to get rid of this quant.
    I thought of cycling this quant off as a solution. And hence replicated the scenario in the test system. I was able to create a TO to cycle it off but cannot clear the differences from 999 . The error I get while trying to do this is "SD document not in database or has been archived" . This error is true since the sales order actually does not exist. So cycling it off did not work.
    Can anyone suggest how we can get rid of this negative quant of sales order stock ?
    Thanks

    Hi,
    You said that your user mistyped the SO number and it resulted in a -quant. In which transaction was it possible? If I give a non existing no. SAP doesn't allow me to book.
    If I were you I would check both in WM & IM what the user had done...step-by-step...
    Negative quant comes to existance in interim storage type if we book e.g. a GI. It should have started in IM...how was your user be able to do that??? If it was possible cannot you reverse the IM booking?
    (...if all else fails...cannot you create a SO document with external number assignment with the same number?...)
    BR
    Csaba
    Edited by: Csaba Szommer on Jun 24, 2008 8:31 PM

  • Issue with PO Currency when currency changed after the approval.

    Hi All,
    we have  get an issue with PO currency which is as follows
    Step1:Created a Limit PO with value  3.701,00  CHF and sent it for approval,,and PO is approved and transfered to backed (We are using  "Extended classical scenario'  .
    Step2:but we got to know that the PO value should be  in USD ,so will go to PO and changed the currency value to USD ,it coveted value to 3421 but ,since i need the  3701 USD  i changed the value  to 3701 at item level and orderd  the PO.
    but after approval  , when it transfered to backed it is showing the value  3.701,00 USD at header level  ,but 3.402,84 USD at item level.
    so when we are trying to create GR it is populating 3.402,84  USD but we need 3701 USD.
    is any one know the what is the problem with this.
    please help
    Regards
    cb

    You can re-output a message that has already been outputted (printed or transmitted).
    "Repeat message" function
    You use this function if you wish to print out or transmit again a complete purchasing document that has already been outputted. Note that the system takes account in the message of any changes made to the purchasing document since it was last outputted - i.e. the system always outputs the current status of the document. If you wish to have old statuses available, you must optically archive the purchasing document.
    Activities
    You invoke the Messages screen as follows:
    Via the purchasing document itself (Header  Messages) or
    Via <Purchasing document> Messages  Print/transmit.
    Enter the processing status 1 (successfully processed) and display the messages.
    Select the desired message and choose Goto-> Message details.
    Choose Edit-> Repeat message or Change message.
    The system inserts the new message. If a change message is involved, the system sets the Change indicator.
    Save your data.
    Hope you find this useful.
    Edited by: Reetesh on Dec 3, 2011 7:36 PM

  • I have an issue with the address browser in mail in Yosemite

    I am using IOS 10.10.1 now on an iMac and have discovered an issue with the address browser in mail.
    Previously in my pending to send email toolbar there was a contacts icon which I clicked  on to display my contacts list. I could hold down the Command button and select as many contacts I wanted (often up to 100), then select the field to send (to, ccc, bcc) and the contact would appear.
    Now, I have to click the + sign at the end of the field line, and select recipients one at a time. Not only that, but I have to click twice to get to the email address, once on the name and then the email address drops down under the name and then I click on the email address. When I do that the drop down box disappears and the recipient's email address goes to the field. I have tried all combinations of buttons to be able to choose multiple addresses but haven't found the right one yet.
    An Apple Support guy told me to open my regular Address book, and hold down the command button to choose multiple recipients then drag them to the field on my already opened send email.
    This is one way around the issue (which wasn't an issue in Mavericks) but where some recipients have two or more email addresses listed in my contacts it means I have to manually go through the finished list on my emails to make sure the most desired one was selected. What a pain.
    Also, previously, where I was sending out many emails and wanted to stop say half way down my list, and send, I could come back to that list for the next email and see where I'd got up to.
    I don't want to make groups because my recipients vary depending on what I am sending so my lists change constantly.
    Any suggestions?
    Last point...who archives? On my regular email page I now have the Archive icon to the left of my Delete icon which I would prefer was to the left, first in the line as this is the icon I use mostly. With Folders, my Sent and Trash lists, who needs to archive?
    Cheers,

    Last point...who archives? On my regular email page I now have the Archive icon to the left of my Delete icon which I would prefer was to the left, first in the line as this is the icon I use mostly. With Folders, my Sent and Trash lists, who needs to archive?
    I can help you only with the placement of the icon placement -- if you right-mouse click on the toolbar, then select Customize Toolbar, you can move an icon to where you want it to be.

  • 2008 R2: OS(systemState/C: Drive) backup issues with VSS - 0x80042316 & 0x81080101 & 0x80080005 & 2155348001

    Hi-
    Looked thru the thread related to my questions and found nothing that applies yet.
    Example:
     http://social.technet.microsoft.com/Forums/en-US/4e4472b9-8e6f-4fdc-a287-1cc8c0f6de09/windows-2008-r2-backup-fails-with-event-521-error-code-2155348001?forum=windowsbackup
    http://social.technet.microsoft.com/Forums/en-US/e8c910f7-f0dd-4613-beae-b98894fb6f23/windows-server-2008-std-backup-fails-constantly-with-error-code-2155348001?forum=windowsbackup
    Here are details of the issues....
    Backup - OS error - system image:
    External disk - USB
    Mon - Fri @ 6PM.
    Windows SystemState
    OS(C:)
    Last backup failure...
    Start time: 8/11/2014 6:01:32 PM
    End time: 8/12/2014 4:51:29 AM
    Duration: 10:49:56.4414784
    [Critical error WINIMAGE_UNABLE_VSS] Unable to create VSS snapshot
      - Additional information: Refer to the log for more details
      - Troubleshooting link:
    http://kb.backupassist.com/errormap.php?BA2512
    The backup operation stopped before completing.
    Detailed error: ERROR - The shared restore point operation failed with error (0x81000101)
    The creation of a shadow copy has timed out. Try this operation again.
    Log of files successfully backed up:
    C:\Windows\Logs\WindowsServerBackup\Backup-12-08-2014_04-41-00.log
    Log of files for which backup failed:
    C:\Windows\Logs\WindowsServerBackup\Backup_Error-12-08-2014_04-41-00.log
    NOTE:
    The errors logs are not there?
    Windows Backup timed-out before the shared protection point was created.
    ERROR - The shared restore point operation failed with error (0x81000101)
    The creation of a shadow copy has timed out. Try this operation again.
    Event Viewer Log:
    Sequence of Events...
    1.
    The Block Level Backup Engine service has successfully started.
    2.
    Backup operation that started...
    Log Name:      Application
    Source:        Microsoft-Windows-Backup
    Date:          8/12/2014 4:51:06 AM
    Event ID:      521
    Task Category: None
    Level:         Error
    Keywords:     
    User:          SYSTEM
    Computer:      mdnfile.Auxiant.local
    Description:
    The backup operation that started at '?2014?-?08?-?12T09:41:00.492000000Z' has failed because the
    Volume Shadow Copy Service operation to create a shadow copy of the volumes being backed up failed
    with following error code '2155348001'.
    Please review the event details for a solution, and then rerun the backup operation once the issue is resolved.
    --> Suggestion are to check Virus scanner or consult DPM forum...
    3.
    OS Job failed with errors...( Backup Assist is 3rd party backup - wrapper round Wbadmin/Win Backup)
    Log Name:      Application
    Source:        BackupAssist
    Date:          8/12/2014 4:51:51 AM
    Event ID:      5634
    Task Category: None
    Level:         Error
    Keywords:      Classic
    User:          N/A
    Computer:      mdnfile.Auxiant.local
    Description:
    Backup job OS backup failed with errors.
    Critical error: Unable to create VSS snapshot
    Destination: External disk
    Start time: 8/11/2014 6:01:32 PM
    End time: 8/12/2014 4:51:29 AM
    Duration: 10:49:56.4414784
    Destination: External disk
    Start time: 8/11/2014 6:01:32 PM
    End time: 8/12/2014 4:51:29 AM
    Duration: 10:49:56.4414784
    4.
    Backup Assist reports via Win backup - Snapshot in progress
    Log Name:      Application
    Source:        BackupAssist
    Date:          8/12/2014 4:52:20 AM
    Event ID:      5634
    Task Category: None
    Level:         Error
    Keywords:      Classic
    User:          N/A
    Computer:      mdnfile.Auxiant.local
    Description:
    Backup job Data backup failed with errors.
    Ultra critical error: Volume Shadow Copy Error 0x80042316 - snapshot set in progress
    Destination: Local directory
    Start time: 8/12/2014 4:52:10 AM
    End time: 8/12/2014 4:52:12 AM
    Duration: 00:00:02.7300000
    5.
    The Block Level Backup Engine service has stopped.
    6.
    Later...we tried manually stopping VSS and SWPRV services - only VSS had the issue.
    WBengine was not running...
    C:\>sc stop swprv
    SERVICE_NAME: swprv
            TYPE               : 10  WIN32_OWN_PROCESS
            STATE              : 3  STOP_PENDING
                                    (STOPPABLE, NOT_PAUSABLE, ACCEPTS_SHUTDOWN)
            WIN32_EXIT_CODE    : 0  (0x0)
            SERVICE_EXIT_CODE  : 0  (0x0)
            CHECKPOINT         : 0x0
            WAIT_HINT          : 0x0
    C:\>sc query swprv
    SERVICE_NAME: swprv
            TYPE               : 10  WIN32_OWN_PROCESS
            STATE              : 1  STOPPED
            WIN32_EXIT_CODE    : 0  (0x0)
            SERVICE_EXIT_CODE  : 0  (0x0)
            CHECKPOINT         : 0x0
            WAIT_HINT          : 0x0
    C:\>sc query wbengine
    SERVICE_NAME: wbengine
            TYPE               : 10  WIN32_OWN_PROCESS
            STATE              : 1  STOPPED
            WIN32_EXIT_CODE    : 0  (0x0)
            SERVICE_EXIT_CODE  : 0  (0x0)
            CHECKPOINT         : 0x0
            WAIT_HINT          : 0x0
    C:\>sc query vss
    SERVICE_NAME: vss
            TYPE               : 10  WIN32_OWN_PROCESS
            STATE              : 3  STOP_PENDING
                                    (STOPPABLE, NOT_PAUSABLE, ACCEPTS_SHUTDOWN)
            WIN32_EXIT_CODE    : 0  (0x0)
            SERVICE_EXIT_CODE  : 0  (0x0)
            CHECKPOINT         : 0x0
            WAIT_HINT          : 0x0
    C:\>sc stop vss
    [SC] ControlService FAILED 1061:
    The service cannot accept control messages at this time.  
    Log Name:      Application
    Source:        VSS
    Date:          8/12/2014 9:20:33 AM
    Event ID:      8225
    Task Category: None
    Level:         Information
    Keywords:      Classic
    User:          N/A
    Computer:      mdnfile.Auxiant.local
    Description:
    The VSS service is shutting down due to shutdown event from the Service Control Manager.
    7.
    VSS still having issues here...not stopping!
    Log Name:      Application
    Source:        VSS
    Date:          8/12/2014 9:42:33 AM
    Event ID:      11
    Task Category: None
    Level:         Error
    Keywords:      Classic
    User:          N/A
    Computer:      mdnfile.Auxiant.local
    Description:
    Volume Shadow Copy Service information:
    The COM Server with CLSID {e579ab5f-1cc4-44b4-bed9-de0991ff0623} and name IVssCoordinatorEx2 cannot be started.
    Most likely the CPU is under heavy load. [0x80080005, Server execution failed]
    8.
    Not sure why this is started again?
    Plus a DCOM timeout...
    Log Name:      Application
    Source:        Microsoft-Windows-Backup
    Date:          8/12/2014 9:31:13 AM
    Event ID:      753
    Task Category: None
    Level:         Information
    Keywords:     
    User:          SYSTEM
    Computer:      mdnfile.Auxiant.local
    Description:
    The Block Level Backup Engine service has successfully started.
    Event Xml:
    Log Name:      System
    Source:        Microsoft-Windows-DistributedCOM
    Date:          8/12/2014 9:31:43 AM
    Event ID:      10010
    Task Category: None
    Level:         Error
    Keywords:      Classic
    User:          N/A
    Computer:      mdnfile.Auxiant.local
    Description:
    The server {E579AB5F-1CC4-44B4-BED9-DE0991FF0623} did not register with DCOM within the required timeout.
    9.
    Lots more errors about VSS...repeating Event ID's 11 and 8193...
    Log Name:      Application
    Source:        VSS
    Date:          8/12/2014 9:42:33 AM
    Event ID:      8193
    Task Category: None
    Level:         Error
    Keywords:      Classic
    User:          N/A
    Computer:      mdnfile.Auxiant.local
    Description:
    Volume Shadow Copy Service error: Unexpected error calling routine CoCreateInstance. 
    hr = 0x80080005, Server execution failed
    . Operation:
       Instantiating VSS server
    10.
    Then, finally stopping again...
    Log Name:      Application
    Source:        Microsoft-Windows-Backup
    Date:          8/12/2014 9:51:13 AM
    Event ID:      754
    Task Category: None
    Level:         Information
    Keywords:     
    User:          SYSTEM
    Computer:      mdnfile.Auxiant.local
    Description:
    The Block Level Backup Engine service has stopped.
    11.
    And still repeating 11 & 8193 at this point...as we write up this post.
    12.
    This was suggested by the Backup Assist - software vendor....
    A.)
    ...for 0x81080101:
    "ERROR - The shared restore point operation failed with error (0x81000101)
    The creation of a shadow copy has timed out. Try again this operation."
    If you receive the above error in your report, we have recently found a registry key which
    contains the timeout value set by Microsoft for VSS and found that you can edit this to extend it.
    To get to the registry key, open Regedit (Start > Run > Regedit) and browse to:
    "HKLM\Software\\Microsoft\\Windows NT\\CurrentVersion\\SPP\\CreateTimeout".
    Change value to 1200000 (2*10*60*1000 = 20 mins).
    The default for the timeout period is 10 mins so hopefully doubling this will give enough time to
    complete the snapshot.
    If this isn't present, you'll need to manually enter the registry key. It's a DWORD 32-bit key.
    --> NOTE: HAve not done this yet.
    B.)
    And for 0x80080005...
    http://support.microsoft.com/kb/870655/en-gb
    Our server does have high CPU load at times...
    13.
    Another post from technet mentions system volume size - here is our layout below:
    A.)
    OS/system Disk...
    DISKPART> list disk
      Disk ###  Status         Size     Free     Dyn  Gpt
      Disk 0    Online          278 GB      0 B    (System Vol = C: Drive - OS w/ Programs and batch jobs)
      Disk 1    Online         2791 GB      0 B        *    (Data drive - DFS, rsync,etc. run on D: Drive)
      Disk 2    Online         1863 GB      0 B    (USB 2/3.0 - Enclosure w/ SATA disk = 2GB formatted w/ NTFS.)
    DISKPART> detail disk
    DELL PERC H710P SCSI Disk Device
    Disk ID: CA0DEEA5
    Type   : RAID
    Status : Online
    Path   : 1
    Target : 0
    LUN ID : 0
    Location Path : PCIROOT(0)#PCI(0100)#PCI(0000)#RAID(P01T00L00)
    Current Read-only State : No
    Read-only  : No
    Boot Disk  : Yes
    Pagefile Disk  : Yes
    Hibernation File Disk  : No
    Crashdump Disk  : Yes
    Clustered Disk  : No
      Volume ###  Ltr  Label        Fs     Type        Size     Status     Info
      Volume 1         RECOVERY     NTFS   Partition   3072 MB  Healthy    System
      Volume 2     C   OS           NTFS   Partition    275 GB  Healthy    Boot
    B.)
    Backup disk...
    ST320006 41AS USB Device
    Disk ID: 801AF48C
    Type   : USB
    Status : Online
    Path   : 0
    Target : 0
    LUN ID : 0
    Location Path : UNAVAILABLE
    Current Read-only State : No
    Read-only  : No
    Boot Disk  : No
    Pagefile Disk  : No
    Hibernation File Disk  : No
    Crashdump Disk  : No
    Clustered Disk  : No
      Volume ###  Ltr  Label        Fs     Type        Size     Status     Info
      Volume 4     F   BACKUPS      NTFS   Partition   1863 GB  Healthy
    C.)
    NOTE:
    Also on disk 0(system Disk) - we have a small OEM partition = 39MB and a Recovery Partition = 3GB.
    D.)
    Issues with WBAdmin now...
    C:\>wbadmin get disks
    wbadmin 1.0 - Backup command-line tool
    (C) Copyright 2004 Microsoft Corp.
    ERROR - A Volume Shadow Copy Service operation error has
    occurred: (0x80042302)
    A Volume Shadow Copy Service component encountered an unexpected error.
    Check the Application event log for more information.
    14.
    Ran "Check-Disk" -no errors...
    C:\>chkdsk
    The type of the file system is NTFS.
    The volume is in use by another process. Chkdsk
    might report errors when no corruption is present.
    Volume label is OS.
    WARNING!  F parameter not specified.
    Running CHKDSK in read-only mode.
    CHKDSK is verifying files (stage 1 of 3)...
      116224 file records processed.
    File verification completed.
      654 large file records processed.
      0 bad file records processed.
      0 EA records processed.
      76 reparse records processed.
    CHKDSK is verifying indexes (stage 2 of 3)...
      156676 index entries processed.
    Index verification completed.
      0 unindexed files scanned.
      0 unindexed files recovered.
    CHKDSK is verifying security descriptors (stage 3 of 3)...
      116224 file SDs/SIDs processed.
    Security descriptor verification completed.
      20227 data files processed.
    CHKDSK is verifying Usn Journal...
      35628352 USN bytes processed.
    Usn Journal verification completed.
    Windows has checked the file system and found no problems.
     289233919 KB total disk space.
     100241492 KB in 85477 files.
         57380 KB in 20228 indexes.
             0 KB in bad sectors.
        226627 KB in use by the system.
         65536 KB occupied by the log file.
     188708420 KB available on disk.
          4096 bytes in each allocation unit.
      72308479 total allocation units on disk.
      47177105 allocation units available on disk.
    15.
    There are no backup error logs here - only .etl files...
    C:\Windows\Logs\WindowsServerBackup\
    Wbadmin.1.etl = 9:42AM on 8/12
    Wbadmin.2.etl = 4:51AM on 8/12
    Per windows Win troubleshooting:
    http://technet.microsoft.com/en-us/library/ee692290(WS.10).aspx
    http://blogs.technet.com/b/filecab/archive/2009/09/16/diagnosing-failures-in-windows-server-backup-part-1-vss-spp-errors.aspx
    --> Related to Windows backup and not VSS?
    2155348001 - 0x80780021 - Windows Backup timed-out before the shared protection point was created.
    Should we run the "FIXVSS08.BAT" script - restarts services and re-registers DLL's - does this ever help?
    Will this server need a reboot since VSS is in a state and we can't even test backups?
    Is there a tool we can use to debug VSS or troubleshoot or OS backups further?
    MSReport/Diag, VSS debugging, or another way of helping fix our OS(SystemState/C: drive) backup issues?
    Any help is greatly appreciated - thx.
    -SP
    Scot Pichelman

    Hi Scot,
    Sometimes a third party backup application will change the default VSS provider adding VSS writers which causes Windows Server Backup using an incorrect component in doing backup, that's why I suggest to delete it for a test. Anyway you can reinstall it
    after testing.
    And as you said a high-load CPU could also be the cause of the issue so you may need to first rule hardware effective out.
    If issue still exists, please try the steps below as well:
    1. Please check DCOM Server Process Launcher service is started.
    2. If not, try to change RPC service to run as SYSTEM account. To do this please modify the following key:
    Note: Backup the key before edit incase it cause any issue.
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\RpcSs\
    Find "ObjectName" and change the value to LocalSystem.
    Reboot to see if DCOM back to work and if Windows Server Backup starts working. If not, please provide the result if there is any new error occurs.
    If DCOM still not work, please compare the content of the following key with a working server:
    HKEY_LOCAL_MACHINE\Software\Microsoft\OLE
    Edit if there is any difference and make sure you created a backup of the key before editing. 
    If you have any feedback on our support, please send to [email protected]

  • We run an iMac 3.4 GHz I7 for our church worship service; we haven't upgraded to Mavericks because we heard about issues with multiple screens crashing.  Has this issue been resolved?  Thank you!

    We run an iMac 3.4 GHz I7 in our church worship service; we have front screens and a stage display monitor ; we haven't upgraded to Mavericks because we heard about issues with multiple screens crashing.  Has this issue been resolved?  Now that we are 2 upgrades behind, I'm getting little concerned.  Thank you!

    Oh, well that was a whole other kettle of fish:
    Oh the G4 I attempted to install iLife '08 before Lepoard was available. About the only thing that installed cleanly was iPhoto. I ended up reinstalling everything back to iLife '06, and then upgrading back to the current stable version of the iLife '06 version. I didn't attempt a reinstall until after I upgraded to Leopard.
    When I did reinstall, I made a iLife '06 folder, copied all iLife apps into it, and upgraded. Seemed to work, except for the part where iMovie gets left behind and iDVD is only mostly functional.
    When I installed on the other 2 machines, it was after installing Leopard and all upgrades. On those 2 machines, I didn't bother with the copy, I just moved everything to the iLife '06 folder I created, and did a fresh install.
    I didn't have to do anything with the iPhoto Libraries, that I can recall.
    I always do an upgrade, never an archive and install. I've never had a problem with this back to 10.1 or 10.2.

  • Oracle VM Server 3.1.1 issues with NFS share

    Hi guys
    I am kind of stuck with the same issue for more than a week now. I have two virtual machines on Virtual box 4.1.8 (VM Server and VM Manager 3.1.1) and NFS following is disk/mount information on VM Server
    [root@oravms ~]# df -h
    Filesystem            Size  Used Avail Use% Mounted on
    /dev/sda3             3.0G  636M  2.2G  23% /
    /dev/sda1              99M   28M   67M  29% /boot
    tmpfs                 242M   16K  242M   1% /dev/shm
    /dev/sdb1             296G   17G  264G   6% /storage1
    /dev/sdc1             197G  320M  187G   1% /storage2
    none                  242M   40K  242M   1% /var/lib/xenstored
    192.168.0.20:/storage2
                          197G  320M  187G   1% /nfsmnt/cc745331-3df1-48d7-823c-b28faf2d87b3
    /dev/mapper/ovspoolfs
                           10G  263M  9.8G   3% /poolfsmnt/0004fb00000500005e689e9b4de9382f
    192.168.0.20:/storage1
                          296G   17G  264G   6% /OVS/Repositories/0004fb0000030000e19fce4b38346de1From last whole week I am trying to import a single VM template as a test object, Oracle E-Business suite 12.1.3 APPS tier and everytime once after a certain portion of the template unpacked, the VM server goes for a toast!! it either reboots or the NFS gets into a lock
    Both the virtual machines have 4GB memory, independant NICs dedicated for each virtual machine (as somebody else from forums suggested for it...)
    Please help me!!!
    regards,
    raj

    hi user12273962
    I hope the following few details will assist you to provide me a suggestion to overcome this issue
    My Oracle VM server IP address: 192.168.0.20
    VM Manager IP: 192.168.0.23
    Both machines are tied to different NICs for avoiding excess traffic
    df -h on VM server
    [root@oravms ~]# df -h
    Filesystem            Size  Used Avail Use% Mounted on
    /dev/sda3             3.0G  636M  2.2G  23% /
    /dev/sda1              99M   28M   67M  29% /boot
    tmpfs                 242M   16K  242M   1% /dev/shm
    /dev/sdb1             296G  191M  281G   1% /storage1
    /dev/sdc1             197G  320M  187G   1% /storage2
    none                  242M   40K  242M   1% /var/lib/xenstored
    192.168.0.20:/storage2
                          197G  320M  187G   1% /nfsmnt/cc745331-3df1-48d7-823c-b28faf2d87b3
    /dev/mapper/ovspoolfs
                           10G  263M  9.8G   3% /poolfsmnt/0004fb00000500005e689e9b4de9382f
    192.168.0.20:/storage1
                          296G  191M  281G   1% /OVS/Repositories/0004fb0000030000e19fce4b38346de1/etc/fstab output
    /dev/sdb1                                /storage1   ext3    defaults 1 2
    /dev/sdc1                                /storage2   ext3    defaults 1 2/etc/exports output
    /storage1       192.168.0.20(rw,sync,no_root_squash,nohide)
    /storage2       192.168.0.20(rw,sync,no_root_squash,nohide)Should I export the mount points to another server? Please let me know.
    NFS was the only one file type recognized by the discovery process...I am quite new to virtualization, actually spent last whole week trying and fixing one or other issue with the VM server :D
    If you know how I could avoid NFS in the entire scenario (as this is just for learning purpose) I would be grateful :)
    regards,
    raj

  • Issue with gui_download function module

    Hi All,
             I have an issue with gui_download function module that it is creating one extra line while downloading my internal table data into text file,which i donot want.i have searched for various threads but couldnot get the proper reply.Or please provide me some other Function Module which will not create one extra line.Please help.

    part 2
    INCLUDE RPPPXD00.
    DATA : BEGIN OF COMMON PART A.
    INCLUDE RPPPXD10.
    DATA : END OF COMMON PART.
    INCLUDE PC2RXTW0.
    INCLUDE RPC2RX00.
    DATA : BEGIN OF COMMON PART B.
    INCLUDE RPC2CD00.
    DATA : END OF COMMON PART.
    INCLUDE RPPPXM00.
    INCLUDE RPCMGR00.
    AT SELECTION-SCREEN OUTPUT.
      CONCATENATE SY-DATUM2(6) SY-UZEIT0(4) INTO REF_NO.
      LOOP AT SCREEN.
        IF R1 = 'X'.
          IF SCREEN-NAME = 'FLN' OR SCREEN-NAME = '%_FLN_%_APP_%-TEXT' OR
             SCREEN-NAME = 'BTC'  OR SCREEN-NAME = '%_BTC_%_APP_%-TEXT' OR
            SCREEN-NAME = 'PY_DT' OR SCREEN-NAME = '%_PY_DT_%_APP_%-TEXT'"SOC BY ANKITA"
           OR SCREEN-NAME = 'ORG_ID' OR SCREEN-NAME = '%_ORG_ID_%_APP_%-TEXT'
           OR SCREEN-NAME = 'ORG_AC' OR SCREEN-NAME = '%_ORG_AC_%_APP_%-TEXT'
           OR SCREEN-NAME = 'DEPT_CD' OR SCREEN-NAME = '%_DEPT_CD_%_APP_%-TEXT'
           OR SCREEN-NAME = 'REF_NO' OR SCREEN-NAME = '%_REF_NO_%_APP_%-TEXT'
           OR SCREEN-NAME = 'PRS_BNK' OR SCREEN-NAME = '%_PRS_BNK_%_APP_%-TEXT'
           OR SCREEN-NAME = 'TRANS_TY' OR SCREEN-NAME = '%_TRANS_TY_%_APP_%-TEXT'
           OR SCREEN-NAME = 'TRANS_ID' OR SCREEN-NAME = '%_TRANS_ID_%_APP_%-TEXT'
           OR SCREEN-NAME = 'TRANS_RK' OR SCREEN-NAME = '%_TRANS_RK_%_APP_%-TEXT'."EOC BY ANKITA
            SCREEN-ACTIVE = 0.
          ENDIF.
        ENDIF.
        IF R2 = 'X'.
          IF SCREEN-NAME = 'FLN' OR SCREEN-NAME = '%_FLN_%_APP_%-TEXT' OR
             SCREEN-NAME = 'BTC'  OR SCREEN-NAME = '%_BTC_%_APP_%-TEXT' OR
             SCREEN-NAME = 'PREPBY' OR SCREEN-NAME = '%_PREPBY_%_APP_%-TEXT'
             OR SCREEN-NAME = 'APROBY' OR SCREEN-NAME = '%_APROBY_%_APP_%-TEXT'
             OR SCREEN-NAME = 'PY_DT' OR SCREEN-NAME = '%_PY_DT_%_APP_%-TEXT' "SOC BY ANKITA
             OR SCREEN-NAME = 'ORG_ID' OR SCREEN-NAME = '%_ORG_ID_%_APP_%-TEXT'
             OR SCREEN-NAME = 'ORG_AC' OR SCREEN-NAME = '%_ORG_AC_%_APP_%-TEXT'
             OR SCREEN-NAME = 'DEPT_CD' OR SCREEN-NAME = '%_DEPT_CD_%_APP_%-TEXT'
             OR SCREEN-NAME = 'REF_NO' OR SCREEN-NAME = '%_REF_NO_%_APP_%-TEXT'
             OR SCREEN-NAME = 'PRS_BNK' OR SCREEN-NAME = '%_PRS_BNK_%_APP_%-TEXT'
             OR SCREEN-NAME = 'TRANS_TY' OR SCREEN-NAME = '%_TRANS_TY_%_APP_%-TEXT'
             OR SCREEN-NAME = 'TRANS_ID' OR SCREEN-NAME = '%_TRANS_ID_%_APP_%-TEXT'
             OR SCREEN-NAME = 'TRANS_RK' OR SCREEN-NAME = '%_TRANS_RK_%_APP_%-TEXT'."EOC BY ANKITA
            SCREEN-ACTIVE = 0.
          ENDIF.
        ENDIF.
        IF R3 = 'X'.
          IF SCREEN-NAME = 'PREPBY' OR SCREEN-NAME = '%_PREPBY_%_APP_%-TEXT'
            OR SCREEN-NAME = 'APROBY' OR SCREEN-NAME = '%_APROBY_%_APP_%-TEXT'
            OR SCREEN-NAME = 'PY_DT' OR SCREEN-NAME = '%_PY_DT_%_APP_%-TEXT' "SOC BY ANKITA
            OR SCREEN-NAME = 'ORG_ID' OR SCREEN-NAME = '%_ORG_ID_%_APP_%-TEXT'
            OR SCREEN-NAME = 'ORG_AC' OR SCREEN-NAME = '%_ORG_AC_%_APP_%-TEXT'
            OR SCREEN-NAME = 'REF_NO' OR SCREEN-NAME = '%_REF_NO_%_APP_%-TEXT'
            OR SCREEN-NAME = 'DEPT_CD' OR SCREEN-NAME = '%_DEPT_CD_%_APP_%-TEXT'
            OR SCREEN-NAME = 'PRS_BNK' OR SCREEN-NAME = '%_PRS_BNK_%_APP_%-TEXT'
            OR SCREEN-NAME = 'TRANS_TY' OR SCREEN-NAME = '%_TRANS_TY_%_APP_%-TEXT'
            OR SCREEN-NAME = 'TRANS_ID' OR SCREEN-NAME = '%_TRANS_ID_%_APP_%-TEXT'
            OR SCREEN-NAME = 'TRANS_RK' OR SCREEN-NAME = '%_TRANS_RK_%_APP_%-TEXT'."EOC BY ANKITA
            SCREEN-ACTIVE = 0.
          ENDIF.
        ENDIF.
        IF R4 = 'X'.
          IF SCREEN-NAME = 'PREPBY' OR SCREEN-NAME = '%_PREPBY_%_APP_%-TEXT'"SOC BY ANKITA
             OR SCREEN-NAME = 'APROBY' OR SCREEN-NAME = '%_APROBY_%_APP_%-TEXT'
             OR SCREEN-NAME = 'BTC'  OR SCREEN-NAME = '%_BTC_%_APP_%-TEXT'."EOC BY ANKITA
            SCREEN-ACTIVE = 0.
          ENDIF.
        ENDIF.
        MODIFY SCREEN.
      ENDLOOP.
    START-OF-SELECTION.
      SELECT SINGLE * FROM T549Q WHERE PERMO = '01'
                                 AND   PABRJ = PRD+0(4)
                                 AND   PABRP = PRD+4(2).
      FR_DT = T549Q-BEGDA.
      TO_DT = T549Q-ENDDA.
      CONCATENATE FR_DT0(4) FR_DT4(2) INTO FR_P.
      CONCATENATE TO_DT0(4) TO_DT4(2) INTO TO_P.
      PN-PAPER = PRD.
      PN-PERMO = '01'.
    GET PERNR.
      RP-PROVIDE-FROM-LAST P0003 SPACE PN-BEGDA PN-ENDDA.
      RP_PROVIDE_FROM_LAST P0001 SPACE PN-BEGDA PN-ENDDA.
      IF PNP-SW-FOUND EQ 1.
       SN = SN + 1.
       ITAB1-SNO = SN.
       ITCC-SNO = SN.
        ITAB1-ENO = PERNR-PERNR.
        ITAB1-NAM = PERNR-ENAME.
      ELSE.
        REJECT.
      ENDIF.
      RP-INIT-BUFFER.
      RP-SEL-CALC.
      CALL FUNCTION 'RP_EVALUATION_PERIODS'
        EXPORTING
          LAST_CALCULATED_DAY = P0003-ABRDT
          LAST_DAY_IN_PERIOD  = TO_DT
          RETROCALCULATED_DAY = RP-SEL-CALC-RRDAT
        TABLES
          DIR                 = RGDIR
          EVP                 = EVP
        EXCEPTIONS
          RGDIR_EMPTY         = 1
          INTERNAL_ERROR      = 2
          OTHERS              = 3.
      DESCRIBE TABLE EVP LINES LIN.
      IF LIN > 0.
        LOOP AT EVP.
          IF EVP-IAPER = TO_P AND EVP-PAPER = TO_P.
            RX-KEY-PERNR = PERNR-PERNR.
            UNPACK EVP-SEQNR TO RX-KEY-SEQNO.
            RP-IMP-C2-TN.
            READ TABLE BT INDEX 1.
            READ TABLE WPBP INDEX 1.
            READ TABLE TAX INDEX 1."CHANGES BY ANKITA
            ITAB1-BAC = BT-BANKN.
            ITAB1-BKEY = BT-BANKL .
            ITAB1-DEP = WPBP-KOSTL.
            ITAB1-BETRG = BT-BETRG."CHANGES BY ANKITA
            ITAB1-TAXID = TAX-TAXID."CHANGES BY ANKITA
            YEAR = VERSC-PAYDT+0(4) - 11.
            MONTH = VERSC-PAYDT+4(2).
            DAY = VERSC-PAYDT+6(2).
            CONCATENATE YEAR MONTH DAY INTO ITAB1-PDT.
           ITAB1-PDT = VERSC-PAYDT - 110000.
            ITCC-DEP = WPBP-KOSTL.
            LOOP AT RT WHERE LGART = '/559'.
              ITAB1-BTFR = RT-BETRG.
              ITCC-BTFR = RT-BETRG.
             IF EVP-SRTZA = 'P'.
               ITAB1-BTFR = ITAB1-BTFR - RT-BETRG.
             ELSE.
               ITAB1-BTFR = ITAB1-BTFR + RT-BETRG.
             ENDIF.
            ENDLOOP.
          ENDIF.
        ENDLOOP.
      ENDIF.
      APPEND: ITAB1, ITCC.
      CLEAR: ITAB1, ITCC.
    END-OF-SELECTION.
      CONCATENATE 'Prepared By:' ` ` PREPBY INTO PREPBY.
      CONCATENATE 'Approved By:' ` ` APROBY INTO APROBY.
      IF R1 = 'X'.
        FORMAT COLOR 2.
        ULINE (127).
        NEW-LINE.
        WRITE: 2 'Sr No.', 10 'Emp Num', 27 'Name'.
        WRITE: 57 'Department'.
        WRITE: 72 '  Transfer Amount' RIGHT-JUSTIFIED.
        WRITE: 92 'Bank Key', 107 'Bank AC. Number'.
        WRITE:1 '|', 8 '|', 25 '|', 55 '|', 70 '|', 90 '|', 105 '|', 127 '|'.
        NEW-LINE.
        ULINE (127).
        NEW-LINE.
        FORMAT COLOR OFF.
        LOOP AT ITAB1.
          SN = SY-TABIX.
          WRITE: 2 SN, 10 ITAB1-ENO, 27 ITAB1-NAM.
          WRITE: 57 ITAB1-DEP.
          WRITE: 72 ITAB1-BTFR.
          WRITE: 92 ITAB1-BKEY, 107 ITAB1-BAC.
          WRITE: 1 '|', 8 '|', 25 '|', 55 '|', 70 '|', 90 '|', 105 '|', 127 '|'.
          ULINE (127).
          NEW-LINE.
        ENDLOOP.
        SKIP 4.
        ULINE 90(32).
        NEW-LINE.
        WRITE: 90 PREPBY.
        SKIP 4.
        ULINE 90(32).
        NEW-LINE.
        WRITE: 90 APROBY.
      ENDIF.
      IF R2 = 'X'.
        LOOP AT ITCC.
          COLLECT ITCC INTO ITCOL.
        ENDLOOP.
        FORMAT COLOR 2.
        ULINE (44).
        NEW-LINE.
        WRITE:2 'Sr No.', 9 'Department'.
        WRITE: 27 'Transfer Amount  ' RIGHT-JUSTIFIED.
        WRITE:1 '|', 8 '|', 25 '|', 44 '|'.
        NEW-LINE.
        ULINE (44).
        NEW-LINE.
        FORMAT COLOR OFF.
        LOOP AT ITCOL.
          SN = SY-TABIX.
          WRITE: 2 SN, 9 ITCOL-DEP, 27 ITCOL-BTFR.
          WRITE:1 '|', 8 '|', 25 '|', 44 '|'.
          NEW-LINE.
          ULINE (44).
          NEW-LINE.
        ENDLOOP.
      ENDIF.
      IF R3 = 'X'.
        LOOP AT ITAB1.
          CLEAR: ITTF, P3, P11, P13, P6, V_BAC.
          LEN = STRLEN( ITAB1-BKEY ).
          IF LEN < 3.
            CONCATENATE ITAB1-BKEY '***' INTO P3.
          ELSE.
          LEN = LEN - 3.
            LEN = 3.
            P3 = ITAB1-BKEY+LEN(3).
          ENDIF.
          CLEAR LEN.
          V_BAC = ITAB1-BAC.
          REPLACE ALL OCCURRENCES OF '-' IN ITAB1-BAC WITH ''.
          CONDENSE ITAB1-BAC NO-GAPS.
          LEN = STRLEN( ITAB1-BAC )."if length of acc num > limit
          IF LEN > 11.
            IT_FAIL-EN = ITAB1-ENO.
            IT_FAIL-BA = V_BAC.
            APPEND IT_FAIL.
            CLEAR: IT_FAIL.
            CONTINUE.
          ENDIF.
          P11 = ITAB1-BAC.
          CONCATENATE P11 '***********' INTO P11.
    above step is for putting '' in place of unfilled chars of P11.
          P13 = ITAB1-BTFR * 100.
          P6 = ITAB1-PDT+2(6).
          CONCATENATE ` ` P3 P11 BTC P13 P6 INTO STR.
          ITTF-ROW = STR.
          APPEND ITTF.
        ENDLOOP.
        IF ITTF[] IS NOT INITIAL.
          CONCATENATE FLN SY-DATUM SY-UZEIT '.txt' INTO FILEPATH.
          CALL FUNCTION 'GUI_DOWNLOAD'
          EXPORTING
            FILENAME                        = FILEPATH
            FILETYPE                        = 'ASC'
         WRITE_FIELD_SEPARATOR           = 'X'
            TABLES
            DATA_TAB                        = ITTF
         OTHERS                          = 22
          SKIP 2.
          IF SY-SUBRC <> 0.
            WRITE:/ 'Unable to Download file at ', FILEPATH.
          ELSE.
            WRITE:/ 'File with following data downloaded at ', FILEPATH.
            NEW-LINE.
            SKIP 2.
            LOOP AT ITTF.
              WRITE:/ ITTF.
            ENDLOOP.
          ENDIF.
        ELSE.
          WRITE 'No Data, no file was downloaded'.
        ENDIF.
        IF IT_FAIL[] IS NOT INITIAL.
          SKIP 2.
          FORMAT COLOR 2.
          WRITE 'Acc. No. of following employees exceeded the length limit'.
          WRITE:/ 'So their entry was not created in the file'.
          SKIP 1.
          WRITE : 'Employee Number', 20 'Bank Acc. No.'.
          FORMAT COLOR OFF.
          LOOP AT IT_FAIL.
            NEW-LINE.
            WRITE : IT_FAIL-EN, 20 IT_FAIL-BA.
          ENDLOOP.
        ENDIF.
      ENDIF.
      IF R4 = 'X'."CHANGES BY ANKITA
        WRITE:/ 'ERROR LOG - BANK A/C NO. CONTAINS ALPHANUMERIC'.
        WRITE:/ 'EMPID' COLOR COL_POSITIVE,12 '|',15 'Receiving Bank Code' COLOR COL_POSITIVE,
                                                                      40 '|','Receiver A/C No' COLOR COL_POSITIVE.
        PERFORM EXTRACT_DATA.
        SKIP 2.
      ENDIF."EOC
      RP-READ-PAYROLL-DIR.
    Edited by: ANKITA BHARDWAJ on Dec 9, 2009 10:36 AM

  • Memory leak issue with link server between SQL Server 2012 and Oracle

    Hi,
    We are trying to use the linked server feature with SQL Server 2012 to connect SQL server and Oracle database. We are concerned about the existing memory leak issue.  For more context please refer to the link.
    http://blogs.msdn.com/b/psssql/archive/2009/09/22/if-you-use-linked-server-queries-you-need-to-read-this.aspx
    The above link talks about the issues with SQL Server versions 2005 and 2008, not sure if this is still the case in 2012.  I could not find any article that talks about if this issue was fixed by Microsoft in later version.
    We know that SQL Server process crashes because of the third-party linked server provider which is loaded inside SQL Server process. If the third-party linked server provider is enabled together with the
    Allow inprocess option, the SQL Server process crashes when this third-party linked server experiences internal problems.
    We wanted to know if this fixed in SQL Server 2012 ?

    So your question is more of a information type or are you really facing OOM issue.
    There can be two things for OOM
    1. There is bug in SQL Server which is causing the issue which might be fixed in 2012
    2. The Linked server provider used to connect to Oracle is not upto date and some patch is missing or more recent version is to be used.  Did you made sure that you are using latest version.
    What is Oracle version you are trying to connect(9i,10g, R2...)
    Please mark this reply as answer if it solved your issue or vote as helpful if it helped so that other forum members can benefit from it
    My Technet Wiki Article
    MVP

  • Configuration Issue with my Cisco 871 Router

    Hi all,
    I am a newbie to the Cisco IOS.
    I got a Cisco 871 Router that I'd like to use for internet connection. My LAN network is 192.168.1.0/24 and the ISP has assigned us the IP 41.212.79.108/24 and gateway 41.212.79.1.
    With my current configuration, I can hit the router - 192.168.1.1 - and it's WAN port - 41.212.79.108 - but not the gateway.
    Below is my current config:
    Hoggers#show config
    Using 4414 out of 131072 bytes
    version 12.4
    no service pad
    service timestamps debug datetime msec
    service timestamps log datetime msec
    no service password-encryption
    hostname Hoggers
    boot-start-marker
    boot-end-marker
    logging buffered 51200 warnings
    enable secret 5 **********************.
    no aaa new-model
    crypto pki trustpoint TP-self-signed-568493463
    enrollment selfsigned
    subject-name cn=IOS-Self-Signed-Certificate-568493463
    revocation-check none
    rsakeypair TP-self-signed-568493463
    crypto pki certificate chain TP-self-signed-568493463
    certificate self-signed 01 nvram:IOS-Self-Sig#7.cer
    dot11 syslog
    ip cef
    no ip dhcp use vrf connected
    ip dhcp excluded-address 10.10.10.1
    ip dhcp excluded-address 192.168.1.1
    ip dhcp excluded-address 192.168.1.2
    ip dhcp excluded-address 192.168.1.3
    ip dhcp excluded-address 192.168.1.4
    ip dhcp excluded-address 192.168.1.5
    ip dhcp excluded-address 192.168.1.6
    ip dhcp excluded-address 192.168.1.7
    ip dhcp excluded-address 192.168.1.8
    ip dhcp excluded-address 192.168.1.9
    ip dhcp excluded-address 192.168.1.10
    ip dhcp excluded-address 192.168.1.100
    ip dhcp excluded-address 192.168.1.90
    ip dhcp pool ccp-pool
       import all
       network 10.10.10.0 255.255.255.248
       default-router 10.10.10.1
       lease 0 2
    ip dhcp pool LANPOOL
       network 192.168.1.0 255.255.255.0
       default-router 192.168.1.1
       dns-server 41.212.3.2 41.212.3.253
    ip domain name yourdomain.com
    ip name-server 41.212.3.2
    ip name-server 41.212.3.253
    archive
    log config
      hidekeys
    interface FastEthernet0
    interface FastEthernet1
    interface FastEthernet2
    interface FastEthernet3
    interface FastEthernet4
    description Wan to Outside World
    ip address 41.212.79.108 255.255.255.0
    duplex auto
    speed auto
    interface Vlan1
    description $ETH-SW-LAUNCH$$INTF-INFO-HWIC 4ESW$
    ip address 192.168.1.1 255.255.255.0
    ip tcp adjust-mss 1452
    ip forward-protocol nd
    ip route 0.0.0.0 0.0.0.0 41.212.79.1
    ip http server
    ip http access-class 23
    ip http authentication local
    ip http secure-server
    ip http timeout-policy idle 60 life 86400 requests 10000
    ip dns server
    ip nat inside source static tcp 192.168.1.31 80 interface FastEthernet4 80
    access-list 23 permit 10.10.10.0 0.0.0.7
    no cdp run
    control-plane
    scheduler max-task-time 5000
    end
    I'll appreciate any light you can shed on what am missing.

    2 wireless routers can not communicate wirelessly with each other.
    You need to connect cable between 2 routers and use the second wireless router as access point.
    Follow this link to connect Linksys router to another router.
    Some of your devices are getting same IP address. This might be the issue with DHCP server of the router. You can try DHCP reservation on the router so that each device will get unique IP address.

Maybe you are looking for