Nfs4-utils-1.1.2 does not compile against heimdal-1.2.1

Hi,
ive changed (for testing purpose only of course) the gssapi_krb5.h from heimdal against: /opt/mit-krb5/include/gssapi/gssapi_krb5.h. nfs4-utils compile fine after this.
so one solution would be to change heimdal to provide kerberos and do the same with mit-krb5 from aur which would offer the user a choice and allow the usage of nfs4.
the heimdal mailing list seems to be dead anyway.
but for this solution to work some packages need to change their deps, for example on my system:
pacman -R heimdal
checking dependencies...
error: failed to prepare transaction (could not satisfy dependencies)
:: evolution-data-server: requires heimdal>=1.2
:: gnome-vfs: requires heimdal>=1.2
:: gtk2: requires heimdal>=1.2
:: imagemagick: requires heimdal>=1.2.1
:: libcups: requires heimdal>=1.2
:: neon: requires heimdal>=1.2.1
:: openssh: requires heimdal>=1.2-1
:: pam-krb5: requires heimdal>=1.2
:: smbclient: requires heimdal>=1.2-1
any other ideas?

Hi metalfan,
     i'm using a nfs4-utils ver. 1.1.4 build and modified by me and i'd like to share my solution to this problem in the hope that you can find it useful. About the impossibility to build nfs-utils (and the needed package 'librpcsecgss') against heimdal it's because the implemetation of gssapi in libgssglue conflicts with heimdal.
