Filename encoding on content server
Hi experts,
In DMS we are using file system repository from the SAP Content Content installed on HP-UX. When we save files with the russian filename all symbols in the saved file are encoded with % + hexadecimal representation. So we can save files only with the short names. When we try to save file with the long filename its encoded name exceed 256 symbols limit and system give us an error.
I appreciate any suggestion or any workaround.
Best Regards
Pavel
The official answer from SAP:
Content Server operates on Non unicode mode which means it cannot store
the files or documents with special characters(russian here ),Hence KPROLayer before it sends the document for Storage to the Content Server it
converts the russian file name to binary format.
During the Conversion each special(russian) is mapped to particular
format, hence after conversion the file name would be large,Since it is
a File System Repository,the operating system wont allow to create the
files larger than 255 characters.
Hence this is a limitation from Operating system, the files exceed 255
characters, it is not supported.
Even if the Content Server is based on MaxDB, the length of the
converted result is same and MaxDB also has the maximum filename
restriction of 254 characters.
If the ECC system is unicode,the length of the converted result will be
short than now (this is the behaviour in our internal system which is
unicode).This should resolve the issue, but we are not completely sure
of this.
However if you use R3 System Database, there will be no issue as
conversion does not happen there.
But with MaxDB it works.
Similar Messages
-
Filename encoding from content server
Dear gurus,
I need your help. As storage our documents for ERP we use content server. I observe problem for example I try to open in sbwp in shared folders file with name "Роли-транзакции MM.xls". On first time it opens without any problem. Then I try open this file or other I see message "file is not found <name of file>". When i go in sapworkdir (or sapgui) folder I see file with filename like this "####-##########MM_20130919063339.006_X.xls". But the files with English letters in the file name opens correct. I understand that the problem is somewhere in the content server, but where?Hi Dmitry,
Do you do all the activities with logon language RU and a Windows front end system where the system code page is based on Cyrillic? If not, please retry with a "completely localized" setup.
The fact that the Russian characters are converted to #-symbols indicate that somewhere there is a conversion from Unicode --> Non-Unicode (probably Latin-1 - maybe based on logon language) and this fails.
Unfortunately I am not familiar with content server - and these kind of problems are difficult to be analyzed without direct debugging on the system. Therefore I think it is the best if you raise a customer message at SAP.
Or maybe there is someone who knows content server very well and might be able to help ...
Best regards,
Nils -
FileName from the Content Server
Hi All ,
I need to show the FileName of a File uploaded into SAP Content Server .
Example if I upload fiel ABC.pdf I should be able to get the name "ABC.pdf" form content server
is there any FM available ?
Note : While storing the file into content server it is creating the unique ID(system generated GUID) for each uploaded File.
Using this ID I am able to show the contents of file using FileDownload but the label I need to show as the FileName and
not the ID.
Regards,
RaviI am having this problem as well, with IE5.0 as well as IE5.5 on Windows 2000. I have tried the above suggestion and that doesnt seem to work. I have also tried to use a
Content-Disposition of "inline" to just view
the document and that seems to work incorrectly too; an IE dialog comes up
asking to open/save the download JSP.
I have tried loads of variations and based
my code on Marks stuff posted in this group
e.g. renderContent.
Any more suggestions/work arounds?
Darren.
null -
Hello colleagues,
I have this error when start the Content Server,
host:(/directory/apache/bin)(root)#./apachectl start
httpd: Syntax error on line 66 of /directory/apache/conf/httpd.conf: Cannot load modules/mod_sapcs22.so into
server: /directory/apache/modules/mod_sapcs22.so: undefined symbol: ap_log_error
Can you help me?
ThanksHi Reagan,
Execute the first parameter,
rgqaserp:(/sapcontreps/apache/modules)(root)#cat /sapcontreps/apache/conf/httpd.conf
# This is the main Apache HTTP server configuration file. It contains the
# configuration directives that give the server its instructions.
# See <URL:http://httpd.apache.org/docs/2.4/> for detailed information.
# In particular, see
# <URL:http://httpd.apache.org/docs/2.4/mod/directives.html>
# for a discussion of each configuration directive.
# Do NOT simply read the instructions in here without understanding
# what they do. They're here only as hints or reminders. If you are unsure
# consult the online docs. You have been warned.
# Configuration and logfile names: If the filenames you specify for many
# of the server's control files begin with "/" (or "drive:/" for Win32), the
# server will use that explicit path. If the filenames do *not* begin
# with "/", the value of ServerRoot is prepended -- so "logs/access_log"
# with ServerRoot set to "/usr/local/apache2" will be interpreted by the
# server as "/usr/local/apache2/logs/access_log", whereas "/logs/access_log"
# will be interpreted as '/logs/access_log'.
# ServerRoot: The top of the directory tree under which the server's
# configuration, error, and log files are kept.
# Do not add a slash at the end of the directory path. If you point
# ServerRoot at a non-local disk, be sure to specify a local disk on the
# Mutex directive, if file-based mutexes are used. If you wish to share the
# same ServerRoot for multiple httpd daemons, you will need to change at
# least PidFile.
ServerRoot "/sapcontreps/apache"
# Mutex: Allows you to set the mutex mechanism and mutex file directory
# for individual mutexes, or change the global defaults
# Uncomment and change the directory if mutexes are file-based and the default
# mutex file directory is not on a local disk or is not appropriate for some
# other reason.
# Mutex default:logs
# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, instead of the default. See also the <VirtualHost>
# directive.
# Change this to Listen on specific IP addresses as shown below to
# prevent Apache from glomming onto all bound IP addresses.
#Listen 12.34.56.78:80
Listen 1090
# Dynamic Shared Object (DSO) Support
# To be able to use the functionality of a module which was built as a DSO you
# have to place corresponding `LoadModule' lines at this location so the
# directives contained in it are actually available _before_ they are used.
# Statically compiled modules (those listed by `httpd -l') do not need
# to be loaded here.
# Example:
# LoadModule foo_module modules/mod_foo.so
LoadModule sapcs_module modules/mod_sapcs22.so
LoadModule authn_file_module modules/mod_authn_file.so
#LoadModule authn_dbm_module modules/mod_authn_dbm.so
#LoadModule authn_anon_module modules/mod_authn_anon.so
#LoadModule authn_dbd_module modules/mod_authn_dbd.so
#LoadModule authn_socache_module modules/mod_authn_socache.so
LoadModule authn_core_module modules/mod_authn_core.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_user_module modules/mod_authz_user.so
#LoadModule authz_dbm_module modules/mod_authz_dbm.so
#LoadModule authz_owner_module modules/mod_authz_owner.so
#LoadModule authz_dbd_module modules/mod_authz_dbd.so
LoadModule authz_core_module modules/mod_authz_core.so
LoadModule access_compat_module modules/mod_access_compat.so
LoadModule auth_basic_module modules/mod_auth_basic.so
#LoadModule auth_form_module modules/mod_auth_form.so
#LoadModule auth_digest_module modules/mod_auth_digest.so
#LoadModule allowmethods_module modules/mod_allowmethods.so
#LoadModule file_cache_module modules/mod_file_cache.so
#LoadModule cache_module modules/mod_cache.so
#LoadModule cache_disk_module modules/mod_cache_disk.so
#LoadModule cache_socache_module modules/mod_cache_socache.so
#LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
#LoadModule socache_dbm_module modules/mod_socache_dbm.so
#LoadModule socache_memcache_module modules/mod_socache_memcache.so
#LoadModule macro_module modules/mod_macro.so
#LoadModule dbd_module modules/mod_dbd.so
#LoadModule dumpio_module modules/mod_dumpio.so
#LoadModule buffer_module modules/mod_buffer.so
#LoadModule ratelimit_module modules/mod_ratelimit.so
LoadModule reqtimeout_module modules/mod_reqtimeout.so
#LoadModule ext_filter_module modules/mod_ext_filter.so
#LoadModule request_module modules/mod_request.so
#LoadModule include_module modules/mod_include.so
LoadModule filter_module modules/mod_filter.so
#LoadModule substitute_module modules/mod_substitute.so
#LoadModule sed_module modules/mod_sed.so
LoadModule mime_module modules/mod_mime.so
LoadModule log_config_module modules/mod_log_config.so
#LoadModule log_debug_module modules/mod_log_debug.so
#LoadModule logio_module modules/mod_logio.so
LoadModule env_module modules/mod_env.so
#LoadModule expires_module modules/mod_expires.so
LoadModule headers_module modules/mod_headers.so
#LoadModule unique_id_module modules/mod_unique_id.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule version_module modules/mod_version.so
#LoadModule remoteip_module modules/mod_remoteip.so
#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_connect_module modules/mod_proxy_connect.so
#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
#LoadModule proxy_http_module modules/mod_proxy_http.so
#LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
#LoadModule proxy_scgi_module modules/mod_proxy_scgi.so
#LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
#LoadModule proxy_express_module modules/mod_proxy_express.so
#LoadModule session_module modules/mod_session.so
#LoadModule session_cookie_module modules/mod_session_cookie.so
#LoadModule session_dbd_module modules/mod_session_dbd.so
#LoadModule slotmem_shm_module modules/mod_slotmem_shm.so
#LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
#LoadModule lbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.so
#LoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.so
#LoadModule lbmethod_heartbeat_module modules/mod_lbmethod_heartbeat.so
LoadModule unixd_module modules/mod_unixd.so
#LoadModule dav_module modules/mod_dav.so
LoadModule status_module modules/mod_status.so
LoadModule autoindex_module modules/mod_autoindex.so
#LoadModule info_module modules/mod_info.so
#LoadModule cgid_module modules/mod_cgid.so
#LoadModule dav_fs_module modules/mod_dav_fs.so
#LoadModule vhost_alias_module modules/mod_vhost_alias.so
#LoadModule negotiation_module modules/mod_negotiation.so
LoadModule dir_module modules/mod_dir.so
#LoadModule actions_module modules/mod_actions.so
#LoadModule speling_module modules/mod_speling.so
#LoadModule userdir_module modules/mod_userdir.so
LoadModule alias_module modules/mod_alias.so
#LoadModule rewrite_module modules/mod_rewrite.so
<IfModule unixd_module>
# If you wish httpd to run as a different user or group, you must run
# httpd as root initially and it will switch.
# User/Group: The name (or #number) of the user/group to run httpd as.
# It is usually good practice to create a dedicated user and group for
# running httpd, as with most system services.
User daemon
Group daemon
</IfModule>
# 'Main' server configuration
# The directives in this section set up the values used by the 'main'
# server, which responds to any requests that aren't handled by a
# <VirtualHost> definition. These values also provide defaults for
# any <VirtualHost> containers you may define later in the file.
# All of these directives may appear inside <VirtualHost> containers,
# in which case these default settings will be overridden for the
# virtual host being defined.
# ServerAdmin: Your address, where problems with the server should be
# e-mailed. This address appears on some server-generated pages, such
# as error documents. e.g. [email protected]
ServerAdmin [email protected]
# ServerName gives the name and port that the server uses to identify itself.
# This can often be determined automatically, but we recommend you specify
# it explicitly to prevent problems during startup.
# If your host doesn't have a registered DNS name, enter its IP address here.
#ServerName www.example.com:80
# Deny access to the entirety of your server's filesystem. You must
# explicitly permit access to web content directories in other
# <Directory> blocks below.
<Directory />
AllowOverride none
Require all denied
</Directory>
# Note that from this point forward you must specifically allow
# particular features to be enabled - so if something's not working as
# you might expect, make sure that you have specifically enabled it
# below.
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
DocumentRoot "/sapcontreps/apache/htdocs"
<Directory "/sapcontreps/apache/htdocs">
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs/2.4/mod/core.html#options
# for more information.
Options Indexes FollowSymLinks
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# AllowOverride FileInfo AuthConfig Limit
AllowOverride None
# Controls who can get stuff from this server.
Require all granted
</Directory>
# DirectoryIndex: sets the file that Apache will serve if a directory
# is requested.
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
# The following lines prevent .htaccess and .htpasswd files from being
# viewed by Web clients.
<Files ".ht*">
Require all denied
</Files>
# ErrorLog: The location of the error log file.
# If you do not specify an ErrorLog directive within a <VirtualHost>
# container, error messages relating to that virtual host will be
# logged here. If you *do* define an error logfile for a <VirtualHost>
# container, that host's errors will be logged there and not here.
ErrorLog "logs/error_log"
# LogLevel: Control the number of messages logged to the error_log.
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
<IfModule log_config_module>
# The following directives define some format nicknames for use with
# a CustomLog directive (see below).
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
<IfModule logio_module>
# You need to enable mod_logio.c to use %I and %O
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
</IfModule>
# The location and format of the access logfile (Common Logfile Format).
# If you do not define any access logfiles within a <VirtualHost>
# container, they will be logged here. Contrariwise, if you *do*
# define per-<VirtualHost> access logfiles, transactions will be
# logged therein and *not* in this file.
CustomLog "logs/access_log" common
# If you prefer a logfile with access, agent, and referer information
# (Combined Logfile Format) you can use the following directive.
#CustomLog "logs/access_log" combined
</IfModule>
<IfModule alias_module>
# Redirect: Allows you to tell clients about documents that used to
# exist in your server's namespace, but do not anymore. The client
# will make a new request for the document at its new location.
# Example:
# Redirect permanent /foo http://www.example.com/bar
# Alias: Maps web paths into filesystem paths and is used to
# access content that does not live under the DocumentRoot.
# Example:
# Alias /webpath /full/filesystem/path
# If you include a trailing / on /webpath then the server will
# require it to be present in the URL. You will also likely
# need to provide a <Directory> section to allow access to
# the filesystem path.
# ScriptAlias: This controls which directories contain server scripts.
# ScriptAliases are essentially the same as Aliases, except that
# documents in the target directory are treated as applications and
# run by the server when requested rather than as documents sent to the
# client. The same rules about trailing "/" apply to ScriptAlias
# directives as to Alias.
ScriptAlias /cgi-bin/ "/sapcontreps/apache/cgi-bin/"
</IfModule>
<IfModule cgid_module>
# ScriptSock: On threaded servers, designate the path to the UNIX
# socket used to communicate with the CGI daemon of mod_cgid.
#Scriptsock cgisock
</IfModule>
# "/sapcontreps/apache/cgi-bin" should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.
<Directory "/sapcontreps/apache/cgi-bin">
AllowOverride None
Options None
Require all granted
</Directory>
<IfModule mime_module>
# TypesConfig points to the file containing the list of mappings from
# filename extension to MIME-type.
TypesConfig conf/mime.types
# AddType allows you to add to or override the MIME configuration
# file specified in TypesConfig for specific file types.
#AddType application/x-gzip .tgz
# AddEncoding allows you to have certain browsers uncompress
# information on the fly. Note: Not all browsers support this.
#AddEncoding x-compress .Z
#AddEncoding x-gzip .gz .tgz
# If the AddEncoding directives above are commented-out, then you
# probably should define those extensions to indicate media types:
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
# AddHandler allows you to map certain file extensions to "handlers":
# actions unrelated to filetype. These can be either built into the server
# or added with the Action directive (see below)
# To use CGI scripts outside of ScriptAliased directories:
# (You will also need to add "ExecCGI" to the "Options" directive.)
#AddHandler cgi-script .cgi
# For type maps (negotiated resources):
#AddHandler type-map var
# Filters allow you to process content before it is sent to the client.
# To parse .shtml files for server-side includes (SSI):
# (You will also need to add "Includes" to the "Options" directive.)
#AddType text/html .shtml
#AddOutputFilter INCLUDES .shtml
</IfModule>
# The mod_mime_magic module allows the server to use various hints from the
# contents of the file itself to determine its type. The MIMEMagicFile
# directive tells the module where the hint definitions are located.
#MIMEMagicFile conf/magic
# Customizable error responses come in three flavors:
# 1) plain text 2) local redirects 3) external redirects
# Some examples:
#ErrorDocument 500 "The server made a boo boo."
#ErrorDocument 404 /missing.html
#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
#ErrorDocument 402 http://www.example.com/subscription_info.html
# MaxRanges: Maximum number of Ranges in a request before
# returning the entire resource, or one of the special
# values 'default', 'none' or 'unlimited'.
# Default setting is to accept 200 Ranges.
#MaxRanges unlimited
# EnableMMAP and EnableSendfile: On systems that support it,
# memory-mapping or the sendfile syscall may be used to deliver
# files. This usually improves server performance, but must
# be turned off when serving from networked-mounted
# filesystems or if support for these functions is otherwise
# broken on your system.
# Defaults: EnableMMAP On, EnableSendfile Off
#EnableMMAP off
#EnableSendfile on
# Supplemental configuration
# The configuration files in the conf/extra/ directory can be
# included to add extra features or to modify the default configuration of
# the server, or you may simply copy their contents here and change as
# necessary.
# Server-pool management (MPM specific)
#Include conf/extra/httpd-mpm.conf
# Multi-language error messages
#Include conf/extra/httpd-multilang-errordoc.conf
# Fancy directory listings
#Include conf/extra/httpd-autoindex.conf
# Language settings
#Include conf/extra/httpd-languages.conf
# User home directories
#Include conf/extra/httpd-userdir.conf
# Real-time info on requests and configuration
#Include conf/extra/httpd-info.conf
# Virtual hosts
#Include conf/extra/httpd-vhosts.conf
# Local access to the Apache HTTP Server Manual
#Include conf/extra/httpd-manual.conf
# Distributed authoring and versioning (WebDAV)
#Include conf/extra/httpd-dav.conf
# Various default settings
#Include conf/extra/httpd-default.conf
# Configure mod_proxy_html to understand HTML4/XHTML1
<IfModule proxy_html_module>
Include conf/extra/proxy-html.conf
</IfModule>
# Secure (SSL/TLS) connections
#Include conf/extra/httpd-ssl.conf
# Note: The following must must be present to support
# starting without SSL on platforms with no /dev/random equivalent
# but a statically compiled-in mod_ssl.
<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>
# uncomment out the below to deal with user agents that deliberately
# violate open standards by misusing DNT (DNT *must* be a specific
# end-user choice)
#<IfModule setenvif_module>
#BrowserMatch "MSIE 10.0;" bad_DNT
#</IfModule>
#<IfModule headers_module>
#RequestHeader unset DNT env=bad_DNT
#</IfModule>
<IfModule mod_sapcs.cpp>
AddModuleInfo ContentServer "SAP Content Server 640/0 (Prototype) (C) SAP AG 1998, 2001"
CSConfigPath /sapcontreps/conf/cs.conf
<Location /sapcs>
SetHandler sapcs_module
Allow from all
</Location>
<Location /ContentServer/ContentServer.dll>
SetHandler sapcs_module
Allow from all
</Location>
<Location /contentserver/contentserver.dll>
SetHandler sapcs_module
Allow from all
</Location>
</IfModule>
Second parameter,
rgdeverp:(/sapcontreps/apache/modules)(root)#ls -la /sapcontreps/apache/modules
total 5544
drwxrwxrwx 2 sapcs sapsys 4096 Jun 12 15:46 .
drwxrwxrwx 15 sapcs sapsys 4096 Jun 12 14:56 ..
-rwxrwxrwx 1 sapcs sapsys 13836 Jun 12 14:54 httpd.exp
lrwxrwxrwx 1 sapcs sapsys 34 Jun 12 15:46 libsapsecu.so -> /sapcontreps/modules/libsapsecu.so
-rwxrwxrwx 1 sapcs sapsys 34756 Jun 12 14:56 mod_access_compat.so
-rwxrwxrwx 1 sapcs sapsys 31861 Jun 12 14:56 mod_actions.so
-rwxrwxrwx 1 sapcs sapsys 44418 Jun 12 14:56 mod_alias.so
-rwxrwxrwx 1 sapcs sapsys 30426 Jun 12 14:56 mod_allowmethods.so
-rwxrwxrwx 1 sapcs sapsys 41605 Jun 12 14:56 mod_auth_basic.so
-rwxrwxrwx 1 sapcs sapsys 84126 Jun 12 14:56 mod_auth_digest.so
-rwxrwxrwx 1 sapcs sapsys 68399 Jun 12 14:56 mod_auth_form.so
-rwxrwxrwx 1 sapcs sapsys 30531 Jun 12 14:56 mod_authn_anon.so
-rwxrwxrwx 1 sapcs sapsys 36079 Jun 12 14:56 mod_authn_core.so
-rwxrwxrwx 1 sapcs sapsys 40100 Jun 12 14:56 mod_authn_dbd.so
-rwxrwxrwx 1 sapcs sapsys 32532 Jun 12 14:56 mod_authn_dbm.so
-rwxrwxrwx 1 sapcs sapsys 32359 Jun 12 14:56 mod_authn_file.so
-rwxrwxrwx 1 sapcs sapsys 49757 Jun 12 14:56 mod_authn_socache.so
-rwxrwxrwx 1 sapcs sapsys 61854 Jun 12 14:56 mod_authz_core.so
-rwxrwxrwx 1 sapcs sapsys 42581 Jun 12 14:56 mod_authz_dbd.so
-rwxrwxrwx 1 sapcs sapsys 35071 Jun 12 14:56 mod_authz_dbm.so
-rwxrwxrwx 1 sapcs sapsys 34704 Jun 12 14:56 mod_authz_groupfile.so
-rwxrwxrwx 1 sapcs sapsys 35256 Jun 12 14:56 mod_authz_host.so
-rwxrwxrwx 1 sapcs sapsys 30435 Jun 12 14:56 mod_authz_owner.so
-rwxrwxrwx 1 sapcs sapsys 30802 Jun 12 14:56 mod_authz_user.so
-rwxrwxrwx 1 sapcs sapsys 105072 Jun 12 14:56 mod_autoindex.so
-rwxrwxrwx 1 sapcs sapsys 34253 Jun 12 14:56 mod_buffer.so
-rwxrwxrwx 1 sapcs sapsys 192292 Jun 12 14:56 mod_cache.so
-rwxrwxrwx 1 sapcs sapsys 84567 Jun 12 14:56 mod_cache_disk.so
-rwxrwxrwx 1 sapcs sapsys 88616 Jun 12 14:56 mod_cache_socache.so
-rwxrwxrwx 1 sapcs sapsys 98717 Jun 12 14:56 mod_cgid.so
-rwxrwxrwx 1 sapcs sapsys 354271 Jun 12 14:56 mod_dav.so
-rwxrwxrwx 1 sapcs sapsys 189761 Jun 12 14:56 mod_dav_fs.so
-rwxrwxrwx 1 sapcs sapsys 59275 Jun 12 14:56 mod_dbd.so
-rwxrwxrwx 1 sapcs sapsys 35504 Jun 12 14:56 mod_dir.so
-rwxrwxrwx 1 sapcs sapsys 33559 Jun 12 14:56 mod_dumpio.so
-rwxrwxrwx 1 sapcs sapsys 31544 Jun 12 14:56 mod_env.so
-rwxrwxrwx 1 sapcs sapsys 40037 Jun 12 14:56 mod_expires.so
-rwxrwxrwx 1 sapcs sapsys 63988 Jun 12 14:56 mod_ext_filter.so
-rwxrwxrwx 1 sapcs sapsys 39211 Jun 12 14:56 mod_file_cache.so
-rwxrwxrwx 1 sapcs sapsys 52811 Jun 12 14:56 mod_filter.so
-rwxrwxrwx 1 sapcs sapsys 60936 Jun 12 14:56 mod_headers.so
-rwxrwxrwx 1 sapcs sapsys 158790 Jun 12 14:56 mod_include.so
-rwxrwxrwx 1 sapcs sapsys 66838 Jun 12 14:56 mod_info.so
-rwxrwxrwx 1 sapcs sapsys 36196 Jun 12 14:56 mod_lbmethod_bybusyness.so
-rwxrwxrwx 1 sapcs sapsys 36188 Jun 12 14:56 mod_lbmethod_byrequests.so
-rwxrwxrwx 1 sapcs sapsys 36192 Jun 12 14:56 mod_lbmethod_bytraffic.so
-rwxrwxrwx 1 sapcs sapsys 48496 Jun 12 14:56 mod_lbmethod_heartbeat.so
-rwxrwxrwx 1 sapcs sapsys 86665 Jun 12 14:56 mod_log_config.so
-rwxrwxrwx 1 sapcs sapsys 40163 Jun 12 14:56 mod_log_debug.so
-rwxrwxrwx 1 sapcs sapsys 31797 Jun 12 14:56 mod_logio.so
-rwxrwxrwx 1 sapcs sapsys 48254 Jun 12 14:56 mod_macro.so
-rwxrwxrwx 1 sapcs sapsys 54195 Jun 12 14:56 mod_mime.so
-rwxrwxrwx 1 sapcs sapsys 106526 Jun 12 14:56 mod_negotiation.so
-rwxrwxrwx 1 sapcs sapsys 291551 Jun 12 14:56 mod_proxy.so
-rwxrwxrwx 1 sapcs sapsys 171766 Jun 12 14:56 mod_proxy_ajp.so
-rwxrwxrwx 1 sapcs sapsys 108144 Jun 12 14:56 mod_proxy_balancer.so
-rwxrwxrwx 1 sapcs sapsys 54249 Jun 12 14:56 mod_proxy_connect.so
-rwxrwxrwx 1 sapcs sapsys 38536 Jun 12 14:56 mod_proxy_express.so
-rwxrwxrwx 1 sapcs sapsys 61607 Jun 12 14:56 mod_proxy_fcgi.so
-rwxrwxrwx 1 sapcs sapsys 112538 Jun 12 14:56 mod_proxy_ftp.so
-rwxrwxrwx 1 sapcs sapsys 114424 Jun 12 14:56 mod_proxy_http.so
-rwxrwxrwx 1 sapcs sapsys 56400 Jun 12 14:56 mod_proxy_scgi.so
-rwxrwxrwx 1 sapcs sapsys 55514 Jun 12 14:56 mod_proxy_wstunnel.so
-rwxrwxrwx 1 sapcs sapsys 32760 Jun 12 14:56 mod_ratelimit.so
-rwxrwxrwx 1 sapcs sapsys 40376 Jun 12 14:56 mod_remoteip.so
-rwxrwxrwx 1 sapcs sapsys 45091 Jun 12 14:56 mod_reqtimeout.so
-rwxrwxrwx 1 sapcs sapsys 37224 Jun 12 14:56 mod_request.so
-rwxrwxrwx 1 sapcs sapsys 171049 Jun 12 14:56 mod_rewrite.so
lrwxrwxrwx 1 sapcs sapsys 35 Jun 12 15:46 mod_sapcs22.so -> /sapcontreps/modules/mod_sapcs22.so
-rwxrwxrwx 1 sapcs sapsys 119242 Jun 12 14:56 mod_sed.so
-rwxrwxrwx 1 sapcs sapsys 57944 Jun 12 14:56 mod_session.so
-rwxrwxrwx 1 sapcs sapsys 32806 Jun 12 14:56 mod_session_cookie.so
-rwxrwxrwx 1 sapcs sapsys 47023 Jun 12 14:56 mod_session_dbd.so
-rwxrwxrwx 1 sapcs sapsys 44102 Jun 12 14:56 mod_setenvif.so
-rwxrwxrwx 1 sapcs sapsys 53976 Jun 12 14:56 mod_slotmem_shm.so
-rwxrwxrwx 1 sapcs sapsys 45214 Jun 12 14:56 mod_socache_dbm.so
-rwxrwxrwx 1 sapcs sapsys 35686 Jun 12 14:56 mod_socache_memcache.so
-rwxrwxrwx 1 sapcs sapsys 68519 Jun 12 14:56 mod_socache_shmcb.so
-rwxrwxrwx 1 sapcs sapsys 39669 Jun 12 14:56 mod_speling.so
-rwxrwxrwx 1 sapcs sapsys 63924 Jun 12 14:56 mod_status.so
-rwxrwxrwx 1 sapcs sapsys 43320 Jun 12 14:56 mod_substitute.so
-rwxrwxrwx 1 sapcs sapsys 33237 Jun 12 14:56 mod_unique_id.so
-rwxrwxrwx 1 sapcs sapsys 33466 Jun 12 14:56 mod_unixd.so
-rwxrwxrwx 1 sapcs sapsys 33615 Jun 12 14:56 mod_userdir.so
-rwxrwxrwx 1 sapcs sapsys 25961 Jun 12 14:56 mod_version.so
-rwxrwxrwx 1 sapcs sapsys 37707 Jun 12 14:56 mod_vhost_alias.so
But when stop or stat I have the error,
rgqaserp:(/sapcontreps/apache/bin)(root)#./apachectl start
httpd: Syntax error on line 66 of /sapcontreps/apache/conf/httpd.conf: Cannot load modules/mod_sapcs22.so into server: /sapcontreps/apache/modules/mod_sapcs22.so: ELF file data encoding not little-endian
Can you help me?
Thanks -
Interactive PDF form in Activities - Error in Content Server
Hi Experts,
We would like to display an interactive PDF form in the attachements of activities.
But the new windows shows nothing.
First we thought this was an error due to Interactive Forms, but then we found out that Content Server has obviously some problems with this generated PDF and assigns a Content Length = 0 to all these generated documents.
Please find attached some ICM traces, which shows this
content length = 0.
M ICTSYS: AddHeaderField 'Content-Type' -> 'application/pdf'
M ICTSYS: AddHeaderField 'Content-Disposition' -> 'inline; filename="Interview.pdf"'
M ICTSYS: AddHeaderField 'X-compId' -> 'Interview.pdf'
M ICTSYS: AddHeaderField 'X-Content-Length' -> '0 '
M ICTSYS: AddHeaderField 'X-compDateC' -> '2007-02-06'
M ICTSYS: AddHeaderField 'X-compTimeC' -> '07:35:17'
M ICTSYS: AddHeaderField 'X-compDateM' -> '2007-02-06'
M ICTSYS: AddHeaderField 'X-compTimeM' -> '07:35:17'
M ICTSYS: AddHeaderField 'X-compStatus' -> 'online'
M ICTSYS: AddHeaderField 'X-pVersion' -> '0046'
M ICTSYS: AddHeaderField 'X-docProt' -> 'dru'
M ICTSYS: SetData data=00000000 off=0 len=0
M ICTSYS: SetStatus 200 OKICTSYS: AddHeaderField 'server' -> 'SAP Web Application Server (1.0;700)'
A SYSTEM-CALL RFC_ID id RFC_VALUE value
A RFC-SYSTEM> ID[0, type :0]: len:4 val:HTTP
All suggestion are welcome!
Best regards,
Levente BarthaTo have information entered once in a text field, and then have information repeat in subsequent fields, the name of each text field form needs to be identical. In screen shot, both fields are named the same
-
Content Server not working correctly
Hello,
I am having problems with my Tandberg Content Server. For several years, we have used the Tandberg Content Server (TCS) in combination with our Tandberg Management Server (TMS) to schedule and record video conferences. I schedule 60 video conferences a week to roughly 20 rooms, using the TMS. Of these, about 14 video conferences per week are recorded.
Originally, I only had one recording alias on the TCS set up, and it worked fine. But I recently added a second recording alias, due to the growing number of requests for recordings of the video conferences. It seemed to go okay.
Now, however, the Content Server isn't working quite right. It will record two different video conferences at the same time, but once it's finished encoding them, the link that you get to send to people is messed up: often (but not always) the link merges two seperate video conferences together in one video. Two one-hour video conferences will be merged together in one two-hour recorded conference.
The problem only occurs with video conferences that occur at the same time. Strangely, if I search the Content Server's F drive, under Data/Media, the recordings are all there, and they are seperate. They are only joined together on the Content Server link.
I have made sure that we are indeed recording on seperate recording aliases.
Because the videos in the Data/Media bin are always labled something like O1110292903-0593923929.wmv, I can use guesswork to reconstruct a valid URL to get a working link, but it's a lot of extra work: I want to be able to log in to the Content Server admin interface and be able to send someone a link in a few minutes.
Any ideas on what's going wrong? I created a trouble ticket with Cisco earlier in the week, but have not heard back from Cisco tech support, so I thought I'd open it to the Cisco community.HI Ron. Good morning. Since our webex the last time, I do believe we can use participant templates in the mean time until we find out whats going on when using TMS this way. When using the recording drop down and all the systems aren't registered to Gatekeeper seems to be the trigger here, but to get you running, this is what I propose we try and do here.
You may have to purge the Content Server out of TMS so TMS doesn't "know" about the IP address of the Content Server.
You will have to examine your routing and preferred MCU in routing here, and make the two changes:
Administrative Tools>Configuration>Conference Settings. All the way at the bottom you will see:
I had to change this to Always and Preferred MCU type in routing to MPS. This is logical since this is the only MCU you have and you need the MCU in each booking (from my understanding of what you said during the webex).
So:
1) Jot down all the conferences that have the Content Server involved, and remove the recording from each conference.
2) Purge the Content Server from TMS.
3) Add participant template with just the IP address of the content server: Booking>Participant Templates and build one like shown below. The number field should be the address of the content server and IP zone should be IP zone for your system.
Go ahead and save the template.
Make booking with this template and another endpoint (don't add the MPS since it should automatically). Check the connection settings and the MPS should be call the IP of the TCS and the other endpoint.
Click Save conference.
If the conference saves ok, build another with a different room and same template again, and click save conference.
The caveat is that when calling the IP of the TCS, the TCS will use what you have configured as the default recording template under Configuration>Site Settings
Just choose which one you want to use all the time if you can.
The way it shows on the TCS is: -
Content Server - character display problem
We have a portal where the content is all in Italian.
When users are adding content in Content Server, the HTML editor shows international characters correctly.
But when they are published, these characters mess up and do not seem to be getting encoded properly.
How can I get international characters to display properly in Content Server??Hi Andrew,When you add content in Content Server 5.0, the text is encoded in UTF-8 (an encoding of Unicode). Content Server uses Unicode so that content in any language of the world can be added to Content Server. However UTF-8 characters will not be recognized as UTF-8 by most browsers unless you also add a "meta" tag which identifies the data as UTF-8.
The meta tag looks like this:<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
Content Server makes adding the tag easy with a feature in the Presentation Template editor. Just "right-click" on the rich-text editor window and select the "Insert HTML shell" menu item. This will give you the proper <html>, <head>, and <body> tags that go with a properly formed HTML page. The meta tag will also be automatically inserted inside the <head> tag.
Regards,Paul Deuter -
Create PDF based on spool ID and store on content server
Hi all,
I need to create a PDF file from a spool ID and store this in a repository on the content server (archive). How can I do this <b>without creating a physical file on the local workstation</b>?
All helpful answers will be rewarded!
- Mari VirikHi Mari,
This is a sample report pgm which create pdf file from spool id :
PARAMETER: p_email1 LIKE somlreci1-receiver
DEFAULT '[email protected]',
p_sender LIKE somlreci1-receiver
DEFAULT '[email protected]',
p_delspl AS CHECKBOX.
*DATA DECLARATION
DATA: gd_recsize TYPE i.
Spool IDs
TYPES: BEGIN OF t_tbtcp.
INCLUDE STRUCTURE tbtcp.
TYPES: END OF t_tbtcp.
DATA: it_tbtcp TYPE STANDARD TABLE OF t_tbtcp INITIAL SIZE 0,
wa_tbtcp TYPE t_tbtcp.
Job Runtime Parameters
DATA: gd_eventid LIKE tbtcm-eventid,
gd_eventparm LIKE tbtcm-eventparm,
gd_external_program_active LIKE tbtcm-xpgactive,
gd_jobcount LIKE tbtcm-jobcount,
gd_jobname LIKE tbtcm-jobname,
gd_stepcount LIKE tbtcm-stepcount,
gd_error TYPE sy-subrc,
gd_reciever TYPE sy-subrc.
DATA: w_recsize TYPE i.
DATA: gd_subject LIKE sodocchgi1-obj_descr,
it_mess_bod LIKE solisti1 OCCURS 0 WITH HEADER LINE,
it_mess_att LIKE solisti1 OCCURS 0 WITH HEADER LINE,
gd_sender_type LIKE soextreci1-adr_typ,
gd_attachment_desc TYPE so_obj_nam,
gd_attachment_name TYPE so_obj_des.
Spool to PDF conversions
DATA: gd_spool_nr LIKE tsp01-rqident,
gd_destination LIKE rlgrap-filename,
gd_bytecount LIKE tst01-dsize,
gd_buffer TYPE string.
Binary store for PDF
DATA: BEGIN OF it_pdf_output OCCURS 0.
INCLUDE STRUCTURE tline.
DATA: END OF it_pdf_output.
CONSTANTS: c_dev LIKE sy-sysid VALUE 'DEV',
c_no(1) TYPE c VALUE ' ',
c_device(4) TYPE c VALUE 'LOCL'.
*START-OF-SELECTION.
START-OF-SELECTION.
Write statement to represent report output. Spool request is created
if write statement is executed in background. This could also be an
ALV grid which would be converted to PDF without any extra effort
WRITE 'Hello World'.
new-page.
commit work.
new-page print off.
IF sy-batch EQ 'X'.
PERFORM get_job_details.
PERFORM obtain_spool_id.
Alternative way could be to submit another program and store spool
id into memory, will be stored in sy-spono.
*submit ZSPOOLTOPDF2
to sap-spool
spool parameters %_print
archive parameters %_print
without spool dynpro
and return.
Get spool id from program called above
IMPORT w_spool_nr FROM MEMORY ID 'SPOOLTOPDF'.
PERFORM convert_spool_to_pdf.
PERFORM process_email.
if p_delspl EQ 'X'.
PERFORM delete_spool.
endif.
IF sy-sysid = c_dev.
wait up to 5 seconds.
SUBMIT rsconn01 WITH mode = 'INT'
WITH output = 'X'
AND RETURN.
ENDIF.
ELSE.
SKIP.
WRITE:/ 'Program must be executed in background in-order for spool',
'request to be created.'.
ENDIF.
FORM obtain_spool_id *
FORM obtain_spool_id.
CHECK NOT ( gd_jobname IS INITIAL ).
CHECK NOT ( gd_jobcount IS INITIAL ).
SELECT * FROM tbtcp
INTO TABLE it_tbtcp
WHERE jobname = gd_jobname
AND jobcount = gd_jobcount
AND stepcount = gd_stepcount
AND listident <> '0000000000'
ORDER BY jobname
jobcount
stepcount.
READ TABLE it_tbtcp INTO wa_tbtcp INDEX 1.
IF sy-subrc = 0.
message s004(zdd) with gd_spool_nr.
gd_spool_nr = wa_tbtcp-listident.
MESSAGE s004(zdd) WITH gd_spool_nr.
ELSE.
MESSAGE s005(zdd).
ENDIF.
ENDFORM.
FORM get_job_details *
FORM get_job_details.
Get current job details
CALL FUNCTION 'GET_JOB_RUNTIME_INFO'
IMPORTING
eventid = gd_eventid
eventparm = gd_eventparm
external_program_active = gd_external_program_active
jobcount = gd_jobcount
jobname = gd_jobname
stepcount = gd_stepcount
EXCEPTIONS
no_runtime_info = 1
OTHERS = 2.
ENDFORM.
FORM convert_spool_to_pdf *
FORM convert_spool_to_pdf.
CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'
EXPORTING
src_spoolid = gd_spool_nr
no_dialog = c_no
dst_device = c_device
IMPORTING
pdf_bytecount = gd_bytecount
TABLES
pdf = it_pdf_output
EXCEPTIONS
err_no_abap_spooljob = 1
err_no_spooljob = 2
err_no_permission = 3
err_conv_not_possible = 4
err_bad_destdevice = 5
user_cancelled = 6
err_spoolerror = 7
err_temseerror = 8
err_btcjob_open_failed = 9
err_btcjob_submit_failed = 10
err_btcjob_close_failed = 11
OTHERS = 12.
CHECK sy-subrc = 0.
Transfer the 132-long strings to 255-long strings
LOOP AT it_pdf_output.
TRANSLATE it_pdf_output USING ' ~'.
CONCATENATE gd_buffer it_pdf_output INTO gd_buffer.
ENDLOOP.
TRANSLATE gd_buffer USING '~ '.
DO.
it_mess_att = gd_buffer.
APPEND it_mess_att.
SHIFT gd_buffer LEFT BY 255 PLACES.
IF gd_buffer IS INITIAL.
EXIT.
ENDIF.
ENDDO.
ENDFORM.
FORM process_email *
FORM process_email.
DESCRIBE TABLE it_mess_att LINES gd_recsize.
CHECK gd_recsize > 0.
PERFORM send_email USING p_email1.
perform send_email using p_email2.
ENDFORM.
FORM send_email *
--> p_email *
FORM send_email USING p_email.
CHECK NOT ( p_email IS INITIAL ).
REFRESH it_mess_bod.
Default subject matter
gd_subject = 'Subject'.
gd_attachment_desc = 'Attachname'.
CONCATENATE 'attach_name' ' ' INTO gd_attachment_name.
it_mess_bod = 'Message Body text, line 1'.
APPEND it_mess_bod.
it_mess_bod = 'Message Body text, line 2...'.
APPEND it_mess_bod.
If no sender specified - default blank
IF p_sender EQ space.
gd_sender_type = space.
ELSE.
gd_sender_type = 'INT'.
ENDIF.
Send file by email as .xls speadsheet
PERFORM send_file_as_email_attachment
tables it_mess_bod
it_mess_att
using p_email
'Example .xls documnet attachment'
'PDF'
gd_attachment_name
gd_attachment_desc
p_sender
gd_sender_type
changing gd_error
gd_reciever.
ENDFORM.
FORM delete_spool *
FORM delete_spool.
DATA: ld_spool_nr TYPE tsp01_sp0r-rqid_char.
ld_spool_nr = gd_spool_nr.
CHECK p_delspl <> c_no.
CALL FUNCTION 'RSPO_R_RDELETE_SPOOLREQ'
EXPORTING
spoolid = ld_spool_nr.
ENDFORM.
*& Form SEND_FILE_AS_EMAIL_ATTACHMENT
Send email
FORM send_file_as_email_attachment tables it_message
it_attach
using p_email
p_mtitle
p_format
p_filename
p_attdescription
p_sender_address
p_sender_addres_type
changing p_error
p_reciever.
DATA: ld_error TYPE sy-subrc,
ld_reciever TYPE sy-subrc,
ld_mtitle LIKE sodocchgi1-obj_descr,
ld_email LIKE somlreci1-receiver,
ld_format TYPE so_obj_tp ,
ld_attdescription TYPE so_obj_nam ,
ld_attfilename TYPE so_obj_des ,
ld_sender_address LIKE soextreci1-receiver,
ld_sender_address_type LIKE soextreci1-adr_typ,
ld_receiver LIKE sy-subrc.
data: t_packing_list like sopcklsti1 occurs 0 with header line,
t_contents like solisti1 occurs 0 with header line,
t_receivers like somlreci1 occurs 0 with header line,
t_attachment like solisti1 occurs 0 with header line,
t_object_header like solisti1 occurs 0 with header line,
w_cnt type i,
w_sent_all(1) type c,
w_doc_data like sodocchgi1.
ld_email = p_email.
ld_mtitle = p_mtitle.
ld_format = p_format.
ld_attdescription = p_attdescription.
ld_attfilename = p_filename.
ld_sender_address = p_sender_address.
ld_sender_address_type = p_sender_addres_type.
Fill the document data.
w_doc_data-doc_size = 1.
Populate the subject/generic message attributes
w_doc_data-obj_langu = sy-langu.
w_doc_data-obj_name = 'SAPRPT'.
w_doc_data-obj_descr = ld_mtitle .
w_doc_data-sensitivty = 'F'.
Fill the document data and get size of attachment
CLEAR w_doc_data.
READ TABLE it_attach INDEX w_cnt.
w_doc_data-doc_size =
( w_cnt - 1 ) * 255 + STRLEN( it_attach ).
w_doc_data-obj_langu = sy-langu.
w_doc_data-obj_name = 'SAPRPT'.
w_doc_data-obj_descr = ld_mtitle.
w_doc_data-sensitivty = 'F'.
CLEAR t_attachment.
REFRESH t_attachment.
t_attachment[] = it_attach[].
Describe the body of the message
CLEAR t_packing_list.
REFRESH t_packing_list.
t_packing_list-transf_bin = space.
t_packing_list-head_start = 1.
t_packing_list-head_num = 0.
t_packing_list-body_start = 1.
DESCRIBE TABLE it_message LINES t_packing_list-body_num.
t_packing_list-doc_type = 'RAW'.
APPEND t_packing_list.
Create attachment notification
t_packing_list-transf_bin = 'X'.
t_packing_list-head_start = 1.
t_packing_list-head_num = 1.
t_packing_list-body_start = 1.
DESCRIBE TABLE t_attachment LINES t_packing_list-body_num.
t_packing_list-doc_type = ld_format.
t_packing_list-obj_descr = ld_attdescription.
t_packing_list-obj_name = ld_attfilename.
t_packing_list-doc_size = t_packing_list-body_num * 255.
APPEND t_packing_list.
Add the recipients email address
CLEAR t_receivers.
REFRESH t_receivers.
t_receivers-receiver = ld_email.
t_receivers-rec_type = 'U'.
t_receivers-com_type = 'INT'.
t_receivers-notif_del = 'X'.
t_receivers-notif_ndel = 'X'.
APPEND t_receivers.
CALL FUNCTION 'SO_DOCUMENT_SEND_API1'
EXPORTING
document_data = w_doc_data
put_in_outbox = 'X'
sender_address = ld_sender_address
sender_address_type = ld_sender_address_type
commit_work = 'X'
IMPORTING
sent_to_all = w_sent_all
TABLES
packing_list = t_packing_list
contents_bin = t_attachment
contents_txt = it_message
receivers = t_receivers
EXCEPTIONS
too_many_receivers = 1
document_not_sent = 2
document_type_not_exist = 3
operation_no_authorization = 4
parameter_error = 5
x_error = 6
enqueue_error = 7
OTHERS = 8.
Populate zerror return code
ld_error = sy-subrc.
Populate zreceiver return code
LOOP AT t_receivers.
ld_receiver = t_receivers-retrn_code.
ENDLOOP.
ENDFORM.
<b>and then use archiving object to store the photo i have explained you as an example</b>
You have to create a content repository "A2" or another . You have to follow then next steps :
Create a content repository with storage type FILE archive.
Tcode OAC0
IMG: Basis Components Basis Services SAP Archive Link Basic Settings Maintain content repositories
(Embedded image moved to file: pic00041.pcx)
Swap from display to amend. Select a current entry and 'copy' or just hit 'create'. Then select .
(Embedded image moved to file: pic18467.pcx)
Then fill in the details as below:
Choose a two char name
Set DocArea to be 'Archive Link'
Storage type FILE archive (see Note below on how to get this!)
Choose Version no. 0031
Enter the path name where the photos are to be loaded from. Note this is for loading only. When the photos are linked into the sap system (see later), actually, SAP takes a 'copy' and stores it elsewhere. The path may only need to be entered to 'Arch.path', but entering to all three doesn't seem to hurt.
Note on storage type:
Storage type 'FILE archive' may not be in the dropdown list, and F4 (poss entries) may not work! If this is the case, click on the field Storage type (left mouse button) and then click the right mouse button. Choose Possible entries and a full list of all
possible storage types is shown. FILE archive is entry number 08 and then
Check which content repository (Archive) is linked to document type HRICOLFOTO in object type PREL.
Tcode OAC3
Table TOAOM_C
IMG: Basis Components Basis Services SAP Archive Link Basic Settings Maintain Links
(Embedded image moved to file: pic06334.pcx)
Set the 'Content R' field to the one you've just set in the step above.
Note the Ret.per. field is the retention period for the photo in MONTHS. (so the default is 833 years and 3 months!)
Now you can link the photo to the employee.
<b>Pls reward pts if found usefull :)</b>
Regards
Sathish -
Error when viewing documents from content server
hi all,
I have a question.
we have installed an SAP Content Server on Windows 2003 server, and have connected it to our SAP ECC 5.00 ERP. The purpose is so that documents that are attached to a transaction (through Generic Objects Services - Create Attachment), get stored onto the content server rather than the SAP database. We have done all the necessary configuration in oac0, oact, and SKPR08. We are able to attach a document to the transaction, and it gets stored onto the content server. Our issue is when viewing the attachment.
This is the error we are getting as soon as we try to view the attachment:
"Windows cannot find c:\documents and settings\<username>\SAPWorkDir\<filename>. Make sure you typed the name correctly, and then try again. To search for a file, click the Start button, and then click Search."
After pressing OK to the message, the system then gives this error:
"File could not be exported
Message no. SO315
Diagnosis
You have selected either the Export function or a PC document to be exported from the system. The file could not be exported to the
PC. Possible reasons:
1. The file is already open and is being used by an application.
2. The directory to which the file is to be exported is write-protected.
Procedure
In the first case, close the application.
In the second case, remove the write-protection attribute from the directory or enter another directory."
Why is the system trying to open the file from the user's C:\ drive?
Does anyone have a solution to this error?
Cheers,Hi Aleem,
Refer to below KB & note, this should help you.
1849203 - Error message Database error for <GET DATA FROM KPRO> (SO013) and/or File could not be exported (SO315) when opening a document in Attachment list
764972 - Errors when creating workflow attachment
Regards,
Ravi -
How content server see Java jars in custom component?
I put my Java class under mycomponent/classes and some jar under mycomponent/lib.
Content server can call into my classes but can not see the jars under lib.
Do I need other setup to let content server see the jarsI added the jars in .hda file not not recoginize by component ,kinldy share the your .hda file which working
my hda file data
<?hda version="11gR1-11.1.1.3.0-idcprod1-100505T121221" jcharset=UTF8 encoding=utf-8?>
@Properties LocalData
blFieldTypes=
hasPreferenceData=false
classpathorder=10
libpathorder=10
blDateFormat=M/d{yy}{ h:mm[:ss]{ a}}!mAM,PM!tAmerica/Chicago
libpath=D:/Oracle/Middleware/user_projects/domains/base_domain/ucm/cs/custom/Test/lib
classpath=D:/Oracle/Middleware/user_projects/domains/base_domain/ucm/cs/custom/Test/classes;D:/Oracle/Middleware/user_projects/domains/base_domain/ucm/cs/custom/Test/lib/avalon-framework-api-4.3.1.jar;D:/Oracle/Middleware/user_projects/domains/base_domain/ucm/cs/custom/Test/lib/valon-framework-impl-4.3.1.jar;D:/Oracle/Middleware/user_projects/domains/base_domain/ucm/cs/custom/Test/lib/commons-codec-1.3.jar;D:/Oracle/Middleware/user_projects/domains/base_domain/ucm/cs/custom/Test/lib/commons-io-1.3.1.jar;D:/Oracle/Middleware/user_projects/domains/base_domain/ucm/cs/custom/Test/lib/commons-lang-2.4.jar;D:/Oracle/Middleware/user_projects/domains/base_domain/ucm/cs/custom/Test/lib/commons-logging-1.1.1.jar;D:/Oracle/Middleware/user_projects/domains/base_domain/ucm/cs/custom/Test/lib/commons-vfs-patched-1.9.1.jar;D:/Oracle/Middleware/user_projects/domains/base_domain/ucm/cs/custom/Test/lib/docx4j-2.5.0.jar;D:/Oracle/Middleware/user_projects/domains/base_domain/ucm/cs/custom/Test/lib/fop-patched-0.95.756437.jar;D:/Oracle/Middleware/user_projects/domains/base_domain/ucm/cs/custom/Test/lib/hwpf-3.4.0.jar;D:/Oracle/Middleware/user_projects/domains/base_domain/ucm/cs/custom/Test/lib/jcr-1.0.jar;D:/Oracle/Middleware/user_projects/domains/base_domain/ucm/cs/custom/Test/lib/jdom-1.0.jar;D:/Oracle/Middleware/user_projects/domains/base_domain/ucm/cs/custom/Test/lib/junit-4.4.jar;D:/Oracle/Middleware/user_projects/domains/base_domain/ucm/cs/custom/Test/lib/log4j-1.2.15.jar;D:/Oracle/Middleware/user_projects/domains/base_domain/ucm/cs/custom/Test/lib/parent-pointer-plugin-1.0.jar;D:/Oracle/Middleware/user_projects/domains/base_domain/ucm/cs/custom/Test/lib/wmf2svg-0.8.3.jar;D:/Oracle/Middleware/user_projects/domains/base_domain/ucm/cs/custom/Test/lib/xalan-patched-2.7.0.jar;D:/Oracle/Middleware/user_projects/domains/base_domain/ucm/cs/custom/Test/lib/xmlgraphics-commons-1.3.757686.jar;:/Oracle/Middleware/user_projects/domains/base_domain/ucm/cs/custom/Test/lib/server.zip
ComponentName=Test
version=11.1.1.3.0
@end
@ResultSet Filters
4
type
location
parameter
loadOrder
validateStandard
test.CheckinFilter
null
1
@end
@ResultSet ClassAliases
2
classname
location
@end
error geting while access java class which is part jar (docx jar )
regards
Varaprasad -
Content server log showing exception in stream
Hi all,
I am connecting to ecm with the follwoing cod eand error
on transfere stream is ocurring
after connection was paralyesd for about 4 minutes then
ecxeption occure then server log shows
a service exception
the follwoing is the used code
PLZ HELP ME
* Copyright (c) 1997-2001 IntraNet Solutions, Incorporated. All rights reserved.
* Copyright (c) 2001-2007 Stellent, Incorporated. All rights reserved.
package com.stellent.cis.sdk.samples.checkin;
import java.net.MalformedURLException;
import java.rmi.RemoteException;
import java.util.Date;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import com.stellent.cis.client.command.CommandException;
import com.stellent.cis.client.io.ICISTransferStream;
import com.stellent.cis.client.api.scs.ISCSContent;
import com.stellent.cis.client.api.scs.ISCSContentID;
import com.stellent.cis.client.api.scs.document.checkin.ISCSDocumentCheckinAPI;
import com.stellent.cis.client.api.scs.document.checkin.ISCSCheckinFlags;
import com.stellent.cis.client.api.scs.document.checkin.ISCSDocumentCheckinResponse;
import com.twainconnect.sample.UCPMClient1;
import java.io.FileInputStream;
import java.io.InputStream;
* This class shows how to check in a file into the content server. This takes a bunch of command line switches most of which is
* optional. If some required values are not given, it creates random values for them.
* -file : the absolute path to the file which is to be checked in (required)
* -contentid : the content id of the document (auto generated)
* -title : the title of the document (auto generated)
* -type : the type of the document (defaults to ADACCT)
* -securitygroup : the security group (defaults to Public)
public class CheckinFile extends UCPMClient1 {
// The path to the primary file of the document
private String primaryFile = null;
// The content id of the document
private String contentId = null;
// The title of the document
private String title = null;
// the type of the document
private String type = null;
// the security group of the document
private String securityGroup = null;
// The check in api from the cis
private ISCSDocumentCheckinAPI api = null;
public static void main(String[] args) {
CheckinFile checkin = new CheckinFile();
checkin.initialize(args);
try {
checkin.connect();
checkin.execute();
} catch (CommandException e) {
e.printStackTrace();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (RemoteException e) {
e.printStackTrace();
System.exit(0);
* Executes the services to perform a content server check in.
protected void execute() throws RemoteException, CommandException {
// Get the Document check in api from the active api.
api = getClient().getUCPMAPI().getActiveAPI().getDocumentCheckinAPI();
// Perform a check in of the file with the values provided. The check in flags is generated in the method
// getCheckinFlags(). Also see getActiveContent(), getActiveContentId()
try {
ICISTransferStream transferStream = getClient().getUCPMAPI().createTransferStream();
transferStream.setFile(new File("D:\\ddd.doc"));
System.out.println("read b4 get === "+transferStream.getInputStream().read());
// InputStream inputStreamxx = new FileInputStream( );//transferStream.getInputStream();
// FileInputStream inputStreamxx = new FileInputStream(new File("D:\\ddd.doc"));
// transferStream.setInputStream(inputStreamxx);
// System.out.println("after setting "+transferStream.getInputStream().read());
// byte[] input = new byte[25];
// for (int i = 0; i < input.length; i++) {
// int b = transferStream.getInputStream().read(input);
// if (b == -1)
// break;
// input[i] = (byte)b;
// System.out.println("\n---------\n"+input.length);
// System.out.println("Whole legnth= "+transferStream.getInputStream().read(input));
// System.out.println(inputStream .read());
// System.out.println(getPrimaryFile());
// transferStream.setFileName("mmm");
// transferStream.setContentType("text/plain");
// transferStream.setContentLength(5);
ISCSDocumentCheckinResponse result =
api.checkinFileStream(getSCSContext(), getActiveContent(),
transferStream);
//getSCSContext().setCrendentials();
// The message from the content server , if any
String message = result.getMessage();
// Print a status message to the console
print("Checked in the file [" + getPrimaryFile() +
"] with content id " + getContentId() + ". Message:" +
message);
} catch (FileNotFoundException exp) {
throw new CommandException(exp);
} catch (IOException exp) {
throw new CommandException(exp);
} catch (Exception exp) {
exp.printStackTrace();
* This creates a new SCSCheckinFlags object which can be used to define the check-in properties.
* @return new SCSCheckinFlags object
* @throws RemoteException
* @throws com.stellent.cis.client.command.CommandException
protected ISCSCheckinFlags getCheckinFlags() throws RemoteException,
CommandException {
log.fine("Entering getCheckinFlags");
ISCSCheckinFlags checkinFlags =
(ISCSCheckinFlags)getClient().getUCPMAPI().createObject(ISCSCheckinFlags.class);
// Specify that the file should be copied, and not be deleted after the check in.
checkinFlags.setFileCopy(true);
// Specify this to true if this is a workflow step checkin.
checkinFlags.setFinished(false);
return checkinFlags;
* Creates a new SCSContent object where all the document specific properties and meta-data values can be set for the
* check-in process.
* @return new SCSContent object with the properties set
* @throws RemoteException
* @throws com.stellent.cis.client.command.CommandException
protected ISCSContent getActiveContent() throws RemoteException,
CommandException {
// Create a new content object for the executing context
ISCSContent activeContent =
(ISCSContent)getClient().getUCPMAPI().createObject(ISCSContent.class);
ISCSContentID contentID =
(ISCSContentID)getClient().getUCPMAPI().createObject(ISCSContentID.class);
contentID.setContentID(getContentId());
activeContent.setContentID(contentID);
// Set the Title of the document
activeContent.setTitle(getTitle());
// set the type of the document
activeContent.setType(getType());
// set the security group of the document
activeContent.setSecurityGroup(getSecurityGroup());
return activeContent;
* Override the initialize method to read in more document specific values from the command line.
protected void initialize(String[] args) {
log.fine("Entering initialize");
super.initialize(args);
// Provide a default value for the fields so that we don't have to enter it always. ;-)
// Date is random enough for us.
Date now = new Date();
setPrimaryFile(readArgsAsString("-file", args, null));
setTitle(readArgsAsString("-title", args,
"Title By SDK " + now.getTime()));
setContentId(readArgsAsString("-contentid", args,
now.getTime() + "Content-Id-SDK"));
setType(readArgsAsString("-type", args, "ADACCT"));
setSecurityGroup(readArgsAsString("-securitygroup", args, "Public"));
// Getters and setters for the variables
public String getPrimaryFile() {
primaryFile = "D:\\w.txt";
return primaryFile;
public void setPrimaryFile(String primaryFile) {
this.primaryFile = primaryFile;
public String getContentId() {
return contentId;
public void setContentId(String contentId) {
this.contentId = contentId;
public String getTitle() {
return title;
public void setTitle(String title) {
this.title = title;
public String getSecurityGroup() {
return securityGroup;
public void setSecurityGroup(String securityGroup) {
this.securityGroup = securityGroup;
public String getType() {
return type;
public void setType(String type) {
this.type = type;
Edited by: user7326470 on Oct 17, 2009 2:52 AM<?xml version="1.0" encoding="windows-1256" ?>
<config>
<adapter default="true" name="myadapter" type="scs">
<config>
<property name="type">web</property>
<property name="vaultType">web</property>
<property
name="host">http://192.168.0.104/MIC_ECM/idcplg</propert
y>
<property name="port">4444</property>
<property
name="contentServerAdminID">sysadmin</property>
<property
name="contentServerAdminPassword">idc</property>
<property
name="eventPollingEnabled">true</property>
<property
name="persistentConnection">true</property>
<property name="cacheEnabled">true</property>
<property
name="connectionTimeout">9999999999999999999999999999999
9999999999999999999999999999999999999999999999999999</pr
operty>
<property
name="contentServerMappedVault"></property>
<property name="appserverMappedVault"></property>
</config>
<beans template="classpath:/META-
INF/resources/adapter/adapter-services-scs.jxml"/>
</adapter>
<adapter name="checkin" type="scs">
<config>
<property name="type">web</property>
<property
name="host">http://192.168.0.104/MIC_ECM/idcplg</propert
y>
<property name="port">4444</property>
<property
name="contentServerAdminID">sysadmin</property>
<property
name="contentServerAdminPassword">idc</property>
<property
name="eventPollingEnabled">true</property>
<property
name="persistentConnection">false</property>
<property name="cacheEnabled">true</property>
<property
name="connectionTimeout">9999999999999999999999999999</p
roperty>
<property
name="contentServerMappedVault"></property>
<property name="appserverMappedVault"></property>
</config>
<beans template="classpath:/META-
INF/resources/adapter/adapter-services-scs.jxml"/>
</adapter>
</config>
the JDeveloper exception is as foolows
[2009-10-17 11:24:10,749] [SCS EventPoller [myadapter]]
WARN
(com.stellent.cis.server.api.scs.event.impl.SCSEventPoll
er) - No password credentials supplied for background
polling thread but adapter config 'myadapter' is set to
type web which requires authentication will attempt to
poll with no credentials
[2009-10-17 11:24:10,811] [SCS EventPoller [myadapter]]
WARN
(com.stellent.cis.server.api.scs.event.impl.SCSEventPoll
er) - Error in content server event poller
com.stellent.cis.client.command.CommandException: Error
reading the response from the Content Server: 401
at
com.stellent.cis.server.api.scs.impl.SCSCommand.executeR
equest(SCSCommand.java:338)
at
com.stellent.cis.server.api.scs.impl.SCSCommand.execute
(SCSCommand.java:222)
at
com.stellent.cis.client.command.impl.services.CommandExe
cutorService.executeCommand
(CommandExecutorService.java:57)
at
com.stellent.cis.client.command.impl.CommandFacade.execu
teCommand(CommandFacade.java:158)
at
com.stellent.cis.client.command.impl.BaseCommandAPI.invo
keCommand(BaseCommandAPI.java:84)
at
com.stellent.cis.client.api.scs.administrative.query.imp
l.SCSAdministrativeQueryAPI.queryDocumentHistory
(SCSAdministrativeQueryAPI.java:76)
at
com.stellent.cis.server.api.scs.event.impl.SCSEventPolle
r$SCSFileCachePollingThread.run(SCSEventPoller.java:275)
Caused by:
com.stellent.cis.server.api.scs.request.SCSRequestExcept
ion: Error reading the response from the Content Server:
401
at
com.stellent.cis.server.api.scs.request.impl.SCSRequestP
rocessor.sendRequest(SCSRequestProcessor.java:156)
at
com.stellent.cis.server.api.scs.request.impl.SCSRequestP
rocessor.processRequest(SCSRequestProcessor.java:112)
at
com.stellent.cis.server.api.scs.request.impl.SCSRequestF
ilterChain.doRequestFilter
(SCSRequestFilterChain.java:61)
at
com.stellent.cis.server.api.scs.request.stream.SCSOptimi
zedPublishFilter.handleRequest
(SCSOptimizedPublishFilter.java:128)
at
com.stellent.cis.server.api.scs.request.impl.SCSRequestF
ilterChain.doRequestFilter
(SCSRequestFilterChain.java:58)
at
com.stellent.cis.server.api.scs.request.stream.SCSOptimi
zedRetrieveFilter.handleRequest
(SCSOptimizedRetrieveFilter.java:250)
at
com.stellent.cis.server.api.scs.request.impl.SCSRequestF
ilterChain.doRequestFilter
(SCSRequestFilterChain.java:58)
at
com.stellent.cis.server.api.scs.request.rewrite.SCSRewri
teURLFilter.handleRequest(SCSRewriteURLFilter.java:140)
at
com.stellent.cis.server.api.scs.request.impl.SCSRequestF
ilterChain.doRequestFilter
(SCSRequestFilterChain.java:58)
at
com.stellent.cis.server.api.scs.request.cache.impl.SCSSe
rviceCacheFilter.handleRequest
(SCSServiceCacheFilter.java:112)
at
com.stellent.cis.server.api.scs.request.impl.SCSRequestF
ilterChain.doRequestFilter
(SCSRequestFilterChain.java:58)
at
com.stellent.cis.server.api.scs.request.impl.SCSRequestE
xecutorProxy.execute(SCSRequestExecutorProxy.java:105)
at
com.stellent.cis.server.api.scs.impl.SCSCommand.executeV
iaProxy(SCSCommand.java:353)
at
com.stellent.cis.server.api.scs.impl.SCSCommand.executeR
equest(SCSCommand.java:335)
... 6 more
Caused by:
com.stellent.cis.common.exception.HttpException: 401
at
com.stellent.cis.server.api.scs.protocol.impl.httpclient
.HdaViaHttpProtocol.writeMessage
(HdaViaHttpProtocol.java:171)
at
com.stellent.cis.server.api.scs.request.impl.SCSRequestP
rocessor.sendRequest(SCSRequestProcessor.java:148)
... 19 more
[2009-10-17 11:29:10,847] [SCS EventPoller [myadapter]]
WARN
(com.stellent.cis.server.api.scs.event.impl.SCSEventPoll
er) - Error in content server event poller
com.stellent.cis.client.command.CommandException: Error
reading the response from the Content Server: 401
at
com.stellent.cis.server.api.scs.impl.SCSCommand.executeR
equest(SCSCommand.java:338)
at
com.stellent.cis.server.api.scs.impl.SCSCommand.execute
(SCSCommand.java:222)
at
com.stellent.cis.client.command.impl.services.CommandExe
cutorService.executeCommand
(CommandExecutorService.java:57)
at
com.stellent.cis.client.command.impl.CommandFacade.execu
teCommand(CommandFacade.java:158)
at
com.stellent.cis.client.command.impl.BaseCommandAPI.invo
keCommand(BaseCommandAPI.java:84)
at
com.stellent.cis.client.api.scs.administrative.query.imp
l.SCSAdministrativeQueryAPI.queryDocumentHistory
(SCSAdministrativeQueryAPI.java:76)
at
com.stellent.cis.server.api.scs.event.impl.SCSEventPolle
r$SCSFileCachePollingThread.run(SCSEventPoller.java:275)
Caused by:
com.stellent.cis.server.api.scs.request.SCSRequestExcept
ion: Error reading the response from the Content Server:
401
at
com.stellent.cis.server.api.scs.request.impl.SCSRequestP
rocessor.sendRequest(SCSRequestProcessor.java:156)
at
com.stellent.cis.server.api.scs.request.impl.SCSRequestP
rocessor.processRequest(SCSRequestProcessor.java:112)
at
com.stellent.cis.server.api.scs.request.impl.SCSRequestF
ilterChain.doRequestFilter
(SCSRequestFilterChain.java:61)
at
com.stellent.cis.server.api.scs.request.stream.SCSOptimi
zedPublishFilter.handleRequest
(SCSOptimizedPublishFilter.java:128)
at
com.stellent.cis.server.api.scs.request.impl.SCSRequestF
ilterChain.doRequestFilter
(SCSRequestFilterChain.java:58)
at
com.stellent.cis.server.api.scs.request.stream.SCSOptimi
zedRetrieveFilter.handleRequest
(SCSOptimizedRetrieveFilter.java:250)
at
com.stellent.cis.server.api.scs.request.impl.SCSRequestF
ilterChain.doRequestFilter
(SCSRequestFilterChain.java:58)
at
com.stellent.cis.server.api.scs.request.rewrite.SCSRewri
teURLFilter.handleRequest(SCSRewriteURLFilter.java:140)
at
com.stellent.cis.server.api.scs.request.impl.SCSRequestF
ilterChain.doRequestFilter
(SCSRequestFilterChain.java:58)
at
com.stellent.cis.server.api.scs.request.cache.impl.SCSSe
rviceCacheFilter.handleRequest
(SCSServiceCacheFilter.java:112)
at
com.stellent.cis.server.api.scs.request.impl.SCSRequestF
ilterChain.doRequestFilter
(SCSRequestFilterChain.java:58)
at
com.stellent.cis.server.api.scs.request.impl.SCSRequestE
xecutorProxy.execute(SCSRequestExecutorProxy.java:105)
at
com.stellent.cis.server.api.scs.impl.SCSCommand.executeV
iaProxy(SCSCommand.java:353)
at
com.stellent.cis.server.api.scs.impl.SCSCommand.executeR
equest(SCSCommand.java:335)
... 6 more
Caused by:
com.stellent.cis.common.exception.HttpException: 401
at
com.stellent.cis.server.api.scs.protocol.impl.httpclient
.HdaViaHttpProtocol.writeMessage
(HdaViaHttpProtocol.java:171)
at
com.stellent.cis.server.api.scs.request.impl.SCSRequestP
rocessor.sendRequest(SCSRequestProcessor.java:148)
... 19 more
com.stellent.cis.client.command.CommandException: Error
reading the response from the Content Server: 500
at
com.stellent.cis.server.api.scs.impl.SCSCommand.executeR
equest(SCSCommand.java:338)
at
com.stellent.cis.server.api.scs.impl.SCSCommand.execute
(SCSCommand.java:222)
at
com.stellent.cis.client.command.impl.services.CommandExe
cutorService.executeCommand
(CommandExecutorService.java:57)
at
com.stellent.cis.client.command.impl.CommandFacade.execu
teCommand(CommandFacade.java:158)
at
com.stellent.cis.client.command.impl.BaseCommandAPI.invo
keCommand(BaseCommandAPI.java:84)
at
com.stellent.cis.client.api.scs.document.checkin.impl.SC
SDocumentCheckinAPI.checkinFileStream
(SCSDocumentCheckinAPI.java:663)
at
com.stellent.cis.sdk.samples.checkin.CheckinFile.execute
(CheckinFile.java:118)
at
com.stellent.cis.sdk.samples.checkin.CheckinFile.main
(CheckinFile.java:71)
Caused by:
com.stellent.cis.server.api.scs.request.SCSRequestExcept
ion: Error reading the response from the Content Server:
500
at
com.stellent.cis.server.api.scs.request.impl.SCSRequestP
rocessor.sendRequest(SCSRequestProcessor.java:156)
at
com.stellent.cis.server.api.scs.request.impl.SCSRequestP
rocessor.processRequest(SCSRequestProcessor.java:112)
at
com.stellent.cis.server.api.scs.request.impl.SCSRequestF
ilterChain.doRequestFilter
(SCSRequestFilterChain.java:61)
at
com.stellent.cis.server.api.scs.request.stream.SCSOptimi
zedPublishFilter.handleRequest
(SCSOptimizedPublishFilter.java:128)
at
com.stellent.cis.server.api.scs.request.impl.SCSRequestF
ilterChain.doRequestFilter
(SCSRequestFilterChain.java:58)
at
com.stellent.cis.server.api.scs.request.stream.SCSOptimi
zedRetrieveFilter.handleRequest
(SCSOptimizedRetrieveFilter.java:250)
at
com.stellent.cis.server.api.scs.request.impl.SCSRequestF
ilterChain.doRequestFilter
(SCSRequestFilterChain.java:58)
at
com.stellent.cis.server.api.scs.request.rewrite.SCSRewri
teURLFilter.handleRequest(SCSRewriteURLFilter.java:140)
at
com.stellent.cis.server.api.scs.request.impl.SCSRequestF
ilterChain.doRequestFilter
(SCSRequestFilterChain.java:58)
at
com.stellent.cis.server.api.scs.request.cache.impl.SCSSe
rviceCacheFilter.handleRequest
(SCSServiceCacheFilter.java:112)
at
com.stellent.cis.server.api.scs.request.impl.SCSRequestF
ilterChain.doRequestFilter
(SCSRequestFilterChain.java:58)
at
com.stellent.cis.server.api.scs.request.impl.SCSRequestE
xecutorProxy.execute(SCSRequestExecutorProxy.java:105)
at
com.stellent.cis.server.api.scs.impl.SCSCommand.executeV
iaProxy(SCSCommand.java:353)
at
com.stellent.cis.server.api.scs.impl.SCSCommand.executeR
equest(SCSCommand.java:335)
... 7 more
Caused by:
com.stellent.cis.common.exception.HttpException: 500
at
com.stellent.cis.server.api.scs.protocol.impl.httpclient
.HdaViaHttpProtocol.writeMessage
(HdaViaHttpProtocol.java:171)
at
com.stellent.cis.server.api.scs.request.impl.SCSRequestP
rocessor.sendRequest(SCSRequestProcessor.java:148)
... 20 more
Process exited with exit code 0.
the server exception in log of content server is as
follows
Event generated by user 'anonymous' at host
'192.168.0.104'. Stream terminated before being able to
read HTTP protocol line. Stream terminated before being
able to read HTTP protocol line. [ Details ]
An error has occurred. The stack trace below shows more
information.
!csUserEventMessage,anonymous,192.168.0.104!$!
syStreamTerminatedBeforeProtocol!
syStreamTerminatedBeforeProtocol
intradoc.common.ServiceException: !
syStreamTerminatedBeforeProtocol
at
intradoc.server.ServiceRequestImplementor.doRequest
(ServiceRequestImplementor.java:628)
at intradoc.server.Service.doRequest
(Service.java:1709)
at
intradoc.server.ServiceManager.processCommand
(ServiceManager.java:357)
at intradoc.server.IdcServerThread.run
(IdcServerThread.java:195)
Caused by: java.io.IOException: !
syStreamTerminatedBeforeProtocol
at
intradoc.serialize.DataBinderSerializer.readStreamLineBy
teEx(DataBinderSerializer.java:1588)
at
intradoc.serialize.DataBinderSerializer.readStreamLineEx
(DataBinderSerializer.java:1556)
at
intradoc.serialize.DataBinderSerializer.readLineEx
(DataBinderSerializer.java:1528)
at
intradoc.serialize.DataBinderSerializer.parseForData
(DataBinderSerializer.java:1336)
at
intradoc.serialize.DataBinderSerializer.parseMultiConten
t(DataBinderSerializer.java:1283)
at
intradoc.serialize.DataBinderSerializer.continueParse
(DataBinderSerializer.java:1244)
at
intradoc.data.DataSerializeUtils.continueParse
(DataSerializeUtils.java:138)
at intradoc.server.Service.continueParse
(Service.java:415)
at
intradoc.server.ServiceRequestImplementor.doRequest
(ServiceRequestImplementor.java:620)
... 3 more -
I have been charged with the task up setting up the Content Server 4 for the company I work for so we can try it out during the test period to see if it is something we want to purchase. There is a week left of our pre-release trial and I'm completely lost!
I've managed to get all three of the status checks to give me all green check marks, but I really have no idea where to go next to even use the program. I haven't been able to log in to the admin console either. I had to contact support to get the build.xml file needed to build the UploadTest-1_1.jar file that the user guide said was included, but wasn't. I don't know how to work that either. The command that support gave me just results in errors. I know very little about Java.
The user guide seems to give a good explanation of how the program works, but in my opinion doesn't explain how to actually use the program (some of the setup was a bit confusing as well). I don't know where to start to make it do what it is supposed to do.
If anyone has any hints for me I would greatly appreciate them. Thanks!
MySQL 5.0.67
MySQL Connector Java 5.1.6
Apache Tomcat 6.0.18
JDK 6u3
Windows XP sp3Hi everyone...
I'm just yelling all the day to this program in order to make it work...
I succesfully get the Package message work but i cannot make the GBLink working... i always get the "E_ADEPT_URL_SIGNATURE_ERR http://dev1:8080/fulfillment/URLLink.acsm GBLINK_AUTH_SIGNATURE_NOMATCH" error
I am writing in C# and this is the code i use to make the GBLINK
public static string CreateHMAC(string xmlElement) {
string key = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; //--THIS IS THE shared secret key you can find in the admin console for the distributor
HMACSHA1 myhmacsha1 = new HMACSHA1(Convert.FromBase64String(key));
byte[] hashValue = myhmacsha1.ComputeHash(Encoding.UTF8.GetBytes(xmlElement));
myhmacsha1.Clear();
return ByteToString(hashValue);
public static string ByteToString(byte[] buff) {
string sbinary = "";
for (int i = 0; i < buff.Length; i++) {
sbinary += buff[i].ToString("X2"); // hex format
return (sbinary.ToLower());
string rightsRequested = "";
string orderSource = "XXXXX"; //--This is the distributor name
string url =
"http://dev1:8080/fulfillment/URLLink.acsm?action=enterorder" +
"&ordersource=" + HttpUtility.UrlEncode(orderSource) +
"&orderid=1&resid=" + HttpUtility.UrlEncode(resourceID) +
"&rights=" + HttpUtility.UrlEncode(rightsRequested) +
"&gbauthdate=" + HttpUtility.UrlEncode(DateTime.Now.ToString("MM/dd/YYYY HH\\:mm UTC")) +
"&dateval=" + HttpUtility.UrlEncode(DateTime.Now.ToString("MM/dd/YYYY HH\\:mm UTC")) +
"&gblver=" + HttpUtility.UrlEncode("3") +
"&auth=";
string hmac = XmlUtil.CreateHMAC(url);
ANY help will be grateful appreciated! -
Hi All,
I am trying to write a Java utility that will create a document using Content Server HTTP API in a repository with security turned on. I use SAP SSF classes to calculate the secKey value for my request, but everytime I get HTTP 401 error and the Content server log contains following error:
Security SsfVerify failed rc=12, lasterror=18, decoding error for, PSE=
?\C:\Program Files\SAP\Content Server\Security\ZT1.pse,"
My algorithm is following: first I calculate the MD5 hash of the parameters:
byte[] digest = null;
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(param.getBytes());
digest = md.digest();
Then I sign it using SAP SSF classes:
ByteArrayInputStream bais = new ByteArrayInputStream(digest);
// create object of ssf data
ISsfData data = null;
try {
data = new SsfDataPKCS7(bais);
KeyStore keystore = KeyStore.getInstance("PKCS12");
keystore.load(new FileInputStream("c:\\work\\PKI\\CS_NW1.p12"), "pwd".toCharArray());
SsfProfileKeyStore profile = new SsfProfileKeyStore(keystore, "cs_nw1", "pwd");
boolean res = data.sign(profile);
if (!res) {
System.out.println("Creation of signature failed");
} else {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
data.writeTo(baos);
result = Base64.encodeBase64URLSafeString(baos.toByteArray());
} catch (Exception e) {
e.printStackTrace();
Is anyone here who has experience with the Content Server HTTP API in combination with digital signatures and could help me with my problem?
Many thanks in advance!
Best regards,
TomasHi Tomas,
I tried to implement the interface with C# and got same error as you mentioned above (Security SsfVerify failed rc=12, lasterror=18, decoding error for).
I'm not sure if my problem comes from the certificate which I created using makecert.exe or if I did somethime wrong signing the URL. How did you create your certificate?
Maybe you can see a major fault in my code. I tried it that way:
byte
[] byteArray = File.ReadAllBytes(@"C:\_xbound_ocf\Development\Dev\Binaries\Release\ENUtxt.pdf");
string docId = Guid.NewGuid().ToString().Replace("-", "").ToUpper();
string expiration = DateTime.Now.Add(new TimeSpan(2, 0, 0)).ToString("yyyyMMddHHmmss");
string accessMode = "c";
string parameterToBeSigned = ReplaceCharacter(_ContRep.Text) + ReplaceCharacter(_CompID.Text) + ReplaceCharacter(docId) + ReplaceCharacter(_DocProt.Text) +
ReplaceCharacter(accessMode) + ReplaceCharacter(_AuthId.Text) + ReplaceCharacter(expiration);
string path = @"C:\_xbound_ocf\Development\Dev\ProcessDirector\ArchiveLinkTest\ArchiveLinkTest\certs\DSAWithSHA1\MyUserCert.pfx";
X509Certificate2 certificate = new X509Certificate2(path, "alba&1");
DSACryptoServiceProvider provider = ( DSACryptoServiceProvider)certificate.PrivateKey;
System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();
ASCIIEncoding encoding2 = new System.Text.ASCIIEncoding();
byte[] data = encoding2.GetBytes(parameterToBeSigned);
SHA1Managed sha1 = new SHA1Managed();
byte[] hash = sha1.ComputeHash(data);
byte[] signed = provider.CreateSignature(hash);
string secKey = Convert.ToBase64String(signed);
string url = _URL.Text + "?create" +
"&contRep=" + ReplaceCharacter(_ContRep.Text) +
"&compId=" + ReplaceCharacter(_CompID.Text) +
"&docId=" + ReplaceCharacter(docId) +
"&pVersion=" + ReplaceCharacter(_Version.Text) +
"&Content-Length=" + byteArray.Length.ToString() +
"&docProt=" + ReplaceCharacter(_DocProt.Text) +
"&accessMode=" + ReplaceCharacter(accessMode) +
"&authId=" + ReplaceCharacter(_AuthId.Text) +
"&expiration=" + ReplaceCharacter(expiration) +
"&secKey=" + ReplaceCharacter(secKey);
ReplaceCharacter is a function which replaces the invalid characters for url.
Best regards
Anja -
UCM Content Server Service Error.
Hi All,
I'm querying the Content server using the RIDC API as follows:
setClientObject();
dataBinder.putLocal("IdcService", "GET_SEARCH_RESULTS");
dataBinder.putLocal("QueryText","dInDate >= `01/03/10 12:00 AM`");
dataBinder.putLocal("ResultCount", "1000");
ServiceResponse response =
m_client.sendRequest(m_userContext, dataBinder);
responseDatabinder = response.getResponseAsBinder();
DataBinder responseData = getSearchResultsServiceCS(queryText);
int Size= responseData.getResultSet("SearchResults").getRows().size();
but its throwing an error-stack trace as follows:
oracle.stellent.ridc.protocol.ServiceException: Unable to retrieve search results. Parsing error at character 9 in query: "( dInDate+%3E%3D+%6001%2F03%2F10+12%3A00+AM%60 )".
at oracle.stellent.ridc.protocol.ServiceResponse.getResponseAsBinder(ServiceResponse.java:125)
at oracle.stellent.ridc.protocol.ServiceResponse.getResponseAsBinder(ServiceResponse.java:101)
I tried to Encode the date using the following line of code :String queryText = URLEncoder.encode("dInDate >= `01/03/10 12:00 AM`",UTF_8); ,but this is also not working ..
Kindly help me out resolve this asap.
TIA....Did you try this
dataBinder.putLocal("QueryText","dInDate *\*>= `01/03/10 12:00 AM`");
Character ">" is not parsed correctly I think. -
Asking about Content Server web service
I have studied Adobe Content Server 4 in evaluation version. I already have finished to setup ACS4 and it
can work with sample shop. But now, my company already have own shop for e-commerce purpose. In order to
integrate my shop to ACS4, I must use web service to get some information from ACS4 for inventory system.
So I have read document many times but still not clear yet. Now I investigate DRM work flow from
"Web Service API Inspector" that provide by ACS4. I write own php script for listing all ebook.
The following is xml request for listing all book in ACS4 that I copied from "Web Service API Inspector".
http://58.97.41.195:8080/admin/ManageResourceItem
<request action="get" auth="builtin" xmlns="http://ns.adobe.com/adept">
<nonce>RQ4nngAAAAI=</nonce>
<expiration>2010-06-17T09:07:22-00:00</expiration>
<hmac>DP502XxihvqWMDwCezAAVdJBkrA=</hmac>
</request>
In the above request I'm very confuse about nonce and hmac value.
- What is none created from ? And do you have any sample code to create nonce value
- In this case, I understand that hmac is created from the following php function
$request = '<request action="get" auth="builtin" xmlns="http://ns.adobe.com/adept">' .
'<nonce>RQ4nngAAAAI=</nonce>' .
'<expiration>2010-06-17T09:07:22-00:00</expiration>' .
'</request>';
$key = 'xxxxx' ; // where xxxxx is password for logging in to the ACS4 admin console
hash_hmac('sha1', $request, $key);
Am I right ?Nonce is a contraction of "Number used only once" and is a standard way to prevent message replay. Nonces must be unique until the time specified in expiration. If the nonce is not unique you will get an E_ADEPT_REPLAY error message.
The signature element is the hmac of a particular infoset serialization of the xml. For examples of this in Java see the sample code for UploadTest et al. If you ask support, they can provide sample serialization in php. Hashing the raw bytes of the message as you did is not correct.
An alternative for your development is to turn off authentication by adding the following line into your admin config file:
com.adobe.adept.persist.skipAuthentication=true
The signature element will still be required, but it doesn't matter what the value is other than it being valid base64 encoding, so you could just use aaaa for example.
However if you do turn off authentication then it is up to you make sure the admin service is secure (by restricting access through vpn/firewall rules or whatever other means you choose)
Maybe you are looking for
-
Dual monitor problem...
I have had my 13 inch macbook connected to my TV with no problems. Recently I unhooked the laptop to travel and when i connected it back to my TV, it only registers as having dual displays. Before I disconnected it, the TV was the only display shown
-
How do I change the order of Bookmarks in Firefox Mobile?
For Firefox Mobile (v4), I can't figure out how to change the order of bookmarks. What am I missing?
-
Dreamweaver 8 Freezing - insert div
Hi. I just installed Dreamweaver 8, and upgraded to 8.02 with the download upgrade. I am on a Mac G4, using Tiger. I am using Dave Powers Foundation PHP for Dreamweaver 8 and am at the point of creating a new page. Using the "insert div" icon I was a
-
Installing 3rd party application in Portal
Hi, We are running on NW Portal 7.0. Presnetly I have one req to install one Java application in Portal. I got a war file from the developer. now the problem here is the developer used mysql database to do the coding. Now we want to use SQL server200
-
Recently my original power adapter quit charging. I tried another and it didn't charge my ipad either. Thinking it may be something stupid I headed to Walmart and bought another Apple adapter. It is charging very slowly (like 40% on about 8 hours)