In gentoo Bryan Jacobs has produced a patch to nfs-utils/librpcsecgss that allow these packages to compile against heimdal without the gssapi intermediate library 'libgssglue' (in this way all that is needed for gssapi is provided by heimdal).
The nfs4-utils and librpcsecgss packages in AUR are orphans and I don't know how to load my librpcsecgss.tar.gz and nfs4-utils.tar.gz in order to share them so, following in this post, I attached all the code and any reference I have about this problem but if you want I can send to you my tar.gz arch packages.
Sorry for the long post...
bye
All you have to do is first build and install the package 'librpcsecgss' with dep on 'heimdal' instead of 'libgssglue' applying the patch that you can find in http://bugs.gentoo.org/show_bug.cgi?id=231395
patch: librpcsecgss-0.18-heimdal.patch
diff -NaurwB librpcsecgss-0.18.orig/configure.in librpcsecgss-0.18/configure.in
--- librpcsecgss-0.18.orig/configure.in 2008-04-09 00:05:40.000000000 +0200
+++ librpcsecgss-0.18/configure.in 2008-06-12 19:05:51.000000000 +0200
@@ -12,10 +12,15 @@
AC_PROG_RANLIB
# Checks for libraries.
-PKG_CHECK_MODULES([GSSGLUE], [libgssglue >= 0.1], [],
+PKG_CHECK_MODULES([GSSGLUE], [libgssglue >= 0.1],
+ [echo GSSGLUE found; GSSAPI_IMPLEMENTATION=libgssglue],
+ [PKG_CHECK_MODULES([GSSGLUE], [heimdal-gssapi],
+ [echo HEIMDAL found; GSSAPI_IMPLEMENTATION=heimdal-gssapi],
[AC_MSG_ERROR([Unable to locate information required to use libgssglue.
If you have pkgconfig installed, you might try setting environment
- variable PKG_CONFIG_PATH to /usr/local/lib/pkgconfig])])
+ variable PKG_CONFIG_PATH to /usr/local/lib/pkgconfig])])])
+
+AC_SUBST([GSSAPI_IMPLEMENTATION])
# Checks for header files.
AC_HEADER_STDC
diff -NaurwB librpcsecgss-0.18.orig/librpcsecgss.pc.in librpcsecgss-0.18/librpcsecgss.pc.in
--- librpcsecgss-0.18.orig/librpcsecgss.pc.in 2007-09-06 17:39:04.000000000 +0200
+++ librpcsecgss-0.18/librpcsecgss.pc.in 2008-06-12 19:06:40.000000000 +0200
@@ -5,7 +5,7 @@
Name: librpcsecgss
Description: Library that implements rpcsec_gss interface.
-Requires: libgssglue
+Requires: @GSSAPI_IMPLEMENTATION@
Version: @PACKAGE_VERSION@
Libs: -L@libdir@ -lrpcsecgss
Cflags: -I@includedir@/rpcsecgss
The PKGBUILD I used is:
# $Id: PKGBUILD,v 1.43 2007/09/23 07:37:00 tom Exp $
# Maintainer: Andrew Krawchyk <[email protected]>
# Contributor: Marco Lima <[email protected]>
pkgname=librpcsecgss
pkgver=0.18
pkgrel=2
pkgdesc="Library for RPCSECGSS support"
arch=('i686' 'x86_64')
url="http://www.citi.umich.edu/projects/nfsv4/linux/"
license=('GPL')
depends=('glibc' 'tcp_wrappers' 'libevent>=1.3d' 'heimdal>=1.2-1')
source=("http://www.citi.umich.edu/projects/nfsv4/linux/$pkgname/$pkgname-$pkgver.tar.gz"
"librpcsecgss-0.18-heimdal.patch")
md5sums=('f2c4a69c5a32f62b762a569b8d962156'
'0cfe088551d5776f5bc08c1741a34346')
build() {
cd "$srcdir/$pkgname-$pkgver"
# Patch from gentoo for heimdal compatibility Bug #231395
# http://bugs.gentoo.org/show_bug.cgi?id=231395
patch -Np1 -i ../librpcsecgss-0.18-heimdal.patch || return 1
rm -f config.guess config.sub ltmain.sh
autoreconf -i
GSSAPI_CFLAGS='-I/usr/include/gssapi' \
./configure \
--prefix=/usr \
--sysconfdir=/etc \
--mandir=/usr/share/man \
--infodir=/usr/share/info
make || return 1
make DESTDIR="$pkgdir/" install || return 1
Then you need to build the package 'nfs4-utils' with dep only on 'librpcsecgss' (remove 'libgssglue'... as said the gssapi is provided by heimdal); to build the package you need the patches that you can find in http://bugs.gentoo.org/show_bug.cgi?id=231396
patch: nfs-utils-1.1.2-kerberos-ac.patch
diff -NaurwB nfs-utils-1.1.2.orig/aclocal/kerberos5.m4 nfs-utils-1.1.2/aclocal/kerberos5.m4
--- nfs-utils-1.1.2.orig/aclocal/kerberos5.m4 2008-03-14 16:46:29.000000000 +0100
+++ nfs-utils-1.1.2/aclocal/kerberos5.m4 2008-06-12 17:13:51.000000000 +0200
@@ -1,112 +1,48 @@
-dnl Checks for Kerberos
-dnl NOTE: while we intend to do generic gss-api, currently we
-dnl have a requirement to get an initial Kerberos machine
-dnl credential. Thus, the requirement for Kerberos.
-dnl The Kerberos gssapi library will be dynamically loaded?
AC_DEFUN([AC_KERBEROS_V5],[
+ K5CONFIG="krb5-config"
AC_MSG_CHECKING(for Kerberos v5)
- AC_ARG_WITH(krb5,
- [AC_HELP_STRING([--with-krb5=DIR], [use Kerberos v5 installation in DIR])],
+ AC_ARG_WITH(krb5-config,
+ [AC_HELP_STRING([--with-krb5-config=PATH], [Full Path to krb5-config.])],
[ case "$withval" in
yes|no)
- krb5_with=""
+ K5CONFIG="krb5-config"
- krb5_with="$withval"
+ K5CONFIG="$withval"
esac ]
- for dir in $krb5_with /usr /usr/kerberos /usr/local /usr/local/krb5 \
- /usr/krb5 /usr/heimdal /usr/local/heimdal /usr/athena ; do
- dnl This ugly hack brought on by the split installation of
- dnl MIT Kerberos on Fedora Core 1
- K5CONFIG=""
- if test -f $dir/bin/krb5-config; then
- K5CONFIG=$dir/bin/krb5-config
- elif test -f "/usr/kerberos/bin/krb5-config"; then
- K5CONFIG="/usr/kerberos/bin/krb5-config"
- elif test -f "/usr/lib/mit/bin/krb5-config"; then
- K5CONFIG="/usr/lib/mit/bin/krb5-config"
- fi
if test "$K5CONFIG" != ""; then
KRBCFLAGS=`$K5CONFIG --cflags`
KRBLIBS=`$K5CONFIG --libs gssapi`
- K5VERS=`$K5CONFIG --version | head -n 1 | awk '{split($(4),v,"."); if (v@<:@"3"@:>@ == "") v@<:@"3"@:>@ = "0"; print v@<:@"1"@:>@v@<:@"2"@:>@v@<:@"3"@:>@ }'`
- AC_DEFINE_UNQUOTED(KRB5_VERSION, $K5VERS, [Define this as the Kerberos version number])
- if test -f $dir/include/gssapi/gssapi_krb5.h -a \
- \( -f $dir/lib/libgssapi_krb5.a -o \
- -f $dir/lib64/libgssapi_krb5.a -o \
- -f $dir/lib64/libgssapi_krb5.so -o \
- -f $dir/lib/libgssapi_krb5.so \) ; then
+ if $K5CONFIG --version | grep -q -e heimdal; then
+ K5VERS=`$K5CONFIG --version | head -n 1 | cut -f2 -d ' ' | tr -d '.'`
+ AC_DEFINE(HAVE_HEIMDAL, 1, [Define this if you have Heimdal Kerberos libraries])
+ gssapi_lib=gssapi
+ KRBIMPL="heimdal"
+ elif $K5CONFIG --version | grep -q -e mit; then
+ K5VERS=`$K5CONFIG --version | head -n 1 | cut -f4 -d ' ' | tr -d '.'`
AC_DEFINE(HAVE_KRB5, 1, [Define this if you have MIT Kerberos libraries])
- KRBDIR="$dir"
- dnl If we are using MIT K5 1.3.1 and before, we *MUST* use the
- dnl private function (gss_krb5_ccache_name) to get correct
- dnl behavior of changing the ccache used by gssapi.
- dnl Starting in 1.3.2, we *DO NOT* want to use
- dnl gss_krb5_ccache_name, instead we want to set KRB5CCNAME
- dnl to get gssapi to use a different ccache
if test $K5VERS -le 131; then
AC_DEFINE(USE_GSS_KRB5_CCACHE_NAME, 1, [Define this if the private function, gss_krb5_cache_name, must be used to tell the Kerberos library which credentials cache to use. Otherwise, this is done by setting the KRB5CCNAME environment variable])
fi
gssapi_lib=gssapi_krb5
- break
- dnl The following ugly hack brought on by the split installation
- dnl of Heimdal Kerberos on SuSe
- elif test \( -f $dir/include/heim_err.h -o\
- -f $dir/include/heimdal/heim_err.h \) -a \
- -f $dir/lib/libroken.a; then
- AC_DEFINE(HAVE_HEIMDAL, 1, [Define this if you have Heimdal Kerberos libraries])
- KRBDIR="$dir"
- gssapi_lib=gssapi
- break
- fi
- fi
- done
- dnl We didn't find a usable Kerberos environment
- if test "x$KRBDIR" = "x"; then
- if test "x$krb5_with" = "x"; then
- AC_MSG_ERROR(Kerberos v5 with GSS support not found: consider --disable-gss or --with-krb5=)
+ KRBIMPL="mit-krb5"
else
- AC_MSG_ERROR(Kerberos v5 with GSS support not found at $krb5_with)
- fi
+ AC_MSG_ERROR(Unknown Kerberos 5 Implementation. Is neither heimdal or mit-krb5.)
+ KRBIMPL="unknown"
fi
- AC_MSG_RESULT($KRBDIR)
- dnl Check if -rpath=$(KRBDIR)/lib is needed
- echo "The current KRBDIR is $KRBDIR"
- if test "$KRBDIR/lib" = "/lib" -o "$KRBDIR/lib" = "/usr/lib" \
- -o "$KRBDIR/lib" = "//lib" -o "$KRBDIR/lib" = "/usr//lib" ; then
- KRBLDFLAGS="";
- elif /sbin/ldconfig -p | grep > /dev/null "=> $KRBDIR/lib/"; then
- KRBLDFLAGS="";
- else
- KRBLDFLAGS="-Wl,-rpath=$KRBDIR/lib"
+ AC_DEFINE_UNQUOTED(KRB5_VERSION, $K5VERS, [Define this as the Kerberos version number])
fi
+ AC_MSG_RESULT($KRBIMPL)
- dnl Now check for functions within gssapi library
- AC_CHECK_LIB($gssapi_lib, gss_krb5_export_lucid_sec_context,
- AC_DEFINE(HAVE_LUCID_CONTEXT_SUPPORT, 1, [Define this if the Kerberos GSS library supports gss_krb5_export_lucid_sec_context]), ,$KRBLIBS)
- AC_CHECK_LIB($gssapi_lib, gss_krb5_set_allowable_enctypes,
- AC_DEFINE(HAVE_SET_ALLOWABLE_ENCTYPES, 1, [Define this if the Kerberos GSS library supports gss_krb5_set_allowable_enctypes]), ,$KRBLIBS)
- AC_CHECK_LIB($gssapi_lib, gss_krb5_ccache_name,
- AC_DEFINE(HAVE_GSS_KRB5_CCACHE_NAME, 1, [Define this if the Kerberos GSS library supports gss_krb5_ccache_name]), ,$KRBLIBS)
- dnl Check for newer error message facility
- AC_CHECK_LIB($gssapi_lib, krb5_get_error_message,
- AC_DEFINE(HAVE_KRB5_GET_ERROR_MESSAGE, 1, [Define this if the function krb5_get_error_message is available]), ,$KRBLIBS)
+ AC_CHECK_LIB($gssapi_lib, gss_krb5_export_lucid_sec_context, AC_DEFINE(HAVE_LUCID_CONTEXT_SUPPORT, 1, [Define this if the Kerberos GSS library supports gss_krb5_export_lucid_sec_context]), ,$KRBLIBS)
+ AC_CHECK_LIB($gssapi_lib, gss_krb5_set_allowable_enctypes, AC_DEFINE(HAVE_SET_ALLOWABLE_ENCTYPES, 1, [Define this if the Kerberos GSS library supports gss_krb5_set_allowable_enctypes]), ,$KRBLIBS)
+ AC_CHECK_LIB($gssapi_lib, gss_krb5_ccache_name, AC_DEFINE(HAVE_GSS_KRB5_CCACHE_NAME, 1, [Define this if the Kerberos GSS library supports gss_krb5_ccache_name]), ,$KRBLIBS)
+ AC_CHECK_LIB($gssapi_lib, krb5_get_error_message, AC_DEFINE(HAVE_KRB5_GET_ERROR_MESSAGE, 1, [Define this if the function krb5_get_error_message is available]), ,$KRBLIBS)
+ AC_CHECK_LIB($gssapi_lib, krb5_get_init_creds_opt_set_addressless, AC_DEFINE(HAVE_KRB5_GET_INIT_CREDS_OPT_SET_ADDRESSLESS, 1, [Define this if the function krb5_get_init_creds_opt_set_addressless is available]), ,$KRBLIBS)
- dnl Check for function to specify addressless tickets
- AC_CHECK_LIB($gssapi_lib, krb5_get_init_creds_opt_set_addressless,
- AC_DEFINE(HAVE_KRB5_GET_INIT_CREDS_OPT_SET_ADDRESSLESS, 1, [Define this if the function krb5_get_init_creds_opt_set_addressless is available]), ,$KRBLIBS)
- dnl If they specified a directory and it didn't work, give them a warning
- if test "x$krb5_with" != "x" -a "$krb5_with" != "$KRBDIR"; then
- AC_MSG_WARN(Using $KRBDIR instead of requested value of $krb5_with for Kerberos!)
- fi
- AC_SUBST([KRBDIR])
AC_SUBST([KRBLIBS])
AC_SUBST([KRBCFLAGS])
AC_SUBST([KRBLDFLAGS])
patch: nfs-utils-1.1.2-no_libgssapi.patch
Index: nfs-utils-1.1.0/utils/gssd/context_lucid.c
===================================================================
--- nfs-utils-1.1.0.orig/utils/gssd/context_lucid.c
+++ nfs-utils-1.1.0/utils/gssd/context_lucid.c
@@ -48,8 +48,10 @@
#include <krb5.h>
#include <gssapi/gssapi.h>
#ifndef OM_uint64
+#ifndef GSSAPI_GSSAPI_H_
typedef uint64_t OM_uint64;
#endif
+#endif
#include <gssapi/gssapi_krb5.h>
static int
@@ -171,10 +173,10 @@ serialize_krb5_ctx(gss_ctx_id_t ctx, gss
int retcode = 0;
printerr(2, "DEBUG: serialize_krb5_ctx: lucid version!\n");
- maj_stat = gss_export_lucid_sec_context(&min_stat, &ctx,
+ maj_stat = gss_krb5_export_lucid_sec_context(&min_stat, &ctx,
1, &return_ctx);
if (maj_stat != GSS_S_COMPLETE) {
- pgsserr("gss_export_lucid_sec_context",
+ pgsserr("gss_krb5_export_lucid_sec_context",
maj_stat, min_stat, &krb5oid);
goto out_err;
@@ -198,9 +200,9 @@ serialize_krb5_ctx(gss_ctx_id_t ctx, gss
else
retcode = prepare_krb5_rfc_cfx_buffer(lctx, buf);
- maj_stat = gss_free_lucid_sec_context(&min_stat, ctx, return_ctx);
+ maj_stat = gss_krb5_free_lucid_sec_context(&min_stat, ctx);
if (maj_stat != GSS_S_COMPLETE) {
- pgsserr("gss_export_lucid_sec_context",
+ pgsserr("gss_krb5_export_lucid_sec_context",
maj_stat, min_stat, &krb5oid);
printerr(0, "WARN: failed to free lucid sec context\n");
Index: nfs-utils-1.1.0/utils/gssd/krb5_util.c
===================================================================
--- nfs-utils-1.1.0.orig/utils/gssd/krb5_util.c
+++ nfs-utils-1.1.0/utils/gssd/krb5_util.c
@@ -294,10 +294,10 @@ limit_krb5_enctypes(struct rpc_gss_sec *
return -1;
- maj_stat = gss_set_allowable_enctypes(&min_stat, credh, &krb5oid,
+ maj_stat = gss_krb5_set_allowable_enctypes(&min_stat, credh,
num_enctypes, &enctypes);
if (maj_stat != GSS_S_COMPLETE) {
- pgsserr("gss_set_allowable_enctypes",
+ pgsserr("gss_krb5_set_allowable_enctypes",
maj_stat, min_stat, &krb5oid);
gss_release_cred(&min_stat, &credh);
return -1;
patch: nfs-utils-1.1.2-pkgconfig_ac.patch
--- configure.ac 2008-03-14 15:46:29.000000000 +0000
+++ configure.ac 2008-05-03 10:30:21.000000000 +0000
@@ -185,7 +185,7 @@
[AC_MSG_ERROR([Unable to locate information required to use librpcsecgss. If you have pkgconfig installed, you might try setting environment variable PKG_CONFIG_PATH to /usr/local/lib/pkgconfig])
- PKG_CHECK_MODULES(GSSGLUE, libgssglue >= 0.1)
+ PKG_CHECK_MODULES(GSSGLUE, libgssglue >= 0.1, , [PKG_CHECK_MODULES(GSSGLUE, heimdal-gssapi)])
fi
fi
@@ -228,9 +228,9 @@
dnl This is not done until here because we need to have KRBLIBS set
dnl ("librpcsecgss=1" is so that it doesn't get added to LIBS)
- AC_CHECK_LIB(rpcsecgss, authgss_create_default, [librpcsecgss=1], AC_MSG_ERROR([librpcsecgss needed for nfsv4 support]), -lgssglue -ldl)
+ AC_CHECK_LIB(rpcsecgss, authgss_create_default, [librpcsecgss=1], AC_MSG_ERROR([librpcsecgss needed for nfsv4 support]), $GSSGLUE_CFLAGS)
AC_CHECK_LIB(rpcsecgss, authgss_set_debug_level,
- AC_DEFINE(HAVE_AUTHGSS_SET_DEBUG_LEVEL, 1, [Define this if the rpcsec_gss library has the function authgss_set_debug_level]),, -lgssglue -ldl)
+ AC_DEFINE(HAVE_AUTHGSS_SET_DEBUG_LEVEL, 1, [Define this if the rpcsec_gss library has the function authgss_set_debug_level]),, $GSSGLUE_CFLAGS)
fi
patch: nfs-utils-1.1.4-heimdal_functions.patch
diff -Naur nfs-utils-1.1.4/utils/gssd/krb5_util.c nfs-utils-1.1.4-r1/utils/gssd/krb5_util.c
--- utils/gssd/krb5_util.c 2008-10-17 14:20:09.000000000 +0000
+++ utils/gssd/krb5_util.c 2008-11-22 13:52:42.000000000 +0000
@@ -927,9 +927,37 @@
krb5_error_code ret;
krb5_creds creds;
- krb5_cc_cursor cur;
int found = 0;
+#ifdef HAVE_HEIMDAL
+ krb5_creds pattern;
+ krb5_realm *client_realm;
+
+ krb5_cc_clear_mcred(&pattern);
+
+ client_realm = krb5_princ_realm (context, principal);
+
+ ret = krb5_make_principal (context, &pattern.server,
+ *client_realm, KRB5_TGS_NAME, *client_realm,
+ NULL);
+ if (ret)
+ krb5_err (context, 1, ret, "krb5_make_principal");
+ pattern.client = principal;
+
+ ret = krb5_cc_retrieve_cred (context, ccache, 0, &pattern, &creds);
+ krb5_free_principal (context, pattern.server);
+ if (ret) {
+ if (ret == KRB5_CC_END)
+ return 1;
+ krb5_err (context, 1, ret, "krb5_cc_retrieve_cred");
+ }
+
+ found = creds.times.endtime > time(NULL);
+
+ krb5_free_cred_contents (context, &creds);
+#else
+ krb5_cc_cursor cur;
+
ret = krb5_cc_start_seq_get(context, ccache, &cur);
if (ret)
return 0;
@@ -949,6 +977,7 @@
krb5_free_cred_contents(context, &creds);
krb5_cc_end_seq_get(context, ccache, &cur);
+#endif
return found;
@@ -995,6 +1024,9 @@
krb5_free_principal(context, principal);
err_princ:
+#ifdef HAVE_HEIMDAL
+#define KRB5_TC_OPENCLOSE 0x00000001
+#endif
krb5_cc_set_flags(context, ccache, KRB5_TC_OPENCLOSE);
krb5_cc_close(context, ccache);
err_cache:
The PKGBUILD I used is the follow. As you can see I changed the rc.d scripts to have only two scripts to do the job (client side and server side) to start the nfsd and related/needed daemons and take care to load and mount modules and filesystems needed but you can watch only at the use of the patch and reconfiguration before the configure/make step and use for the rest of the package the usual arch scripts.
# Maintainer: abelstr <[email protected]>
# Contributor: Marco Lima <[email protected]>
pkgname=nfs4-utils
_realname=nfs-utils
pkgver=1.1.4
pkgrel=3
pkgdesc="Support programs for Network File Systems"
arch=('i686' 'x86_64')
url="http://nfs.sourceforge.net"
license=('GPL')
depends=('glibc' 'tcp_wrappers' 'e2fsprogs' 'portmap' 'nfsidmap' 'librpcsecgss')
replaces=('nfs-utils')
provides=('nfs-utils')
backup=(etc/{exports,gssapi_mech.conf,idmapd.conf} etc/conf.d/{nfs-common.conf,nfs-server.conf})
install="$_realname.install"
options=('docs')
source=("http://garr.dl.sourceforge.net/sourceforge/nfs/$_realname-$pkgver.tar.bz2"
nfs-common
nfs-common.conf
nfs-server
nfs-server.conf
exports
start-statd.patch
idmapd.conf
gssapi_mech.conf
nfs-utils-1.1.2-kerberos-ac.patch
nfs-utils-1.1.2-no_libgssapi.patch
nfs-utils-1.1.2-pkgconfig_ac.patch
nfs-utils-1.1.4-heimdal_functions.patch)
md5sums=('3ed5b9cb73fd1c9b358c7bfa7a6ae150'
'3fa8ad66f434e8277e7a82c7c699ce46'
'a05e6e91307af37e7bd612b356bd0b6a'
'1852b84523c74e02831b60dcc5739f7a'
'1c6c755fcfef4e5e19ee7414d3020269'
'ff585faf410a62c4333a027c50b56bae'
'11f6c229108c223dc5fe849d11aecaf3'
'64eaa20ea49e324e5a72858f104a61eb'
'234b9cca75a33af98eda3f1683756879'
'f3be115d392d9f9bb0f056e8d4341a14'
'de30683636eda26421e58937a784b123'
'd07c449358eeb254850975add54bcff2'
'959a81d86da677d42e76b597656171a2')
build() {
cd "$srcdir/$_realname-$pkgver"
# Patches from gentoo for heimdal compatibility Bug 231396
# http://bugs.gentoo.org/show_bug.cgi?id=231396
patch -Np1 -i ../nfs-utils-1.1.2-kerberos-ac.patch || return 1
patch -Np0 -i ../nfs-utils-1.1.2-pkgconfig_ac.patch || return 1
patch -Np1 -i ../nfs-utils-1.1.2-no_libgssapi.patch || return 1
patch -Np0 -i ../nfs-utils-1.1.4-heimdal_functions.patch || return 1
rm -f config.guess config.sub ltmain.sh
autoreconf -i
export GSSAPI_CFLAGS='-I/usr/include/gssapi'
export GSSAPI_LIBS='-lgssapi -ldl'
patch -Np0 -i ../start-statd.patch || return 1
./configure \
--prefix=/usr \
--sysconfdir=/etc \
--with-statedir=/var/lib/nfs \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--enable-nfsv3 \
--enable-nfsv4 \
--enable-gss \
--with-tcp-wrappers || return 1
make || return 1
make DESTDIR="$pkgdir/" install || return 1
# NFS & NFSv4 init scripts
install -D -m 755 ../nfs-common "$pkgdir/"etc/rc.d/nfs-common
install -D -m 755 ../nfs-server "$pkgdir/"etc/rc.d/nfs-server
# Configuration
install -D -m 644 ../exports "$pkgdir/"etc/exports
install -D -m 644 ../idmapd.conf "$pkgdir/"etc/idmapd.conf
install -D -m 644 ../gssapi_mech.conf "$pkgdir/"etc/gssapi_mech.conf
install -D -m 644 ../nfs-common.conf "$pkgdir/"etc/conf.d/nfs-common.conf
install -D -m 644 ../nfs-server.conf "$pkgdir/"etc/conf.d/nfs-server.conf
# directories
mkdir "$pkgdir/"var/lib/nfs/rpc_pipefs
mkdir "$pkgdir/"var/lib/nfs/v4recovery
# copy docs
install -m 755 -d "$pkgdir/"usr/share/doc/$pkgname || return 1
install -m 644 -t "$pkgdir/"usr/share/doc/$pkgname AUTHORS ChangeLog INSTALL \
NEWS README || return 1
idmapd.conf
[General]
Verbosity = 0
Pipefs-Directory = /var/lib/nfs/rpc_pipefs
Domain = localdomain
[Mapping]
Nobody-User = nobody
Nobody-Group = nogroup
[Translation]
Method = nsswitch
gssapi_mech.conf
# Example /etc/gssapi_mech.conf file
# GSSAPI Mechanism Definitions
# This configuration file determines which GSS-API mechanisms
# the gssd code should use
# NOTE:
# The initiaiization function "mechglue_internal_krb5_init"
# is used for the MIT krb5 gssapi mechanism. This special
# function name indicates that an internal function should
# be used to determine the entry points for the MIT gssapi
# mechanism funtions.
# library initialization function
# ================================ ==========================
# The MIT K5 gssapi library, use special function for initialization.
#/usr/lib/libgssapi_krb5.so mechglue_internal_krb5_init
/usr/lib/libgssapi.so mechglue_internal_krb5_init
# The SPKM3 gssapi library function. Use the function spkm3_gss_initialize.
# /usr/local/gss_mechs/spkm/spkm3/libgssapi_spkm3.so spkm3_gss_initialize
exports
# /etc/exports
# List of directories exported to NFS clients. See exports(5).
# Use exportfs -arv to reread.
# Example for NFSv2 and NFSv3:
# /srv/home hostname1(rw,sync) hostname2(ro,sync)
# Example for NFSv4:
# /srv/nfs4 hostname1(rw,sync,fsid=0)
# /srv/nfs4/home hostname1(rw,sync,nohide)
# Using Kerberos and integrity checking:
# /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt)
# /srv/nfs4/home gss/krb5i(rw,sync,nohide)
start-statd.patch
--- utils/statd/start-statd 2008-10-17 16:20:09.000000000 +0200
+++ utils/statd/start-statd.new 2008-12-06 11:43:12.000000000 +0100
@@ -1,9 +1,16 @@
#!/bin/sh
+
+# Original script provided by the NFS project
+# Modified for Arch Linux by Tom Killian
+
# nfsmount calls this script when mounting a filesystem with locking
# enabled, but when statd does not seem to be running (based on
# /var/run/rpc.statd.pid).
# It should run run statd with whatever flags are apropriate for this
# site.
-PATH=/sbin:/usr/sbin
-exec rpc.statd --no-notify
+
+# source application-specific settings
+[ -f /etc/conf.d/nfs-common.conf ] && . /etc/conf.d/nfs-common.conf
+
+exec /usr/sbin/rpc.statd $STATD_OPTS
nfs-utils.install
## arg 1: the new package version
post_install() {
cat << 'EOM'
==>
==> PLEASE NOTE:
==> Extended configuration options for NFS (clients & server) are available in
==> /etc/conf.d/nfs-common.conf and in /etc/conf.d/nfs-server.conf
==>
==> Please refer to http://wiki.archlinux.org/index.php/Nfs
==> for further information on NFS; for NFSv4, refer to
==> http://wiki.archlinux.org/index.php/NFSv4
==> Also, if you plan on using NFSv4, in /etc/conf.d/nfs-common.conf set:
==> 1) NEED_IDMAPD="yes" to start rpc.idmapd - on clients & server.
==> rpc.idmapd needs to be properly configured; edit at least the
==> daemon line in /etc/idmapd.conf.
==> 2) NEED_GSSD="yes" to start rpc.gssd (GSS authentication) - only on clients.
==> 3) Add "rpc_pipefs /var/lib/nfs/rpc_pipefs rpc_pipefs 0 0" to /etc/fstab.
==> If not mounted when the init script nfs-common starts it tries to mount the
==> filesystem automatically (if rpc.idmapd or rpc.gssd is needed);
==> see /etc/conf.d/nfs-common.conf for extended configuration options.
==> in /etc/conf.d/nfs-server.conf (only server) set:
==> 1) add "nfsd /proc/fs/nfsd nfsd -o rw,nodev,noexec,nosuid 0 0" to /etc/fstab.
==> If not mounted when the init script nfs-server starts it tries to mount the
==> filesystem automatically; see /etc/conf.d/nfs-server.conf for extended
==> configuration options.
==> 2) NEED_SVCGSSD="yes" to start rpc.svcgssd (GSS authentication) - on server
EOM
## arg 1: the new package version
## arg 2: the old package version
post_upgrade() {
post_install $1
nfs-server.conf
# Parameters to be passed to nfs-server init script.
# Options to pass to rpc.nfsd.
NFSD_OPTS=
# Number of servers to start up; the default is 8 servers.
NFSD_COUNT=
# Where to mount nfsd filesystem; the default is "/proc/fs/nfsd".
PROCNFSD_MOUNTPOINT=
# Options used to mount nfsd filesystem; the default is "rw,nodev,noexec,nosuid".
PROCNFSD_MOUNTOPTS=
# Options for rpc.mountd.
# If you have a port-based firewall, you might want to set up
# a fixed port here using the --port option. For more information,
# see rpc.mountd(8)
MOUNTD_OPTS="--no-nfs-version 1 --no-nfs-version 2"
# Do you want to start the svcgssd daemon? It is only required for Kerberos
# exports. Valid alternatives are "yes" and "no"; the default is "no".
NEED_SVCGSSD=
# Options to pass to rpc.svcgssd.
SVCGSSD_OPTS=
nfs-server
#!/bin/bash
daemon_name=nfs-server
NFSD_COUNT=
NFSD_OPTS=
NEED_SVCGSSD=
SVCGSSD_OPTS=
MOUNTD_OPTS=
PROCNFSD_MOUNTPOINT=
PROCNFSD_MOUNTOPTS=
# rpc.nfsd daemon & binary location
NFSD_PROCESS_NAME=nfsd
NFSD_DAEMON_NAME=rpc.nfsd
NFSD="/usr/sbin/rpc.nfsd"
# rpc.svcgssd daemon & binary location
SVCGSSD_DAEMON_NAME=rpc.svcgssd
SVCGSSD="/usr/sbin/rpc.svcgssd"
# rpc.idmapd daemon & binary location
IDMAPD_DAEMON_NAME=rpc.idmapd
IDMAPD="/usr/sbin/rpc.idmapd"
# rpc.mountd daemon & binary location
MOUNTD_DAEMON_NAME=rpc.mountd
MOUNTD="/usr/sbin/rpc.mountd"
# exortfs binary location
EXPORTFS="/usr/sbin/exportfs"
. /etc/rc.conf
. /etc/rc.d/functions
. /etc/conf.d/$daemon_name.conf
# Default number of nfsd servers
[ -z "$NFSD_COUNT" ] && NFSD_COUNT=8
# Default mountpoint and options for nfsd filesystem
[ -z "$PROCNFSD_MOUNTPOINT" ] && PROCNFSD_MOUNTPOINT="/proc/fs/nfsd"
[ -z "$PROCNFSD_MOUNTOPTS" ] && PROCNFSD_MOUNTOPTS="rw,nodev,noexec,nosuid"
case "$NEED_SVCGSSD" in
yes|no)
NEED_SVCGSSD=no
esac
do_modprobe() {
if [ -x /sbin/modprobe -a -f /proc/modules ]; then
modprobe -q "$1" || true
fi
do_mount() {
if ! grep -E "$1\$" /proc/filesystems &> /dev/null ; then
return 1
fi
if grep -vw "$1" /proc/mounts &> /dev/null ; then
if ! mountpoint -q "$2" ; then
mount -t "$1" "$1" "$2" -o "$3"
return
fi
fi
return 0
do_umount() {
if mountpoint -q "$1" ; then
umount "$1"
fi
return 0
get_pid() {
pidof -o %PPID "$1"
case "$1" in
start)
rc=0
stat_busy "Mounting nfsd filesystem"
do_modprobe nfsd
do_mount nfsd "$PROCNFSD_MOUNTPOINT" "$PROCNFSD_MOUNTOPTS"
rc=$(($rc+$?))
if [ $rc -gt 0 ]; then
stat_fail
exit $rc
else
stat_done
fi
stat_busy "Exporting all directories"
$EXPORTFS -r
rc=$(($rc+$?))
if [ $rc -gt 0 ]; then
stat_fail
exit $rc
else
stat_done
fi
stat_busy "Starting $NFSD_DAEMON_NAME daemon"
PID=$(get_pid $NFSD_PROCESS_NAME)
if [ -z "$PID" ]; then
[ -f /var/run/$NFSD_DAEMON_NAME.pid ] && rm -f /var/run/$NFSD_DAEMON_NAME.pid
# RUN
$NFSD $NFSD_OPTS $NFSD_COUNT
rc=$(($rc+$?))
if [ $rc -gt 0 ]; then
stat_fail
exit $rc
else
echo $(get_pid $NFSD_PROCESS_NAME) > /var/run/$NFSD_DAEMON_NAME.pid
stat_done
fi
else
stat_fail
exit 1
fi
if [ "$NEED_SVCGSSD" = yes ]; then
stat_busy "Starting $SVCGSSD_DAEMON_NAME daemon"
PID=$(get_pid $SVCGSSD)
if [ -z "$PID" ]; then
[ -f /var/run/$SVCGSSD_DAEMON_NAME.pid ] && rm -f /var/run/$SVCGSSD_DAEMON_NAME.pid
# RUN
$SVCGSSD $SVCGSSD_OPTS
rc=$(($rc+$?))
if [ $rc -gt 0 ]; then
stat_fail
exit $rc
else
echo $(get_pid $SVCGSSD) > /var/run/$SVCGSSD_DAEMON_NAME.pid
stat_done
fi
else
stat_fail
exit 1
fi
fi
PID=$(get_pid $IDMAPD)
[ ! -z "$PID" ] && kill -SIGHUP $IDMAPD_DAEMON_NAME &> /dev/null
stat_busy "Starting $MOUNTD_DAEMON_NAME daemon"
PID=$(get_pid $MOUNTD)
if [ -z "$PID" ]; then
[ -f /var/run/$MOUNTD_DAEMON_NAME.pid ] && rm -f /var/run/$MOUNTD_DAEMON_NAME.pid
# RUN
$MOUNTD $MOUNTD_OPTS
rc=$(($rc+$?))
if [ $rc -gt 0 ]; then
stat_fail
exit $rc
else
echo $(get_pid $MOUNTD) > /var/run/$MOUNTD_DAEMON_NAME.pid
stat_done
fi
else
stat_fail
exit 1
fi
add_daemon $daemon_name
stop)
rc=0
stat_busy "Stopping $MOUNTD_DAEMON_NAME daemon"
PID=$(get_pid $MOUNTD)
# KILL
[ ! -z "$PID" ] && kill $PID &> /dev/null
rc=$(($rc+$?))
if [ $rc -gt 0 ]; then
stat_fail
exit $rc
else
rm -f /var/run/$MOUNTD_DAEMON_NAME.pid &> /dev/null
stat_done
fi
if [ "$NEED_SVCGSSD" = yes ]; then
stat_busy "Stopping $SVCGSSD_DAEMON_NAME daemon"
PID=$(get_pid $SVCGSSD)
# KILL
[ ! -z "$PID" ] && kill $PID &> /dev/null
rc=$(($rc+$?))
if [ $rc -gt 0 ]; then
stat_fail
exit $rc
else
rm -f /var/run/$SVCGSSD_DAEMON_NAME.pid &> /dev/null
stat_done
fi
fi
stat_busy "Stopping $NFSD_DAEMON_NAME daemon"
PID=$(get_pid $NFSD_PROCESS_NAME)
# KILL (SIGINT)
[ ! -z "$PID" ] && kill -2 $PID &> /dev/null
rc=$(($rc+$?))
if [ $rc -gt 0 ]; then
stat_fail
exit $rc
else
sleep 1
PID=$(get_pid $NFSD_PROCESS_NAME)
# KILL (KILL) - just to be sure
[ ! -z "$PID" ] && kill -9 $PID &> /dev/null
rm -f /var/run/$NFSD_DAEMON_NAME.pid &> /dev/null
stat_done
fi
stat_busy "Unexporting all directories"
$EXPORTFS -au
rc=$(($rc+$?))
if [ $rc -gt 0 ]; then
stat_fail
exit $rc
else
stat_done
fi
# flush everything out of the kernels export table
if mountpoint -q "$PROCNFSD_MOUNTPOINT" ; then
$EXPORTFS -f
fi
rm_daemon $daemon_name
status)
stat_busy "$daemon_name running"
if ck_daemon $daemon_name; then
stat_fail
else
stat_done
fi
stat_busy "Daemon $NFSD_DAEMON_NAME running"
PID=$(get_pid $NFSD_PROCESS_NAME)
if [ -z "$PID" ]; then
stat_fail
else
stat_done
fi
stat_busy "Daemon $MOUNTD_DAEMON_NAME running"
PID=$(get_pid $MOUNTD)
if [ -z "$PID" ]; then
stat_fail
else
stat_done
fi
if [ "$NEED_SVCGSSD" = yes ]; then
stat_busy "Daemon $SVCGSSD_DAEMON_NAME running"
PID=$(get_pid $SVCGSSD)
if [ -z "$PID" ]; then
stat_fail
else
stat_done
fi
fi
echo
reload)
rc=0
stat_busy "Re-exporting all directories"
$EXPORTFS -r
rc=$(($rc+$?))
if [ $rc -gt 0 ]; then
stat_fail
exit $rc
else
stat_done
fi
restart)
$0 stop
sleep 3
$0 start
echo "usage: $0 {start|stop|status|reload|restart}"
esac
exit 0
nfs-common.conf
# Parameters to be passed to nfs-common (nfs clients & server) init script.
# If you do not set values for the NEED_ options, they will be attempted
# autodetected; this should be sufficient for most people. Valid alternatives
# for the NEED_ options are "yes" and "no".
# Do you want to start the statd daemon? It is not needed for NFSv4.
NEED_STATD=
# Options to pass to rpc.statd.
# N.B. statd normally runs on both client and server, and run-time
# options should be specified accordingly. Specifically, the Arch
# NFS init scripts require the --no-notify flag on the server,
# but not on the client e.g.
# STATD_OPTS="--no-notify -p 32765 -o 32766" -> server
# STATD_OPTS="-p 32765 -o 32766" -> client
STATD_OPTS=
# Do you want to start the idmapd daemon? It is only needed for NFSv4.
NEED_IDMAPD=
# Options to pass to rpc.idmapd.
IDMAPD_OPTS=
# Do you want to start the gssd daemon? It is required for Kerberos mounts.
NEED_GSSD=
# Options to pass to rpc.gssd.
GSSD_OPTS=
# Where to mount rpc_pipefs filesystem; the default is "/var/lib/nfs/rpc_pipefs".
PIPEFS_MOUNTPOINT=
# Options used to mount rpc_pipefs filesystem; the default is "defaults".
PIPEFS_MOUNTOPTS=
nfs-common
#!/bin/bash
daemon_name=nfs-common
NEED_STATD=
STATD_OPTS=
NEED_IDMAPD=
IDMAPD_OPTS=
NEED_GSSD=
GSSD_OPTS=
PIPEFS_MOUNTPOINT=
PIPEFS_MOUNTOPTS=
# rpc.statd daemon & binary location
STATD_DAEMON_NAME=rpc.statd
STATD="/usr/sbin/rpc.statd"
# rpc.idmapd daemon & binary location
IDMAPD_DAEMON_NAME=rpc.idmapd
IDMAPD="/usr/sbin/rpc.idmapd"
# rpc.gssd daemon & binary location
GSSD_DAEMON_NAME=rpc.gssd
GSSD="/usr/sbin/rpc.gssd"
. /etc/rc.conf
. /etc/rc.d/functions
. /etc/conf.d/$daemon_name.conf
# Default mountpoint and options for rpc_pipefs filesystem
[ -z "$PIPEFS_MOUNTPOINT" ] && PIPEFS_MOUNTPOINT="/var/lib/nfs/rpc_pipefs"
[ -z "$PIPEFS_MOUNTOPTS" ] && PIPEFS_MOUNTOPTS="defaults"
# Parse the fstab file, and determine whether we need idmapd and gssd. (The
# /etc/defaults settings, if any, will override our autodetection.) This code
# is partially adapted from the mountnfs.sh script in the sysvinit package.
AUTO_NEED_IDMAPD=no
AUTO_NEED_GSSD=no
if [ -f /etc/fstab ]; then
exec 9<&0 </etc/fstab
while read DEV MTPT FSTYPE OPTS REST; do
if [ "$FSTYPE" = "nfs4" ]; then
AUTO_NEED_IDMAPD=yes
fi
case "$OPTS" in
sec=krb5|*,sec=krb5|sec=krb5,*|*,sec=krb5i,*|sec=krb5i|*,sec=krb5i|sec=krb5i,*|*,sec=krb5i,*|sec=krb5p|*,sec=krb5p|sec=krb5p,*|*,sec=krb5p,*)
AUTO_NEED_GSSD=yes
esac
done
exec 0<&9 9<&-
fi
# We also need idmapd if we run an NFSv4 server. It's fairly difficult
# to autodetect whether there are NFSv4 exports or not, and idmapd is not a
# particularily heavy daemon, so we auto-enable it if we find an /etc/exports
# file. This does not mean that there are NFSv4 or other mounts active (or
# even that nfs-kernel-server is installed), but it matches what the "start"
# condition in nfs-kernel-server's init script does, which has a value in
# itself.
if [ -f /etc/exports ] && grep -q '^[[:space:]]*[^#]*/' /etc/exports; then
AUTO_NEED_IDMAPD=yes
fi
case "$NEED_STATD" in
yes|no)
NEED_STATD=yes
esac
case "$NEED_IDMAPD" in
yes|no)
NEED_IDMAPD=$AUTO_NEED_IDMAPD
esac
case "$NEED_GSSD" in
yes|no)
NEED_GSSD=$AUTO_NEED_GSSD
esac
do_modprobe() {
if [ -x /sbin/modprobe -a -f /proc/modules ]; then
modprobe -q "$1" || true
fi
do_mount() {
if ! grep -E "$1\$" /proc/filesystems &> /dev/null ; then
return 1
fi
if grep -vw "$1" /proc/mounts &> /dev/null ; then
if ! mountpoint -q "$2" ; then
mount -t "$1" "$1" "$2" -o "$3"
return
fi
fi
return 0
do_umount() {
if mountpoint -q "$1" ; then
umount "$1"
fi
return 0
get_pid() {
pidof -o %PPID "$1"
case "$1" in
start)
rc=0
if [ "$NEED_STATD" = yes ]; then
stat_busy "Starting $STATD_DAEMON_NAME daemon"
PID=$(get_pid $STATD)
if [ -z "$PID" ]; then
[ -f /var/run/$STATD_DAEMON_NAME.pid ] && rm -f /var/run/$STATD_DAEMON_NAME.pid
# RUN
$STATD $STATD_OPTS
rc=$(($rc+$?))
if [ $rc -gt 0 ]; then
stat_fail
exit $rc
else
echo $(get_pid $STATD) > /var/run/$STATD_DAEMON_NAME.pid
stat_done
fi
else
stat_fail
exit 1
fi
fi
if [ "$NEED_IDMAPD" = yes ] || [ "$NEED_GSSD" = yes ]; then
do_modprobe sunrpc
do_modprobe nfs
do_mount rpc_pipefs "$PIPEFS_MOUNTPOINT" "$PIPEFS_MOUNTOPTS"
rc=$(($rc+$?))
if [ $rc -gt 0 ]; then
stat_fail
exit $rc
fi
if [ "$NEED_IDMAPD" = yes ]; then
stat_busy "Starting $IDMAPD_DAEMON_NAME daemon"
PID=$(get_pid $IDMAPD)
if [ -z "$PID" ]; then
[ -f /var/run/$IDMAPD_DAEMON_NAME.pid ] && rm -f /var/run/$IDMAPD_DAEMON_NAME.pid
# RUN
$IDMAPD $IDMAPD_OPTS
rc=$(($rc+$?))
if [ $rc -gt 0 ]; then
stat_fail
exit $rc
else
echo $(get_pid $IDMAPD) > /var/run/$IDMAPD_DAEMON_NAME.pid
stat_done
fi
else
stat_fail
exit 1
fi
fi
if [ "$NEED_GSSD" = yes ]; then
do_modprobe rpcsec_gss_krb5
stat_busy "Starting $GSSD_DAEMON_NAME daemon"
PID=$(get_pid $GSSD)
if [ -z "$PID" ]; then
[ -f /var/run/$GSSD_DAEMON_NAME.pid ] && rm -f /var/run/$GSSD_DAEMON_NAME.pid
# RUN
$GSSD $GSSD_OPTS
rc=$(($rc+$?))
if [ $rc -gt 0 ]; then
stat_fail
exit $rc
else
echo $(get_pid $GSSD) > /var/run/$GSSD_DAEMON_NAME.pid
stat_done
fi
else
stat_fail
exit 1
fi
fi
fi
add_daemon $daemon_name
stop)
rc=0
if [ "$NEED_IDMAPD" = yes ] || [ "$NEED_GSSD" = yes ]; then
if [ "$NEED_GSSD" = yes ]; then
stat_busy "Stopping $GSSD_DAEMON_NAME daemon"
PID=$(get_pid $GSSD)
# KILL
[ ! -z "$PID" ] && kill $PID &> /dev/null
rc=$(($rc+$?))
if [ $rc -gt 0 ]; then
stat_fail
exit $rc
else
rm -f /var/run/$GSSD_DAEMON_NAME.pid &> /dev/null
stat_done
fi
fi
if [ "$NEED_IDMAPD" = yes ]; then
stat_busy "Stopping $IDMAPD_DAEMON_NAME daemon"
PID=$(get_pid $IDMAPD)
# KILL
[ ! -z "$PID" ] && kill $PID &> /dev/null
rc=$(($rc+$?))
if [ $rc -gt 0 ]; then
stat_fail
exit $rc
else
rm -f /var/run/$IDMAPD_DAEMON_NAME.pid &> /dev/null
stat_done
fi
fi
do_umount "$PIPEFS_MOUNTPOINT" 2>/dev/null || true
fi
if [ "$NEED_STATD" = yes ]; then
stat_busy "Stopping $STATD_DAEMON_NAME daemon"
PID=$(get_pid $STATD)
# KILL
[ ! -z "$PID" ] && kill $PID &> /dev/null
rc=$(($rc+$?))
if [ $rc -gt 0 ]; then
stat_fail
exit $rc
else
rm -f /var/run/$STATD_DAEMON_NAME.pid &> /dev/null
stat_done
fi
fi
rm_daemon $daemon_name
status)
stat_busy "$daemon_name running"
if ck_daemon $daemon_name; then
stat_fail
else
stat_done
fi
if [ "$NEED_STATD" = yes ]; then
stat_busy "Daemon $STATD_DAEMON_NAME running"
PID=$(get_pid $STATD)
if [ -z "$PID" ]; then
stat_fail
else
stat_done
fi
fi
if [ "$NEED_GSSD" = yes ]; then
stat_busy "Daemon $GSSD_DAEMON_NAME running"
PID=$(get_pid $GSSD)
if [ -z "$PID" ]; then
stat_fail
else
stat_done
fi
fi
if [ "$NEED_IDMAPD" = yes ]; then
stat_busy "Daemon $IDMAPD_DAEMON_NAME running"
PID=$(get_pid $IDMAPD)
if [ -z "$PID" ]; then
stat_fail
else
stat_done
fi
fi
echo
restart)
$0 stop
sleep 3
$0 start
echo "usage: $0 {start|stop|status|restart}"
esac
exit 0

Similar Messages

  • My source does not compile in 1.5 because of generics in libraries

    Hi,
    I have a problem with my source codes written for 1.3 and 1.4 java. I have been implementing Iterator, Collection, List and extending ArrayList in many ocassions. All works as expected in 1.4 but if I try to compile it with 1.5 it does not compile. I do receive many errors which generally speaking are showing that compiler does think that X subclass is not the same as a subclass of X<?> generic which simply makes all my code to not compile.
    Does anybody had similar problems with their code? Does anybody knows how to rewrite problematic code so that it will compile under BOTH 1.4 and 1.5 without -source 1.4 option?
    Some examples, stripped to problematic parts:
    public class CSectionList extends ArrayList
    public final boolean add(Object element)
                 int p = Collections.binarySearch(this,element);
    /** Here comes error:
    cannot find symbol
    symbol  : method binarySearch(sztejkat.utils.CSectionList,java.lang.Object)
    location: class java.util.Collections
                    int p = Collections.binarySearch(this,element);
              if (p<0)
    public class CMemoryViewTable extends JTable
    /** Here comes error:
    name clash: setDefaultRenderer(java.lang.Class,javax.swing.table.TableCellRenderer) in sztejkat.hdl.debugger.ui.CMemoryViewTable and setDefaultRenderer(java.lang.Class<?>,javax.swing.table.TableCellRenderer) in javax.swing.JTable have the same erasure, yet neither overrides the other
    public class CMemoryViewTable extends JTable
        public void setDefaultRenderer(Class columnClass,
                                             TableCellRenderer renderer)
              if (renderer!=null)
                   super.setDefaultRenderer(columnClass,new CCursorRenderer(renderer));
              }else
               super.setDefaultRenderer(columnClass,null);
    }In first example it seems to not catch that my CSectionList is a List<>, while in second it does not treat Class and Class<> equally what makes compiler to think that I don't override setDefaultRenderer method what I actually wanted to do (and did in 1.4).
    Please help...
    regards,
    Tomasz Sztejka
    P.S.
    Where the source compatibility have gone between 1.4 and 1.5? If it will look like this I strongly vote to NOT touch java language specification - it was very nice, simple and clear language. With autoboxing and generics it starts to do a lot of things behind my back what I don't like - this is why I moved from C++ to Java - hate what C++ did with overloaded operators. But maybe I'm just to stupid.

    Hi,
    I'm still not getting a good grip on generics, and still think they are not necessary.True, but when you have assembler you might not need C or Java. With assembler, you can write the most efficient programmes, but fixing a bug is not easy. With the higher level of C and Java, fewer trivial errors are made. The introduction of generics is another step towards compile-time bug prevention.
    Will your request block me from having a set of different classes,
    derived from different superclasses, all
    implementing Comparable in the way, that they use
    instanceof to check for proper relation (ie. I would
    like to sorting to sort all classes A by some value
    and all classes B to land in front of list)?Regarding raw classes, my request will change the erased interface of Comparable from
    int compareTo(Object o);to
    int compareTo(Comparable o);This would mean that all non-generic implementions of Comparable would have to be modified. I should have requested this enhancement ten years ago, but back then I did not know about Java at all :(
    Where largest common superclass is Object (ie Asuper
    is not instanceof Bsuper and vice-versa).
    Will soring list of such objects (both A and B) will
    be legal after your RFE ?Both A and B implement Comparable, so that should not be a problem.

  • Demo does not compile if regional setting is french

    Hi there,
    Did you know that some demos (TimeOffRequest demo at least) does not compile if my regional settings are in french (French Canada)
    I'm running BPEL PM 10.1.2.0.2
    on windows xp pro
    just in case it can help someone
    i found this out when changing my settings to post the logs in english instead of french, and the compile worked :)

    I switched my regional settings to French (Canada) and here is what i get from the developper prompt running obant on the "TimeOffRequestDemo" :
    Microsoft Windows XP [Version 5.1.2600]
    (C) Copyright 1985-2001 Microsoft Corp.
    C:\OraBPELPM_1\integration\orabpel\samples>cd demos
    C:\OraBPELPM_1\integration\orabpel\samples\demos>cd TimeOffRequestDemo
    C:\OraBPELPM_1\integration\orabpel\samples\demos\TimeOffRequestDemo>obant
    C:\OraBPELPM_1\integration\orabpel\samples\demos\TimeOffRequestDemo>SETLOCAL
    Buildfile: build.xml
    HRService:
    main:
    [bpelc] file:/C:/OraBPELPM_1/integration/orabpel/samples/utils/HRService/HRService.wsdl
    [bpelc] file:/C:/OraBPELPM_1/integration/orabpel/samples/utils/HRService/HRService.wsdl
    [bpelc] validation de "C:\OraBPELPM_1\integration\orabpel\samples\utils\HRService\HRService.bpel
    [bpelc] file:/C:/DOCUME~1/Pascal/LOCALS~1/Temp/$stage_14631bpel_HRService_1.0.jar_1154976955328/
    HRService.wsdl
    [bpelc] file:/C:/DOCUME~1/Pascal/LOCALS~1/Temp/$stage_14631bpel_HRService_1.0.jar_1154976955328/
    HRService.wsdl
    [bpelc] BPEL suitcase deployed to: C:\OraBPELPM_1\integration\orabpel\domains\default\deploy
    TimeOffRequestFlow:
    copyMailTemplate:
    TimeOffRequestFlow:
    [bpelc] Processus BPEL "C:\OraBPELPM_1\integration\orabpel\samples\demos\TimeOffRequestDemo\Time
    OffRequestFlow\bpel.xml" Ó jour, non-prise en compte...
    all:
    TimeOffRequestFlowUI:
    [echo] Deploying TimeOffRequestFlowUI from C:\OraBPELPM_1\integration\orabpel\samples\demos\Tim
    eOffRequestDemo/TimeOffRequestFlowUI:
    [echo]
    schemac:
    [echo] Compiling in C:\OraBPELPM_1\integration\orabpel\samples\demos\TimeOffRequestDemo/TimeOff
    RequestFlow/TimeOffRequestFlow.wsdl in C:\OraBPELPM_1\integration\orabpel\samples\demos\TimeOffReque
    stDemo/TimeOffRequestFlowUI/WEB-INF/classes from
    [echo]
    [schemac] schemac> parsing schema file 'C:\OraBPELPM_1\integration\orabpel\samples\demos\TimeOffRe
    questDemo/TimeOffRequestFlow/TimeOffRequestFlow.wsdl' ...
    [schemac] file:/C:/OraBPELPM_1/integration/orabpel/samples/demos/TimeOffRequestDemo/TimeOffRequest
    Flow/TimeOffRequestFlow.wsdl
    [schemac] file:/C:/OraBPELPM_1/integration/orabpel/samples/demos/TimeOffRequestDemo/TimeOffRequest
    Flow/TimeOffRequestFlow.wsdl
    [schemac] schemac> Loaded schemas from wsdl located at C:\OraBPELPM_1\integration\orabpel\samples\
    demos\TimeOffRequestDemo/TimeOffRequestFlow/TimeOffRequestFlow.wsdl
    [schemac] schemac> generating XML business document ...
    [schemac] schemac> compiling XML business documents ...
    BUILD FAILED
    C:\OraBPELPM_1\integration\orabpel\samples\demos\TimeOffRequestDemo\build.xml:17: The following erro
    r occurred while executing this line:
    C:\OraBPELPM_1\integration\orabpel\samples\utils\build_common.xml:53: The following error occurred w
    hile executing this line:
    C:\OraBPELPM_1\integration\orabpel\samples\utils\build_common.xml:79: Echec de la compilation Java.
    Echec de la compilation des fichiers "C:\OraBPELPM_1\integration\orabpel\samples\demos\TimeOffReques
    tDemo\schemac_1154976955531\src\com\otn\samples\TimeOffRequest\ApprovalInfoType.java, C:\OraBPELPM_1
    \integration\orabpel\samples\demos\TimeOffRequestDemo\schemac_1154976955531\src\com\otn\samples\Time
    OffRequest\ApprovalInfoTypeFactory.java, C:\OraBPELPM_1\integration\orabpel\samples\demos\TimeOffReq
    uestDemo\schemac_1154976955531\src\com\otn\samples\TimeOffRequest\EmployeeType.java, C:\OraBPELPM_1\
    integration\orabpel\samples\demos\TimeOffRequestDemo\schemac_1154976955531\src\com\otn\samples\TimeO
    ffRequest\EmployeeTypeFactory.java, C:\OraBPELPM_1\integration\orabpel\samples\demos\TimeOffRequestD
    emo\schemac_1154976955531\src\com\otn\samples\TimeOffRequest\IApprovalInfoType.java, C:\OraBPELPM_1\
    integration\orabpel\samples\demos\TimeOffRequestDemo\schemac_1154976955531\src\com\otn\samples\TimeO
    ffRequest\IEmployeeType.java, C:\OraBPELPM_1\integration\orabpel\samples\demos\TimeOffRequestDemo\sc
    hemac_1154976955531\src\com\otn\samples\TimeOffRequest\ISubmitterInfoType.java, C:\OraBPELPM_1\integ
    ration\orabpel\samples\demos\TimeOffRequestDemo\schemac_1154976955531\src\com\otn\samples\TimeOffReq
    uest\ITimeOffRequestType.java, C:\OraBPELPM_1\integration\orabpel\samples\demos\TimeOffRequestDemo\s
    chemac_1154976955531\src\com\otn\samples\TimeOffRequest\SubmitterInfoType.java, C:\OraBPELPM_1\integ
    ration\orabpel\samples\demos\TimeOffRequestDemo\schemac_1154976955531\src\com\otn\samples\TimeOffReq
    uest\SubmitterInfoTypeFactory.java, C:\OraBPELPM_1\integration\orabpel\samples\demos\TimeOffRequestD
    emo\schemac_1154976955531\src\com\otn\samples\TimeOffRequest\TimeOffRequestType.java, C:\OraBPELPM_1
    \integration\orabpel\samples\demos\TimeOffRequestDemo\schemac_1154976955531\src\com\otn\samples\Time
    OffRequest\TimeOffRequestTypeFactory.java".
    Exception signalÚe : C:\OraBPELPM_1\integration\orabpel\samples\demos\TimeOffRequestDemo\schemac_115
    4976955531\src\com\otn\samples\TimeOffRequest\ApprovalInfoType.java:52: ')' expected.
    throw new java.util.NoSuchElementException("Le noeud "{http://samples.otn.com/TimeOffRequest
    }approved" n'existe pas dans XML, vÚrifiez le contenu XML de l'objet de faþade. Pour accÚder au cont
    enu XML, appliquez la mÚthode toString() Ó l'objet de faþade.");
    ^
    C:\OraBPELPM_1\integration\orabpel\samples\demos\TimeOffRequestDemo\schemac_1154976955531\src\com\ot
    n\samples\TimeOffRequest\ApprovalInfoType.java:52: Missing term.
    throw new java.util.NoSuchElementException("Le noeud "{http://samples.otn.com/TimeOffRequest
    }approved" n'existe pas dans XML, vÚrifiez le contenu XML de l'objet de faþade. Pour accÚder au cont
    enu XML, appliquez la mÚthode toString() Ó l'objet de faþade.");
    ^
    C:\OraBPELPM_1\integration\orabpel\samples\demos\TimeOffRequestDemo\schemac_1154976955531\src\com\ot
    n\samples\TimeOffRequest\ApprovalInfoType.java:52: ';' expected.
    throw new java.util.NoSuchElementException("Le noeud "{http://samples.otn.com/TimeOffRequest
    }approved" n'existe pas dans XML, vÚrifiez le contenu XML de l'objet de faþade. Pour accÚder au cont
    enu XML, appliquez la mÚthode toString() Ó l'objet de faþade.");
    ^
    C:\OraBPELPM_1\integration\orabpel\samples\demos\TimeOffRequestDemo\schemac_1154976955531\src\com\ot
    n\samples\TimeOffRequest\ApprovalInfoType.java:53: Invalid expression statement.
    ^
    C:\OraBPELPM_1\integration\orabpel\samples\demos\TimeOffRequestDemo\schemac_1154976955531\src\com\ot
    n\samples\TimeOffRequest\ApprovalInfoType.java:53: '}' expected.
    ^
    C:\OraBPELPM_1\integration\orabpel\samples\demos\TimeOffRequestDemo\schemac_1154976955531\src\com\ot
    n\samples\TimeOffRequest\ApprovalInfoType.java:61: Statement expected.
    public java.util.Date getApprovedDateTime()
    ^
    C:\OraBPELPM_1\integration\orabpel\samples\demos\TimeOffRequestDemo\schemac_1154976955531\src\com\ot
    n\samples\TimeOffRequest\ApprovalInfoType.java:116: ')' expected.
    throw new java.util.NoSuchElementException("Le noeud "{http://samples.otn.com/TimeOffRequest
    }approved" n'existe pas dans XML, vÚrifiez le contenu XML de l'objet de faþade. Pour accÚder au cont
    enu XML, appliquez la mÚthode toString() Ó l'objet de faþade.");
    ^
    C:\OraBPELPM_1\integration\orabpel\samples\demos\TimeOffRequestDemo\schemac_1154976955531\src\com\ot
    n\samples\TimeOffRequest\ApprovalInfoType.java:116: Missing term.
    throw new java.util.NoSuchElementException("Le noeud "{http://samples.otn.com/TimeOffRequest
    }approved" n'existe pas dans XML, vÚrifiez le contenu XML de l'objet de faþade. Pour accÚder au cont
    enu XML, appliquez la mÚthode toString() Ó l'objet de faþade.");
    ^
    C:\OraBPELPM_1\integration\orabpel\samples\demos\TimeOffRequestDemo\schemac_1154976955531\src\com\ot
    n\samples\TimeOffRequest\ApprovalInfoType.java:116: ';' expected.
    throw new java.util.NoSuchElementException("Le noeud "{http://samples.otn.com/TimeOffRequest
    }approved" n'existe pas dans XML, vÚrifiez le contenu XML de l'objet de faþade. Pour accÚder au cont
    enu XML, appliquez la mÚthode toString() Ó l'objet de faþade.");
    ^
    C:\OraBPELPM_1\integration\orabpel\samples\demos\TimeOffRequestDemo\schemac_1154976955531\src\com\ot
    n\samples\TimeOffRequest\ApprovalInfoType.java:117: Invalid expression statement.
    ^
    C:\OraBPELPM_1\integration\orabpel\samples\demos\TimeOffRequestDemo\schemac_1154976955531\src\com\ot
    n\samples\TimeOffRequest\ApprovalInfoType.java:117: '}' expected.
    ^
    C:\OraBPELPM_1\integration\orabpel\samples\demos\TimeOffRequestDemo\schemac_1154976955531\src\com\ot
    n\samples\TimeOffRequest\ApprovalInfoType.java:125: Statement expected.
    public void setApproved(boolean approved)
    ^
    C:\OraBPELPM_1\integration\orabpel\samples\demos\TimeOffRequestDemo\schemac_1154976955531\src\com\ot
    n\samples\TimeOffRequest\TimeOffRequestType.java:68: ')' expected.
    throw new java.util.NoSuchElementException("Le noeud "{http://samples.otn.com/TimeOffRequest
    }duration" n'existe pas dans XML, vÚrifiez le contenu XML de l'objet de faþade. Pour accÚder au cont
    enu XML, appliquez la mÚthode toString() Ó l'objet de faþade.");
    ^
    C:\OraBPELPM_1\integration\orabpel\samples\demos\TimeOffRequestDemo\schemac_1154976955531\src\com\ot
    n\samples\TimeOffRequest\TimeOffRequestType.java:68: Missing term.
    throw new java.util.NoSuchElementException("Le noeud "{http://samples.otn.com/TimeOffRequest
    }duration" n'existe pas dans XML, vÚrifiez le contenu XML de l'objet de faþade. Pour accÚder au cont
    enu XML, appliquez la mÚthode toString() Ó l'objet de faþade.");
    ^
    C:\OraBPELPM_1\integration\orabpel\samples\demos\TimeOffRequestDemo\schemac_1154976955531\src\com\ot
    n\samples\TimeOffRequest\TimeOffRequestType.java:68: ';' expected.
    throw new java.util.NoSuchElementException("Le noeud "{http://samples.otn.com/TimeOffRequest
    }duration" n'existe pas dans XML, vÚrifiez le contenu XML de l'objet de faþade. Pour accÚder au cont
    enu XML, appliquez la mÚthode toString() Ó l'objet de faþade.");
    ^
    C:\OraBPELPM_1\integration\orabpel\samples\demos\TimeOffRequestDemo\schemac_1154976955531\src\com\ot
    n\samples\TimeOffRequest\TimeOffRequestType.java:69: Invalid expression statement.
    ^
    C:\OraBPELPM_1\integration\orabpel\samples\demos\TimeOffRequestDemo\schemac_1154976955531\src\com\ot
    n\samples\TimeOffRequest\TimeOffRequestType.java:69: '}' expected.
    ^
    C:\OraBPELPM_1\integration\orabpel\samples\demos\TimeOffRequestDemo\schemac_1154976955531\src\com\ot
    n\samples\TimeOffRequest\TimeOffRequestType.java:77: Statement expected.
    public java.lang.String getId()
    ^
    C:\OraBPELPM_1\integration\orabpel\samples\demos\TimeOffRequestDemo\schemac_1154976955531\src\com\ot
    n\samples\TimeOffRequest\ApprovalInfoTypeFactory.java:23: class com.otn.samples.TimeOffRequest.Appro
    valInfoType is an abstract class. It can't be instantiated.
    com.otn.samples.TimeOffRequest.ApprovalInfoType obj = new com.otn.samples.TimeOffRequest.App
    rovalInfoType( );
    ^
    C:\OraBPELPM_1\integration\orabpel\samples\demos\TimeOffRequestDemo\schemac_1154976955531\src\com\ot
    n\samples\TimeOffRequest\ApprovalInfoTypeFactory.java:37: class com.otn.samples.TimeOffRequest.Appro
    valInfoType is an abstract class. It can't be instantiated.
    com.otn.samples.TimeOffRequest.ApprovalInfoType obj = new com.otn.samples.TimeOffRequest.App
    rovalInfoType( );
    ^
    C:\OraBPELPM_1\integration\orabpel\samples\demos\TimeOffRequestDemo\schemac_1154976955531\src\com\ot
    n\samples\TimeOffRequest\ApprovalInfoTypeFactory.java:64: class com.otn.samples.TimeOffRequest.Appro
    valInfoType is an abstract class. It can't be instantiated.
    com.otn.samples.TimeOffRequest.ApprovalInfoType obj = new com.otn.samples.TimeOffRequest.App
    rovalInfoType( );
    ^
    C:\OraBPELPM_1\integration\orabpel\samples\demos\TimeOffRequestDemo\schemac_1154976955531\src\com\ot
    n\samples\TimeOffRequest\ApprovalInfoTypeFactory.java:100: class com.otn.samples.TimeOffRequest.Appr
    ovalInfoType is an abstract class. It can't be instantiated.
    com.otn.samples.TimeOffRequest.ApprovalInfoType obj = new com.otn.samples.TimeOffRequest.App
    rovalInfoType( );
    ^
    C:\OraBPELPM_1\integration\orabpel\samples\demos\TimeOffRequestDemo\schemac_1154976955531\src\com\ot
    n\samples\TimeOffRequest\TimeOffRequestTypeFactory.java:23: class com.otn.samples.TimeOffRequest.Tim
    eOffRequestType is an abstract class. It can't be instantiated.
    com.otn.samples.TimeOffRequest.TimeOffRequestType obj = new com.otn.samples.TimeOffRequest.T
    imeOffRequestType( );
    ^
    C:\OraBPELPM_1\integration\orabpel\samples\demos\TimeOffRequestDemo\schemac_1154976955531\src\com\ot
    n\samples\TimeOffRequest\TimeOffRequestTypeFactory.java:37: class com.otn.samples.TimeOffRequest.Tim
    eOffRequestType is an abstract class. It can't be instantiated.
    com.otn.samples.TimeOffRequest.TimeOffRequestType obj = new com.otn.samples.TimeOffRequest.T
    imeOffRequestType( );
    ^
    C:\OraBPELPM_1\integration\orabpel\samples\demos\TimeOffRequestDemo\schemac_1154976955531\src\com\ot
    n\samples\TimeOffRequest\TimeOffRequestTypeFactory.java:64: class com.otn.samples.TimeOffRequest.Tim
    eOffRequestType is an abstract class. It can't be instantiated.
    com.otn.samples.TimeOffRequest.TimeOffRequestType obj = new com.otn.samples.TimeOffRequest.T
    imeOffRequestType( );
    ^
    C:\OraBPELPM_1\integration\orabpel\samples\demos\TimeOffRequestDemo\schemac_1154976955531\src\com\ot
    n\samples\TimeOffRequest\TimeOffRequestTypeFactory.java:100: class com.otn.samples.TimeOffRequest.Ti
    meOffRequestType is an abstract class. It can't be instantiated.
    com.otn.samples.TimeOffRequest.TimeOffRequestType obj = new com.otn.samples.TimeOffRequest.T
    imeOffRequestType( );
    ^
    26 errors
    VÚrifiez que le fichier C:\OraBPELPM_1\integration\orabpel\samples\demos\TimeOffRequestDemo\schemac_
    1154976955531\src\com\otn\samples\TimeOffRequest\ApprovalInfoType.java, C:\OraBPELPM_1\integration\o
    rabpel\samples\demos\TimeOffRequestDemo\schemac_1154976955531\src\com\otn\samples\TimeOffRequest\App
    rovalInfoTypeFactory.java, C:\OraBPELPM_1\integration\orabpel\samples\demos\TimeOffRequestDemo\schem
    ac_1154976955531\src\com\otn\samples\TimeOffRequest\EmployeeType.java, C:\OraBPELPM_1\integration\or
    abpel\samples\demos\TimeOffRequestDemo\schemac_1154976955531\src\com\otn\samples\TimeOffRequest\Empl
    oyeeTypeFactory.java, C:\OraBPELPM_1\integration\orabpel\samples\demos\TimeOffRequestDemo\schemac_11
    54976955531\src\com\otn\samples\TimeOffRequest\IApprovalInfoType.java, C:\OraBPELPM_1\integration\or
    abpel\samples\demos\TimeOffRequestDemo\schemac_1154976955531\src\com\otn\samples\TimeOffRequest\IEmp
    loyeeType.java, C:\OraBPELPM_1\integration\orabpel\samples\demos\TimeOffRequestDemo\schemac_11549769
    55531\src\com\otn\samples\TimeOffRequest\ISubmitterInfoType.java, C:\OraBPELPM_1\integration\orabpel
    \samples\demos\TimeOffRequestDemo\schemac_1154976955531\src\com\otn\samples\TimeOffRequest\ITimeOffR
    equestType.java, C:\OraBPELPM_1\integration\orabpel\samples\demos\TimeOffRequestDemo\schemac_1154976
    955531\src\com\otn\samples\TimeOffRequest\SubmitterInfoType.java, C:\OraBPELPM_1\integration\orabpel
    \samples\demos\TimeOffRequestDemo\schemac_1154976955531\src\com\otn\samples\TimeOffRequest\Submitter
    InfoTypeFactory.java, C:\OraBPELPM_1\integration\orabpel\samples\demos\TimeOffRequestDemo\schemac_11
    54976955531\src\com\otn\samples\TimeOffRequest\TimeOffRequestType.java, C:\OraBPELPM_1\integration\o
    rabpel\samples\demos\TimeOffRequestDemo\schemac_1154976955531\src\com\otn\samples\TimeOffRequest\Tim
    eOffRequestTypeFactory.java est un fichier Java valide ou que toutes les bibliothÞques obligatoires
    figurent dans la variable d'environnement CLASSPATH.
    variable d'environnement CLASSPATH: "C:\OraBPELPM_1\jdk\jre\lib\rt.jar;C:\OraBPELPM_1\integration\or
    abpel\system\classes;C:\OraBPELPM_1\jdk\lib\tools.jar;C:\OraBPELPM_1\integration\orabpel\lib\orabpel
    -common.jar;C:\OraBPELPM_1\integration\orabpel\lib\orabpel-thirdparty.jar;C:\OraBPELPM_1\integration
    \orabpel\lib\orabpel.jar;C:\OraBPELPM_1\integration\orabpel\lib\orabpel-ant.jar;C:\OraBPELPM_1\integ
    ration\orabpel\lib\ant-launcher_1.6.2.jar;C:\OraBPELPM_1\integration\orabpel\lib\ant_1.6.2.jar;C:\Or
    aBPELPM_1\integration\orabpel\lib\oracle_http_client.jar;C:\OraBPELPM_1\integration\orabpel\lib\xmlp
    arserv2.jar;C:\OraBPELPM_1\integration\orabpel\lib\olite40.jar;C:\OraBPELPM_1\integration\orabpel\li
    b\aqapi.jar;C:\OraBPELPM_1\integration\orabpel\lib\orawsdl.jar;C:\OraBPELPM_1\integration\orabpel\li
    b\bpm-infra.jar;C:\OraBPELPM_1\integration\orabpel\system\services\lib\bpm-services.jar;C:\OraBPELPM
    _1\integration\orabpel\lib\bipres.jar;C:\OraBPELPM_1\integration\orabpel\lib\bicmn.jar;C:\OraBPELPM_
    1\integration\orabpel\lib\uix2.jar;C:\OraBPELPM_1\integration\orabpel\lib\share.jar;C:\OraBPELPM_1\i
    ntegration\orabpel\lib\regexp.jar;C:\OraBPELPM_1\integration\orabpel\lib\j2ee_1.3.01.jar;";C:\OraBPE
    LPM_1\integration\orabpel\samples\demos\TimeOffRequestDemo
    Total time: 4 seconds
    C:\OraBPELPM_1\integration\orabpel\samples\demos\TimeOffRequestDemo>ENDLOCAL
    C:\OraBPELPM_1\integration\orabpel\samples\demos\TimeOffRequestDemo>:

  • The ANE library is compiled to MacOS, but does not compile on Windows.

    ANE lbrary FPHockeyApp http://flashpress.ru/blog/contents/ane/hockeyapp/FPHockeyApp-6.1.ane
    Application:
    package
        import flash.display.Sprite;
        import ru.flashpress.hockeyapp.FPHockeyApp;
        import ru.flashpress.hockeyapp.ns.haIOS;
        public class TestHockeyApp extends Sprite
            public function TestHockeyApp()
                super();
                use namespace haIOS;
                var APP_ID:String = 'you app id';
                FPHockeyApp.manager.configureWithIdentifier(APP_ID);
                FPHockeyApp.manager.startManager();
                FPHockeyApp.manager.authenticator.authenticateInstallation();
    Compiled in MacOS, but does not compile on Windows:
    Why so?

    Windows 64-bit.
    On a single MacBookPro installed OSX and Windows(not virtual).

  • A "for" expression that does not compile

    This is a for loop from a snippet of code that does not compile in my J2SE 1.4.2 environment:
    for (int i: Units.parseRange(range_, 1, pagecnt)) {
    Can someone tell me what it means and what the 1.4.2 equivalent is?

    Does this mean there is no way that I can compile it in 1.4.2?
    I mean, is there an option that enables it?Yes and No... That is, yes using the 5.0 ( 1.5.0 ) beta 2, you can compile to 5.0 ( 1.5.0 ) to 1.4 using the -source and -target switches using 1.4 features only...
    but if you use 5.0 ( 1.5.0 ) features, it will not compile to 1.4 , it will give you an error stating that the feature is not supported by 1.4...
    So your code snippet would need to be re-written to 1.4 code to work with 1.4.x JVMs ...
    Here is an example of the For-Each aka Enhanced For loop written in 5.0 ( 1.5.0 ) beta2 :
    public class ForEachArray {
            public static void main ( String [] args ){
                        int[] ar = {1,2,3,4,5,6,7,8,9,0};
                        for (int i:ar){ // For-Each loop
                             System.out.println(i);
    }Which the equivalent in 1.4 would be :
    public class ForLoopArray {
            public static void main ( String [] args ){
                        int[] ar = {1,2,3,4,5,6,7,8,9,0};
                        for (int i = 0; i < ar.length; i++ ){ // for loop
                             System.out.println(ar);
    Hope this answers some of your question, now if you want help with that code snippet, naturally I will need to see some more code related to the snippet so that I can assist you in re-writing it to 1.4 version...
    - MaxxDmg...
    - ' He who never sleeps... '

  • Jwsc does not compile dependencies

    I have a web service that is coded to make calls on an interface who's implementation is injected with Spring. As such, there is no direct reference to the implementation class, and it does not get compiled when I compile the web service with the JWSC ant task.
    What is the recommended way of building this? Should I run JWSC first, and then JAVAC to the WEB-INF/classes dir? Or is there a more elegant way?

    Those unicode escapes are expanded into their actual characters before compilation. \u000d is a carriage return or linefeed. I forget which. It's as if you did this: char c1 = '\udddd';//compiles
    char c2 = '\u0ddd';//compiles
    char c3 = '\u00dd';//compiles
    char c4 = '
    ';//DOES NOT COMPILE... WHY?
    char c5 = '\ud00d';//compiles Try this:
    public class Uni {
        public static void main(String[] args) throws Exception {
            char A = '\u0042';
            char \u0042 = 'A';
            System.out.println(A);
            System.out.println(B);
    }

  • NWDS 7 does not compile JSPs

    I have recently downloaded NWDS tool that comes with the NW04s trial version (NWDS version 7).
    When I create portal components (par files), NWDS does not compile the java files.  It creates a par file even with errors in Java. Is this a new "feature" of NWDS? am I missing anything?

    Create DC for the JSP also. It will work.

  • Java Importer: import of java.lang.Boolean does not compile?

    I have created a webservicestub for the Reports webservice with JDeveloper.
    Now I want to use it in Forms. All methods work correctly, except the runJob method, which uses a boolean argument. I think I need to import java.lang.Boolean for it, but the created package body does not compile ("wrong number or type of arguments" in jni calls).
    Does anybody have suggestions how to get it compiling, or how to call the runJob method without the import of java.lang.Boolean?

    Downloading 1.4 sdk does not have the javac, it just has the JRENo, you apparently downloaded the JRE runtime. Do this to get the compiler, etc:
    Go here: http://java.sun.com/j2se/1.4/download.html
    and in the section titled:
    Download J2SETM v 1.4.0_01 JRE SDK
    look in this row:
    Windows (all languages, including English)
    and click download in the column headed SDK at the far right

  • Hello I am on a macbook pro (retina IOS 9) i have installed xcodes and command line tools but codeblocks does not compile, terminal gives this message /Users/MacPc/Desktop/Untitled1: Permission denied      any one has a solution

    Hello I am on a macbook pro (retina IOS 9) i have installed xcodes and command line tools but codeblocks does not compile, terminal gives this message /Users/MacPc/Desktop/Untitled1: Permission denied      any one has a solution?? please...

    Back up all data before proceeding.
    This procedure will unlock all your user files (not system files) and reset their ownership, permissions, and access controls to the default. If you've intentionally set special values for those attributes on any of your files, they will be reverted. In that case, either stop here, or be prepared to recreate the settings if necessary. Do so only after verifying that those settings didn't cause the problem. If none of this is meaningful to you, you don't need to worry about it, but you do need to follow the instructions below.
    Step 1
    If you have more than one user, and the one in question is not an administrator, then go to Step 2.
    Triple-click anywhere in the following line on this page to select it:
    sudo find ~ $TMPDIR.. -exec chflags -h nouchg,nouappnd,noschg,nosappnd {} + -exec chown -h $UID {} + -exec chmod +rw {} + -exec chmod -h -N {} + -type d -exec chmod -h +x {} + 2>&-
    Copy the selected text to the Clipboard by pressing the key combination command-C.
    Launch the built-in Terminal application in any of the following ways:
    ☞ Enter the first few letters of its name into a Spotlight search. Select it in the results (it should be at the top.)
    ☞ In the Finder, select Go ▹ Utilities from the menu bar, or press the key combination shift-command-U. The application is in the folder that opens.
    ☞ Open LaunchPad. Click Utilities, then Terminal in the icon grid.
    Paste into the Terminal window by pressing command-V. I've tested these instructions only with the Safari web browser. If you use another browser, you may have to press the return key after pasting.
    You'll be prompted for your login password, which won't be displayed when you type it. Type carefully and then press return. You may get a one-time warning to be careful. If you don’t have a login password, you’ll need to set one before you can run the command. If you see a message that your username "is not in the sudoers file," then you're not logged in as an administrator.
    The command may take several minutes to run, depending on how many files you have. Wait for a new line ending in a dollar sign ($) to appear, then quit Terminal.
    Step 2 (optional)
    Take this step only if you have trouble with Step 1, if you prefer not to take it, or if it doesn't solve the problem.
    Start up in Recovery mode. When the OS X Utilities screen appears, select
              Utilities ▹ Terminal
    from the menu bar. A Terminal window will open. In that window, type this:
    res
    Press the tab key. The partial command you typed will automatically be completed to this:
    resetpassword
    Press return. A Reset Password window will open. You’re not going to reset a password.
    Select your startup volume ("Macintosh HD," unless you gave it a different name) if not already selected.
    Select your username from the menu labeled Select the user account if not already selected.
    Under Reset Home Directory Permissions and ACLs, click the Reset button.
    Select
               ▹ Restart
    from the menu bar.

  • Labview does not compile my vi!

    Labview does not compile my vi. It says "could not compile vi, bad dsoffset, dso = -1".
    I was still wiring the vi and was able to compile it several times before this error appeared. It shows
    a broken run arrowa and when I click on it to see the list of errors it shows this message.
    Does not go away even if I restart labview.

    Hi, I already have had this problem a few times before. The wiring is correct but there is a sense-mistake in your programme. Check the use of your arrays, this is a problem I often have.
    If you need more help, you can also attache your VI.

  • Class generated by genInterface ant task does not compile

    I am trying to build a web service from existing wsdl using genInterface and topDownAssemble ant tasks.
    The wsdl contains following type definition. Java class generated from this type (see below) does not compile. The problem is that there are two class members named
    'value'. Is this an issue with Web Services Assembly tool or there is some way to get
    around it?
    <s:simpleType name="quantityType">
    <s:restriction base="s:string">
    <s:enumeration value="summation"/>
    <s:enumeration value="demand"/>
    <s:enumeration value="value"/>
    <s:enumeration value="consumption"/>
    </s:restriction>
    </s:simpleType>
    // Version = Oracle WebServices (10.1.3.3.0, build 070610.1800.23513)
    public class QuantityType implements java.io.Serializable {
    private java.lang.String value;
    private static final String _summationString = "summation";
    private static final String _demandString = "demand";
    private static final String _valueString = "value";
    private static final String _consumptionString = "consumption";
    public static final java.lang.String summation = new java.lang.String(summationString);
    public static final java.lang.String demand = new java.lang.String(demandString);
    public static final java.lang.String value = new java.lang.String(valueString);
    public static final java.lang.String consumption = new java.lang.String(consumptionString);
    public static final QuantityType summation = new QuantityType(_summation);
    public static final QuantityType demand = new QuantityType(_demand);
    public static final QuantityType value = new QuantityType(_value);
    public static final QuantityType consumption = new QuantityType(_consumption);
    Andrei

    Pls set debug attribute of JWSC ant task to true or on, e.g.
    <jwsc srcdir="." destdir="${output.dir}" debug="on" keepGenerated="true">
              </jwsc>

  • Appc does not compile JSPs under WEB-INF

    Hi,
              We are using WLS 8.1 and I noticed that appc does not compile jsps that are
              under WEB-INF. Is this expected? If the jsps are outside of WEB-INF then
              appc works fine...
              Thanks!
              John
              

    Although the client is not allowed to directly access jsps under WEB-INF, it
              is perfectly acceptable (and often recommended) to use a front controller to
              forward to jsps. Often these jsps are "hidden" in the WEB-INF directory so
              that they can't be accessed directly by the client. This pattern works fine
              under 8.1 except that appc won't precompile the jsps under WEB-INF (the
              container does compile the jsps when they are called). I believe this is a
              bug... If jsps are allowed in WEB-INF then appc should compile them...
              John
              "Stjepan Brbot" <stjepan.brbot@@zg.hinet.hr> wrote in message
              news:[email protected]...
              > Yes, this is expected! Web container, or better to say it's web component,
              > does not serve content of WEB-INF directory directly mening you cannot
              > access jsp inside WEB-INF like
              http://host:port/WebApp/WEB-INF/something.jsp
              > hence there's no need for compiling JSP's in it! The content of WEB-INF
              > directory can be accessed only via internal links so it is mostly used for
              > referencing taglibs. JSPs, HTMLs, images and all other file type that has
              to
              > be accessible directly by client web-server (not container internally)
              > should be in application directory or one of it's subdirectories.
              >
              > "John Hampton" <[email protected]> wrote in message
              > news:[email protected]...
              > > Hi,
              > >
              > > We are using WLS 8.1 and I noticed that appc does not compile jsps that
              > are
              > > under WEB-INF. Is this expected? If the jsps are outside of WEB-INF
              then
              > > appc works fine...
              > >
              > > Thanks!
              > > John
              > >
              > >
              >
              

  • Windows xp runs java application but does not compile it - urgent please

    Hi
    My new PC(portable) does not compile my java progran:
    'javac' is not recognized as an internal or external command, operatable program or batch file.
    If you have any suggestion, please let me know!
    Aria

    Thanks anyhow;
    The following information is sent to beginners site.
    I have talked to british, belgian and others regarding this problem. They said it is very expensive and we laughed.
    Hi,
    Windows XP runs java application but does not compile it. I get following message:
    'javac' is not recognized as an internal or external command, operatable program or batch file.
    MS-DOS does not exists but a command line edits autoexec.nt having allinformation regarding installed jdk5. I run my java applicat
    ion from here. But no compilation.
    Environment variables has following information.
    JAVA_HOME C:\jdk5.0
    CLASSPATH C:\jdk5.0\myPrograms
    path %JAVA_HOME%bin
    All information in autoexec.nt exists as windows 98 and I run it from command line.
    Would you please tell me what is wrong?
    Thanks
    Aria

  • ERROR: "info.plist does not validate against DTD"

    Hi! I got this error if anyone has it solved Please HELP.
    I am trying to package a WRT widget using Nokia WRT extension for Adobe Dreamweaver. This is the place for info on the extension: http://www.forum.nokia.com/Tools_Docs_and_Code/Tools/Runtimes/Web_Runtime/
    I figure developer from here who use DW to develop mobile content might know the error.
    When come to the step of 'Package Nokia WRT Widget' I got this error: info.plist does not validate against DTD
    and a page of error info shown like this:
    DTD validated at: Wed Jun 17 2009 19:03:00 GMT+0800 (Malay Peninsula Standard Time)
    DTD used for validation: http://www.nokia.com/DTDs/plist-1.0.dtd
    Line
    Column
    Message
    Explanation
    Source
    2
    95
    DTD did not contain element declaration for document type name
    3
    16
    Attribute "version" exists, but can not be used for this element.
    3
    21
    element "plist" undefined. Did you mean "applet" or "strike"?
    4
    7
    element "dict" undefined. Did you mean "strike" or "input"?
    5
    7
    element "key" undefined. Did you mean "strike" or "blockquote"?
    6
    10
    element "string" undefined. Did you mean "strong" or "strike"?
    7
    7
    element "key" undefined. Did you mean "strike" or "blockquote"?
    8
    10
    element "string" undefined. Did you mean "strong" or "strike"?
    9
    7
    element "key" undefined. Did you mean "strike" or "blockquote"?
    10
    10
    element "string" undefined. Did you mean "strong" or "strike"?
    11
    7
    element "key" undefined. Did you mean "strike" or "blockquote"?
    12
    10
    element "string" undefined. Did you mean "strong" or "strike"?
    13
    7
    element "key" undefined. Did you mean "strike" or "blockquote"?
    14
    9
    element "true" undefined. Did you mean "textarea" or "tr"?
    Can anyone knows what this means and how i can solve it?
    Please help. Thankyou.
    note: I am new here and knows that keep asking quesion without giving back is not good but I have a deadline here and wanted to finish the job. I will read some other post and try to help in return when I am able to do so.

    Hi pziecina,
    Thanks for your reply,
    I suspect my problem is the installation or setup of my system or software. as the result i tested is not by doing any scripting at all. All I did is following one of their example exactly (http://www.forum.nokia.com/Tools_Docs_and_Code/Tools/Runtimes/Web_Runtime/Dreamweaver_Exte nsion/QuickStart.xhtml) and package strightaway without modifying the code. because I want to make sure i got the extension install correctly. even so by packaging one of their ready make example already yield this error.

  • Task.toXML() creates xml that does not validate against WorklistTask.xsd

    I am using the worklist API and I am using the toXML() function provided in the Task object to serialize my Task info to XML. It produces XML that looks alot like a "task" Element. But, it does not validate against the WorkflowTask.xsd schema. What is even more odd is that XML looks different than the xml I see when I look at the data in the BPEL Console.
    For example, the first XML document below is from Task.toXML. notice that it's first child element is taskId. According to the xsd, that is not valid. The second xml document in this post is from the console. it appears to be valid.
    Am I doing something wrong or should I just not expect the worklist api to produce valid xml? (correction: should I not expect the worklist api to xml that validates?)
    <task xmlns="http://xmlns.oracle.com/pcbpel/taskservice/task"><taskId>0D7B97F1B138EE21E04017AC2B194357</taskId><title>Payment not posted by payee</title><isGroup>true</isGroup><acquiredBy/><owner>bpeladmin</owner><conclusion/><state>ASSIGNED</state><subState>ASSIGNED</subState><processId>ResearchRequestWorkflow</processId><processName>ResearchRequestWorkflow</processName><versionNumber>1</versionNumber><notm>1</notm><taskGroupId/><taskType>http://blade-11.payveris.com:9700/orabpel/default/ResearchRequestWorkflow/1.0/taskConfigResearchRequest.xml</taskType><identificationKey>PAULA MERRILL, 2069</identificationKey><priority>3</priority><creator>bpeladmin</creator><creationDate>2006-02-23T14:53:08.000-05:00</creationDate><updatedBy>bpeladmin</updatedBy><modifyDate>2006-02-23T14:53:08.000-05:00</modifyDate><flexString1>1140724383057</flexString1><flexString2>PAULA MERRILL</flexString2><flexString3>PAULA MERRILL</flexString3><flexString4>PaymentId3489</flexString4><flexLong1>0</flexLong1><flexLong2>0</flexLong2><flexDouble1>0.0</flexDouble1><flexDouble2>0.0</flexDouble2><processVersion>1.0</processVersion><instanceId>2304</instanceId><domainId>default</domainId><approvers/><hasSubTasks>false</hasSubTasks><processOwner>bpeladmin</processOwner><pattern>SINGLE_APPROVAL</pattern><taskNumber>10240</taskNumber><systemString1/><systemString2/><systemString3/><versionReason>Task Created</versionReason><assigneeGroups>ResearchManager</assigneeGroups><payload confirmation_number="1140724383057" due_date="2006-02-22-05:00" reason="Payment not posted by payee"><requester xmlns="http://www.pp.com/schema"><first>PAULA MERRILL</first><last>PAULA MERRILL</last><tax_id/></requester><payment_type xmlns="http://www.pp.com/schema" number="">insuranceauto</payment_type><record_info xmlns="http://www.pp.com/schema"><creation app="EU" by="282950" date="2006-02-23T14:53:03.056-05:00"/><updation app="EU" by="282950" date="2006-02-23T14:53:03.056-05:00"/></record_info><payment xmlns="http://www.pp.com/schema" id="3489"><bank_info bank_id="2" funds_model="RISK"/><payment_info><confirmation_number>5428</confirmation_number><amount formattedValue="77.00" value="77"/><payment_date>2006-01-06-05:00</payment_date><check_number>5851</check_number><funded>false</funded><merged>false</merged><network id="3" status="ACTIVE" type="C">MOORE</network><alert_on_completion>false</alert_on_completion><alert_number_days_before>0</alert_number_days_before><scheduled_info id="2278"><scheduled_for_date formatted="01/06/2006">2006-01-06-05:00</scheduled_for_date><scheduled_on_date formatted="01/06/2006">2006-01-06-05:00</scheduled_on_date><created_user_id>282950</created_user_id><updated_user_id>0</updated_user_id></scheduled_info></payment_info><payee_info id="24958" relationship_id="6004"><payee_account_number>JUNIT123</payee_account_number><nick_name>blahblah</nick_name><name>complexpayeenameforatest</name><address1>123 main street</address1><address2>c/o anybody</address2><city>Dark Cityrandomizer</city><state>CT</state><zip>06512</zip><network id="3" status="ACTIVE" type="C">MOORE</network></payee_info><customer_info id="2069"><name>PAULA MERRILL</name><customer_account_id>8</customer_account_id><customer_account_number>213</customer_account_number><customer_routing_number>111111111</customer_routing_number><address1>Ernest Hemingway Drive</address1><city>Springfield</city><state>IL</state><zip>62703</zip></customer_info><state_info><failed_reason_code>0</failed_reason_code><money_batch_id>824</money_batch_id><good_funds_batch_id>1817</good_funds_batch_id><network_batch_id>958</network_batch_id><state_date>2006-10-24-05:00</state_date><state formatted="Check Cashed by Payee" id="2">Cleared</state><trace_number>211170100000003</trace_number></state_info><state_history><failed_reason_code>0</failed_reason_code><money_batch_id>0</money_batch_id><good_funds_batch_id>0</good_funds_batch_id><network_batch_id>0</network_batch_id><state_date>2006-01-06-05:00</state_date><state formatted="In Process" id="6">Created</state><record_info><creation app="BPEL" by="0" date="2006-01-06T11:14:33-05:00"/></record_info></state_history><state_history><failed_reason_code>0</failed_reason_code><money_batch_id>0</money_batch_id><good_funds_batch_id>1817</good_funds_batch_id><network_batch_id>0</network_batch_id><state_date>2006-01-06-05:00</state_date><state formatted="In Process" id="6">Created</state><trace_number>211170100000003</trace_number><record_info><creation app="BPEL" by="0" date="2006-01-06T11:14:35-05:00"/></record_info></state_history><state_history><failed_reason_code>0</failed_reason_code><money_batch_id>0</money_batch_id><good_funds_batch_id>1817</good_funds_batch_id><network_batch_id>0</network_batch_id><state_date>2006-01-06-05:00</state_date><state formatted="In Process" id="22">Waiting for Decision</state><trace_number>211170100000003</trace_number><record_info><creation app="BPEL" by="0" date="2006-01-06T11:14:36-05:00"/></record_info></state_history><state_history><failed_reason_code>0</failed_reason_code><money_batch_id>824</money_batch_id><good_funds_batch_id>1817</good_funds_batch_id><network_batch_id>0</network_batch_id><state_date>2006-01-06-05:00</state_date><state formatted="In Process" id="12">Ready for Funding</state><trace_number>211170100000003</trace_number><record_info><creation app="BPEL" by="0" date="2006-01-06T12:40:01-05:00"/></record_info></state_history><state_history><failed_reason_code>0</failed_reason_code><money_batch_id>824</money_batch_id><good_funds_batch_id>1817</good_funds_batch_id><network_batch_id>0</network_batch_id><state_date>2006-01-06-05:00</state_date><state formatted="In Process" id="9">Funded</state><trace_number>211170100000003</trace_number><record_info><creation app="BPEL" by="0" date="2006-01-06T12:40:01-05:00"/></record_info></state_history><state_history><failed_reason_code>0</failed_reason_code><money_batch_id>0</money_batch_id><good_funds_batch_id>1817</good_funds_batch_id><network_batch_id>0</network_batch_id><state_date>2006-01-06-05:00</state_date><state formatted="In Process" id="12">Ready for Funding</state><trace_number>211170100000003</trace_number><record_info><creation app="BPEL" by="0" date="2006-01-06T12:40:03-05:00"/></record_info></state_history><state_history><failed_reason_code>0</failed_reason_code><money_batch_id>824</money_batch_id><good_funds_batch_id>1817</good_funds_batch_id><network_batch_id>958</network_batch_id><state_date>2006-01-06-05:00</state_date><state formatted="In Process" id="9">Funded</state><trace_number>211170100000003</trace_number><record_info><creation app="BPEL" by="0" date="2006-01-06T12:43:56-05:00"/></record_info></state_history><state_history><failed_reason_code>0</failed_reason_code><money_batch_id>824</money_batch_id><good_funds_batch_id>1817</good_funds_batch_id><network_batch_id>958</network_batch_id><state_date>2006-01-06-05:00</state_date><state formatted="Mailed" id="11">Payment Sent</state><trace_number>211170100000003</trace_number><record_info><creation app="BPEL" by="0" date="2006-01-06T12:43:59-05:00"/></record_info></state_history><state_history><failed_reason_code>0</failed_reason_code><money_batch_id>824</money_batch_id><good_funds_batch_id>1817</good_funds_batch_id><network_batch_id>958</network_batch_id><state_date>2006-10-24-05:00</state_date><state formatted="Check Cashed by Payee" id="2">Cleared</state><trace_number>211170100000003</trace_number><record_info><creation app="EU" by="9999999" date="2006-02-03T12:38:08-05:00"/></record_info></state_history><record_info><creation app="BPEL" by="0" date="2006-01-06T11:14:33-05:00"/><updation app="EU" by="9999999" date="2006-02-03T12:38:08-05:00"/></record_info><research_request>false</research_request></payment></payload></task>
    When Im look at the same task in the BPELConsole, the task looks like:
    <task>
    <title>Payment not posted by payee</title>
    <assigneeUsers/>
    <assigneeGroups>ResearchManager</assigneeGroups>
    <acquiredBy/>
    <owner>bpeladmin</owner>
    <payload confirmation_number="1140724383057" due_date="2006-02-22-05:00" reason="Payment not posted by payee" >
    <requester>
    <first>PAULA MERRILL</first>
    <last>PAULA MERRILL</last>
    <tax_id/>
    </requester>
    <payment_type number="" >insuranceauto</payment_type>
    <record_info>
    <creation app="EU" by="282950" date="2006-02-23T14:53:03.056-05:00" />
    <updation app="EU" by="282950" date="2006-02-23T14:53:03.056-05:00" />
    </record_info>
    <payment id="3489" >
    <bank_info bank_id="2" funds_model="RISK" />
    <payment_info>
    <confirmation_number>5428</confirmation_number>
    <amount formattedValue="77.00" value="77" />
    <payment_date>2006-01-06-05:00</payment_date>
    <check_number>5851</check_number>
    <funded>false</funded>
    <merged>false</merged>
    <network id="3" status="ACTIVE" type="C" >MOORE</network>
    <alert_on_completion>false</alert_on_completion>
    <alert_number_days_before>0</alert_number_days_before>
    <scheduled_info id="2278" >
    <scheduled_for_date formatted="01/06/2006" >2006-01-06-05:00</scheduled_for_date>
    <scheduled_on_date formatted="01/06/2006" >2006-01-06-05:00</scheduled_on_date>
    <created_user_id>282950</created_user_id>
    <updated_user_id>0</updated_user_id>
    </scheduled_info>
    </payment_info>
    <payee_info id="24958" relationship_id="6004" >
    <payee_account_number>JUNIT123</payee_account_number>
    <nick_name>blahblah</nick_name>
    <name>complexpayeenameforatest</name>
    <address1>123 main street</address1>
    <address2>c/o anybody</address2>
    <city>Dark Cityrandomizer</city>
    <state>CT</state>
    <zip>06512</zip>
    <network id="3" status="ACTIVE" type="C" >MOORE</network>
    </payee_info>
    <customer_info id="2069" >
    <name>PAULA MERRILL</name>
    <customer_account_id>8</customer_account_id>
    <customer_account_number>213</customer_account_number>
    <customer_routing_number>111111111</customer_routing_number>
    <address1>Ernest Hemingway Drive</address1>
    <city>Springfield</city>
    <state>IL</state>
    <zip>62703</zip>
    </customer_info>
    <state_info>
    <failed_reason_code>0</failed_reason_code>
    <money_batch_id>824</money_batch_id>
    <good_funds_batch_id>1817</good_funds_batch_id>
    <network_batch_id>958</network_batch_id>
    <state_date>2006-10-24-05:00</state_date>
    <state formatted="Check Cashed by Payee" id="2" >Cleared</state>
    <trace_number>211170100000003</trace_number>
    </state_info>
    <state_history>
    <failed_reason_code>0</failed_reason_code>
    <money_batch_id>0</money_batch_id>
    <good_funds_batch_id>0</good_funds_batch_id>
    <network_batch_id>0</network_batch_id>
    <state_date>2006-01-06-05:00</state_date>
    <state formatted="In Process" id="6" >Created</state>
    <record_info>
    <creation app="BPEL" by="0" date="2006-01-06T11:14:33-05:00" />
    </record_info>
    </state_history>
    <state_history>
    <failed_reason_code>0</failed_reason_code>
    <money_batch_id>0</money_batch_id>
    <good_funds_batch_id>1817</good_funds_batch_id>
    <network_batch_id>0</network_batch_id>
    <state_date>2006-01-06-05:00</state_date>
    <state formatted="In Process" id="6" >Created</state>
    <trace_number>211170100000003</trace_number>
    <record_info>
    <creation app="BPEL" by="0" date="2006-01-06T11:14:35-05:00" />
    </record_info>
    </state_history>
    <state_history>
    <failed_reason_code>0</failed_reason_code>
    <money_batch_id>0</money_batch_id>
    <good_funds_batch_id>1817</good_funds_batch_id>
    <network_batch_id>0</network_batch_id>
    <state_date>2006-01-06-05:00</state_date>
    <state formatted="In Process" id="22" >Waiting for Decision</state>
    <trace_number>211170100000003</trace_number>
    <record_info>
    <creation app="BPEL" by="0" date="2006-01-06T11:14:36-05:00" />
    </record_info>
    </state_history>
    <state_history>
    <failed_reason_code>0</failed_reason_code>
    <money_batch_id>824</money_batch_id>
    <good_funds_batch_id>1817</good_funds_batch_id>
    <network_batch_id>0</network_batch_id>
    <state_date>2006-01-06-05:00</state_date>
    <state formatted="In Process" id="12" >Ready for Funding</state>
    <trace_number>211170100000003</trace_number>
    <record_info>
    <creation app="BPEL" by="0" date="2006-01-06T12:40:01-05:00" />
    </record_info>
    </state_history>
    <state_history>
    <failed_reason_code>0</failed_reason_code>
    <money_batch_id>824</money_batch_id>
    <good_funds_batch_id>1817</good_funds_batch_id>
    <network_batch_id>0</network_batch_id>
    <state_date>2006-01-06-05:00</state_date>
    <state formatted="In Process" id="9" >Funded</state>
    <trace_number>211170100000003</trace_number>
    <record_info>
    <creation app="BPEL" by="0" date="2006-01-06T12:40:01-05:00" />
    </record_info>
    </state_history>
    <state_history>
    <failed_reason_code>0</failed_reason_code>
    <money_batch_id>0</money_batch_id>
    <good_funds_batch_id>1817</good_funds_batch_id>
    <network_batch_id>0</network_batch_id>
    <state_date>2006-01-06-05:00</state_date>
    <state formatted="In Process" id="12" >Ready for Funding</state>
    <trace_number>211170100000003</trace_number>
    <record_info>
    <creation app="BPEL" by="0" date="2006-01-06T12:40:03-05:00" />
    </record_info>
    </state_history>
    <state_history>
    <failed_reason_code>0</failed_reason_code>
    <money_batch_id>824</money_batch_id>
    <good_funds_batch_id>1817</good_funds_batch_id>
    <network_batch_id>958</network_batch_id>
    <state_date>2006-01-06-05:00</state_date>
    <state formatted="In Process" id="9" >Funded</state>
    <trace_number>211170100000003</trace_number>
    <record_info>
    <creation app="BPEL" by="0" date="2006-01-06T12:43:56-05:00" />
    </record_info>
    </state_history>
    <state_history>
    <failed_reason_code>0</failed_reason_code>
    <money_batch_id>824</money_batch_id>
    <good_funds_batch_id>1817</good_funds_batch_id>
    <network_batch_id>958</network_batch_id>
    <state_date>2006-01-06-05:00</state_date>
    <state formatted="Mailed" id="11" >Payment Sent</state>
    <trace_number>211170100000003</trace_number>
    <record_info>
    <creation app="BPEL" by="0" date="2006-01-06T12:43:59-05:00" />
    </record_info>
    </state_history>
    <state_history>
    <failed_reason_code>0</failed_reason_code>
    <money_batch_id>824</money_batch_id>
    <good_funds_batch_id>1817</good_funds_batch_id>
    <network_batch_id>958</network_batch_id>
    <state_date>2006-10-24-05:00</state_date>
    <state formatted="Check Cashed by Payee" id="2" >Cleared</state>
    <trace_number>211170100000003</trace_number>
    <record_info>
    <creation app="EU" by="9999999" date="2006-02-03T12:38:08-05:00" />
    </record_info>
    </state_history>
    <record_info>
    <creation app="BPEL" by="0" date="2006-01-06T11:14:33-05:00" />
    <updation app="EU" by="9999999" date="2006-02-03T12:38:08-05:00" />
    </record_info>
    <research_request>false</research_request>
    </payment>
    </payload>
    <conclusion/>
    <state>ASSIGNED</state>
    <subState>ASSIGNED</subState>
    <processId>ResearchRequestWorkflow</processId>
    <processName>ResearchRequestWorkflow</processName>
    <processVersion>1.0</processVersion>
    <instanceId>2304</instanceId>
    <domainId>default</domainId>
    <processOwner>bpeladmin</processOwner>
    <taskId>0D7B97F1B138EE21E04017AC2B194357</taskId>
    <versionReason>Task Created</versionReason>
    <taskGroupId/>
    <taskType>http://blade-11.payveris.com:9700/orabpel/default/ResearchRequestWorkflow/1.0/taskConfigResearchRequest.xml</taskType>
    <identificationKey>PAULA MERRILL, 2069</identificationKey>
    <comments/>
    <priority>3</priority>
    <creator>bpeladmin</creator>
    <updatedBy>bpeladmin</updatedBy>
    <hasSubTasks>false</hasSubTasks>
    <approvers/>
    <pattern>SINGLE_APPROVAL</pattern>
    <flexString1>1140724383057</flexString1>
    <flexString2>PAULA MERRILL</flexString2>
    <flexString3>PAULA MERRILL</flexString3>
    <flexString4>PaymentId3489</flexString4>
    <flexDouble1/>
    <flexDouble2/>
    <flexLong1/>
    <flexLong2/>
    <flexDate1/>
    <flexDate2/>
    <flexDate3/>
    <attachment/>
    <taskNumber>10240</taskNumber>
    <creationDate>2006-02-23T14:53:08.955-05:00</creationDate>
    <modifyDate>2006-02-23T14:53:08.955-05:00</modifyDate>
    <isGroup>true</isGroup>
    <versionNumber>1</versionNumber>
    <notm>1</notm>
    <expirationDate/>
    <expirationDuration/>
    </task>
    Message was edited by:
    gjacobi

    I am using oracle.tip.pc.services.hw.task.impl.Task
    that object has a toXML method.
    To get that object, I am using the RemoteWorklistServiceClient.getWorlistTaskById method.
    A word of caution. Not only am I still having the issue above (I had to hack my own WorkflowTask.xsd to make it validate) but I have noticed that the toXML() method actually returns different results when you think it would not. For example, I have something similar to the following code:
    task.toXML()
    task.toElement()
    task.getPayload()
    task.toXML()
    The first and last toXML methods produce strings that do not match (it adds some empty elements to the end of the document). Weird. Very Weird.
    Greg

Maybe you are looking for

  • APEX not working with SSO

    I am trying to setup APEX 3.1 (fresh installation not upgrade) to work with SSO on Linux. APEX and AP infrastructure are installed on separate servers and APEX is working with mid tier HTTP server. I have followed the steps below and I don’t get any

  • Importing XML into oracle 11g database

    I am having some difficulty parsing an XML file into oracle 11g database. Currently using Oracle 11g Express Edition (XE) Here is how my XML file looks like: <?xml version="1.0" encoding="UTF-8" standalone="yes" ?> - <AccountMap xmlns:xsi="http://www

  • Problem compilling a java file

    I've got problems using my jdk1.2 . When i try to compile a java file using ms-dos console or kawa program, appears this error text: Javaw.exe has generated an error it's gonna be closed by windows , you must restart the program. A error register is

  • Need Help ASAP! TV Show won't sync, required disc not found

    I need some help!!! I am trying to sync a TV SHow to my iPod and I can't get it to work. For some reason in iTunes, I have to completely unplug and plug in my iPod anytime I want it to sync, pressing the sync button does not work, neither does pressi

  • After an firefox auto-update, there is a circle with slash over the icon (do not) and it will not launch.

    Firefox was doing one of its automatic updates and it never finished but a circle with a slash through it appeared on the icon and now Firefox won't launch. It gives the following error message: "The application "Firefox" cannot be launched. -10661"