Call Termination Cause Value = 47
Dear All,
We have an IP-IP Gateway which is for VoIP termination. Dialing to particular countries for example China, we are getting cause code = 47.
We refered back to VoIP Telco but they insisted the problem is on the IP-IP Gateway equipment. Attached is the config (portions) and CAR...
Hi Nicholas,
Cause code 47 is "No Resources".
Generally, this is just as it sounds. It can usually be traced to either a lack of DSP resources, channels, or more often than not a codec issue.
Check the region of your MTP and Annunciator against the region of your H323 trunk, and see if you will need to transcode. If so, make sure you have a transcoder available.
As well, make sure your MRGL properly lists both an MTP and transcoder.
There's about a 90% chance that the no resources has something to do with transcoding or MTP on CUCM related to your codec.
Does this only happen on transfers, faxes, when the call rings, etc?
hth,
nick
Similar Messages
-
"ORA-29532: Java call terminated by uncaught Java exception
Dear Oracle:
I am trying to establish an HTTPS connection from a Java stored
procedure that is wrapped in a PL/SQL procedure and loaded into a
Package. We are running on Oracle 8.1.7.
My Java code compiles and runs fine when run stand-alone outside
Oracle; I can establish the connection to a secure server and talk to
the server. However when I load this Java class (using the loadjava
utility) this class can no longer run and I get a the following
exception:
"ORA-29532: Java call terminated by uncaught Java exception:
javax.net.ssl.SSLException: SSL handshake failed:
X509CertChainIncompleteErr"
I have tried loading the JSSE from Sun and I still get the same error.
Searching in the Discussing Forums I found the following link (which
describes a procedure that logs into the UPS secure server site and
grabs some XML) http://osi.oracle.com/~mbpierma/SSL_Java_DB.html .
This code works ok if we try to connect to UPS server. However this
code doesn't work if we try to log in to a different server (such as
???). If I modify this code slightly and try to log to any other
sever server I get the same error as the one above. Investigation
lead us to understand that the certificate at the UPS web site is a
self-signed certificate -- not one generated by a major 'recognized'
authority such as Verisign or Thawte.
Further research pointed me to the following URL
http://www.znow.com/sales/oracle/network.816/a76932/appf_ora.htm#619367
This URL has the documentation for JAVA SSL for 8.1.6 which I figure
I could read and try to make it work in 8.1.7.
I looked at your Secure Hello World example, however the code is
missing the most critical parts of the whole example, it does not
specify where the certificate or any of the security settings come
from (see the attached JavaCertExample.txt file).
So, my questions are the following:
1) What should I do to avoid the error mentioned above?
2) Do you have a sample piece of code that describes how to make a
HTTPS connection using a Java stored procedure?
3) Can I make the HTTPS connection using a URL class and not using
sockets directly?
4) Do I need to load the JSEE provided by Sun?
5) Will the solution be different for Oracle 9i?
// SecureHelloClient.java
import java.net.*;
import java.io.*;
import java.util.*;
import javax.net.ssl.*;
import javax.security.cert.X509Certificate;
import oracle.security.ssl.OracleSSLCredential;
import oracle.security.ssl.OracleSSLSocketFactory;
import oracle.security.ssl.OracleSSLProtocolVersion;
import oracle.security.ssl.OracleSSLSession;
public class SecureHelloClient
public static void main(String argv[])
String hostName = "localhost";
if(argv.length != 0)
String hostName = argv[0];
// Set the SSLSocketFactoryImpl class as follows:
java.util.Properties prop = System.getProperties();
prop.put("SSLSocketFactoryImplClass",
"oracle.security.ssl.OracleSSLSocketFactoryImpl");
try
// Get the default socket factory
OracleSSLSocketFactory sSocFactory
= (OracleSSLSocketFactory)SSLSocketFactory.getDefault();
sSocFactory.setSSLProtocolVersion(OracleSSLProtocolVersion.SSL_Version_3_0);
OracleSSLCredential sslCredObj = new OracleSSLCredential();
// Where did these values come from? caCert, userCert, trustedCert,
// Set the certificate chain and private key if the
// server requires client authentication
sslCredObj.addCertChain(caCert)
sslCredObj.addCertchain(userCert)
sslCredObj.setPrivateKey(userPvtKey, userPassword)
// Populate credential object
sslCredObj.addTrustedCert(trustedCert);
sSocFactory.setSSLCredentials(sslCredObj);
// Create the socket using factory
SSLSocket jsslSoc =
(SSLSocket)sSocFactory.createSocket(hostName, 8443);
String [] ciphers = jsslSoc.getSupportedCipherSuites() ;
// Select the ciphers you want and put them.
// Here we will put all availabel ciphers
jsslSoc.setEnabledCipherSuites(ciphers);
// We are creating socket in client mode
jsslSoc.setUseClientMode(true);
// Do SSL handshake
jsslSoc.startHandshake();
// Print negotiated cipher
System.out.println("Negotiated Cipher Suite: "
+jsslSoc.getSession().getCipherSuite());
System.out.println("");
X509Certificate[] peerCerts
= ((javax.net.ssl.SSLSocket)jsslSoc).getSession().getPeerCertificateChain();
if (peerCerts != null)
System.out.println("Printing server information:");
for(int i =0; i ? peerCerts.length; i++)
System.out.println("Peer Certificate ["+i+"] Information:");
System.out.println("- Subject: " + peerCerts.getSubjectDN().getName());
System.out.println("- Issuer: " + peerCerts[i].getIssuerDN().getName());
System.out.println("- Version: " + peerCerts[i].getVersion());
System.out.println("- Start Time: " + peerCerts[i].getNotBefore().toString());
System.out.println("- End Time: " + peerCerts[i].getNotAfter().toString());
System.out.println("- Signature Algorithm: " + peerCerts[i].getSigAlgName());
System.out.println("- Serial Number: " + peerCerts[i].getSerialNumber());
else
System.out.println("Failed to get peer certificates");
// Now do data exchange with client
OutputStream out = jsslSoc.getOutputStream();
InputStream in = jsslSoc.getInputStream();
String inputLine, outputLine;
byte [] msg = new byte[1024];
outputLine = "HELLO";
out.write(outputLine.getBytes());
int readLen = in.read(msg, 0, msg.length);
if(readLen > 0)
inputLine = new String(msg, 0, readLen);
System.out.println("");
System.out.println("Server Message:");
System.out.println(inputLine );
else
System.out.println("Can't read data from client");
// Close all sockets and streams
out.close();
in.close();
jsslSoc.close();
catch(SSLException e)
System.out.println("SSL exception caught:");
e.printStackTrace();
catch(IOException e)
System.out.println("IO exception caught:");
e.printStackTrace();
catch(Exception e)
System.out.println("Exception caught:");
e.printStackTrace();Hi,
I have the same problem.
Is some ORACLE guru that can help us ?
We need to communicate with some servlet
via POST method of https (SSL3)
and with using private certificate on the client site.
We need furthermore allow using of some proxy.
Client site is realized as set of stored procedures within ORACLE 8.1.7
In this time I am able to communicate with server without SSL and certificate
using package utl_tcp
(but with this solution without certificate is our customer not satisfied -:))
ORACLE help us please !
Pavel Pospisil
[email protected] -
Hi,
I have a requirement of calling BI webservices from Plsql stored procedure. I generated all my wsdl java classes and loaded them into the database. However, when I tried to call one of my java class using stored procedure, it is giving me"ORA-29532: Java call terminated by uncaught Java exception: java.lang.NoClassDefFoundError".
*Cause: A Java exception or error was signaled and could not be
resolved by the Java code.
*Action: Modify Java code, if this behavior is not intended.
But all my dependency classes are present in database as java class objects and are valid. Can some one help me out of this?Stiphane,
You can look in USER_ERRORS to see if there's anything more specific reported by the compiler. But, it could also be the case that everything's OK (oddly enough). I loaded the JavaMail API in an 8.1.6 database and also got bytecode verifier errors, but it ran fine. Here are the errors I got when loading Sun's activation.jar, which ended up not being a problem:
ORA-29552: verification warning: at offset 12 of <init> void (java.lang.String, java.lang.String) cannot access class$java$io$InputStream
verifier is replacing bytecode at <init> void (java.lang.String, java.lang.String):12 by a throw at offset 18 of <init> void (java.lang.String, java.lang.String) cannot access class$java$io$InputStream
verifier is replacing bytecode at <init> void (java.lang.String, java.lang.String):18 by a throw at offset 30 of <init> void (java.lang.String, java.lang.String) cannot access class$java$io$InputStream
verifier is replacing bytecode at <init> void (java.lang.String, java.lang.String):30 by a throw
Hope this helps,
-Dan
http://www.compuware.com/products/devpartner/db/oracle_debug.htm
Debug PL/SQL and Java in the Oracle Database -
Blob writing error ORA-29532 Java call terminated Unsupported feature
Hi there,
I've got the following Java code which tries to write to a BLOB file. It's a version of some code to extract files from a zip archive, but with everything but the erroring call stripped out:
create or replace and compile java source named zipunpack as
package org.bristol.cyps;
import oracle.sql.BLOB;
import java.util.zip.*;
public class ZipUnpack
public static int unpack(BLOB ziparray[], String filename, BLOB filearray[])
throws java.sql.SQLException, java.io.IOException
BLOB file = filearray[0];
java.io.OutputStream fileout = file.setBinaryStream(0L);
return 1;
This is published as follows:
create or replace function zip_unpack (
pio_zip in out nocopy blob
, pi_filename in varchar2
, pio_file in out nocopy blob
) return number as language java
name 'org.bristol.cyps.ZipUnpack.unpack(oracle.sql.BLOB[], java.lang.String, oracle.sql.BLOB[]) return java.lang.Integer';
And called like so:
procedure send_zip_file (
pi_zip in out nocopy blob
, pi_filename in varchar2
) is
file blob;
completed integer;
begin
dbms_lob.createtemporary (
lob_loc => file
, cache => false
, dur => dbms_lob.call
completed := zip_unpack(pi_zip, pi_filename, file);
if completed > 0 then
bare_html.print_blob(file);
else
htp.print('File "' || pi_filename || '" not found');
end if;
end;
This, as far as I can tell from the documentation, should work. Unfortunately, though, it generates an error:
ORA-29532: Java call terminated by uncaught Java exception: java.sql.SQLException: Unsupported feature
The particular line which is causing the error is the "java.io.OutputStream fileout = file.setBinaryStream(0L);" If I remove this, it runs fine. I'm flumoxed as to why this might be causing an "Unsupported feature" exception when it's documented as being supported. Can anyone shed any light?
Cheers,
Robert
Message was edited for more clarityHi,
It looks like you are not using 10g JDBC. java.sql.Blob.setBinaryStream is a JDBC 3.0 method. In 9iR2 we added support for jdk14 and added stub methods for JDBC 3.0 behavior without fully implementing them. 10gR1 was the first version where the JDBC3.0 methods were fully supported.
The workaround is to use the Oracle proprietary method oracle.sql.BLOB.getBinaryOutputStream
Kuassi, http://db360.blogspot.com -
HELP Can't call terminal by Mod4+Enter (awesome wm)
I can't call terminal by binding key Mod4+Enter. What wrong happened with my rc.lua ?. Please help me. My english not well, sorry everyone.!
-- z1lt0id Awesome WM 3.5.+ config --
-- github.com/z1lt0id --
-- Varation of github.com/copycat --
-- Required Libraries
gears = require("gears")
awful = require("awful")
awful.rules = require("awful.rules")
awful.autofocus = require("awful.autofocus")
wibox = require("wibox")
beautiful = require("beautiful")
naughty = require("naughty")
vicious = require("vicious")
scratch = require("scratch")
-- layouts
layouts = require("layouts")
-- Conky
function get_conky()
local clients = client.get()
local conky = nil
local i = 1
while clients[i]
do
if clients[i].class == "Conky"
then
conky = clients[i]
end
i = i + 1
end
return conky
end
function raise_conky()
local conky = get_conky()
if conky
then
conky.ontop = true
end
end
function lower_conky()
local conky = get_conky()
if conky
then
conky.ontop = false
end
end
function toggle_conky()
local conky = get_conky()
if conky
then
if conky.ontop
then
conky.ontop = false
else
conky.ontop = true
end
end
end
-- Run once function
function run_once(cmd)
findme = cmd
firstspace = cmd:find(" ")
if firstspace then
findme = cmd:sub(0, firstspace-1)
end
awful.util.spawn_with_shell("pgrep -u $USER -x " .. findme .. " > /dev/null || (" .. cmd .. ")")
end
run_once("compton --backend glx --paint-on-overlay --vsync opengl-swc --unredir-if-possible --shadow-exclude 'n:a:Conky' --blur-background-exclude 'n:a:Conky' --config ~/.compton.conf -b")
-- run_once("nm-applet")
-- run_once("/opt/dropbox/dropboxd")
run_once("mpd")
run_once("conky ~/.conkyrc")
run_once("unclutter -idle 1")
-- Localization
os.setlocale("en_AU.UTF-8")
-- Error Handling
-- Check if awesome encountered an error during startup and fell back to
-- another config (This code will only ever execute for the fallback config)
if awesome.startup_errors then
naughty.notify({ preset = naughty.config.presets.critical,
title = "Oops, there were errors during startup!",
text = awesome.startup_errors })
end
-- Handle runtime errors after startup
do
in_error = false
awesome.connect_signal("debug::error", function (err)
-- Make sure we don't go into an endless error loop
if in_error then return end
in_error = true
naughty.notify({ preset = naughty.config.presets.critical,
title = "Oops, an error happened!",
text = err })
in_error = false
end)
end
-- Variable Definitions
home = os.getenv("HOME")
confdir = home .. "/.config/awesome"
scriptdir = confdir .. "/script/"
themes = confdir .. "/themes"
active_theme = themes .. "/blackburn"
beautiful.init(active_theme .. "/theme.lua")
terminal = "urxvt"
editor = "vim"
editor_cmd = terminal .. " -e " .. editor
gui_editor = "gedit"
browser = "dwb"
browser2 = "dwb"
mail = terminal .. " -g 130x30 -e mutt "
tasks = terminal .. " -e htop "
musicplr = terminal .. " -g 130x34-320+16 -e ncmpcpp "
modkey = "Mod4"
altkey = "Mod1"
-- Table of layouts to cover with awful.layout.inc, order matters.
layouts =
awful.layout.suit.floating,
layouts.uselesstile,
layouts.termfair,
layouts.browse,
layouts.uselessfair,
layouts.centerwork,
-- Wallpaper
if beautiful.wallpaper then
for s = 1, screen.count() do
gears.wallpaper.maximized(beautiful.wallpaper, s, true)
end
end
-- Tags
tags = {
names = { " :) ", " :/ ", " :P ", " X) ", " ;) "},
layout = { layouts[1], layouts[2], layouts[2], layouts[2], layouts[2] }
for s = 1, screen.count() do
tags[s] = awful.tag(tags.names, s, tags.layout)
end
-- Menu
myaccessories = {
{ "ranger", terminal .. " -depth 16 -g 130x30 -e ranger"},
{ "editor", gui_editor }
myinternet = {
{ "weechat", terminal .. " -g 130x30 -e weechat-curses" },
{ "sabnzbd" , "dwb http://localhost:9090" },
{ "transmission", terminal .. " -g 130x30 -e transmission-remote-cli -c xenogia:dot.dot.dot@localhost:9091" },
{ "sickbeard", "dwb http://localhost:8081" },
{ "couchpotato", "dwb http://localhost:5050"}
mymedia = {
{ "volume", "pavucontrol"},
{ "smplayer", "smplayer"},
{ "vlc", terminal .. " -e vlc -I ncurses" },
{ "cdw", terminal .. " -g 130x30 -e cdw"},
{ "devede", "devede"},
{ "ghb" , "ghb"}
mygames = {
{ "playonlinux", "playonlinux"},
{ "dosbox" , "dosbox"},
{ "desura", "desura"},
{ "steam", "steam" },
mygraphics = {
{ "gimp" , "gimp" },
{ "feh" , "feh" }
myoffice = {
{ "libreoffice" , "libreoffice" }
mysystem = {
{ "lxappearance" , "lxappearance" },
{ "gparted" , "sudo gparted"},
{ "htop" , tasks }
mymainmenu = awful.menu({ items = {
{ "accessories" , myaccessories },
{ "graphics" , mygraphics },
{ "internet" , myinternet },
{ "media" , mymedia },
{ "games" , mygames },
{ "office" , myoffice },
{ "system" , mysystem },
mylauncher = awful.widget.launcher({ image = beautiful.awesome_icon,
menu = mymainmenu })
-- Colours
coldef = "</span>"
colwhi = "<span color='#b2b2b2'>"
colbwhi = "<span color='#ffffff'>"
blue = "<span color='#7493d2'>"
yellow = "<span color='#e0da37'>"
grey = "<span color='#636060'>"
purple = "<span color='#e33a6e'>"
lightpurple = "<span color='#eca4c4'>"
azure = "<span color='#80d9d8'>"
green = "<span color='#87af5f'>"
lightgreen = "<span color='#62b786'>"
red = "<span color='#bd0707'>"
orange = "<span color='#ff7100'>"
brown = "<span color='#db842f'>"
fuchsia = "<span color='#800080'>"
gold = "<span color='#e7b400'>"
lightblue="<span color='#3eae9e'>"
lightblue2="<span color='#266c76'>"
lightblue3="<span color='#285666'>"
lightblue4="<span color='#257c85'>"
lightblue5="<span color='#223d5a'>"
lightblue6="<span color='#235369'>"
offyellow="<span color='#857b52'>"
bottomgrey="<span color='#999999'>"
-- {{{ Wibox
-- {{{{ Temp
tempicon = wibox.widget.imagebox()
tempicon:set_image(beautiful.widget_temp)
tempwidget = wibox.widget.textbox()
vicious.register(tempwidget, vicious.widgets.thermal, bottomgrey .. " Temp: $1°C" .. coldef, 15, "thermal_zone0")
-- {{{ Kernel Info
sysicon = wibox.widget.imagebox()
sysicon:set_image(beautiful.widget_arch)
syswidget = wibox.widget.textbox()
vicious.register( syswidget, vicious.widgets.os, bottomgrey .. " Kernel: $2" .. coldef)
-- {{{ Uptime
uptimeicon = wibox.widget.imagebox()
uptimeicon:set_image(beautiful.widget_uptime)
uptimewidget = wibox.widget.textbox()
vicious.register( uptimewidget, vicious.widgets.uptime, bottomgrey .. " Uptime: $1d $2h $3m" .. coldef)
-- {{{ Cpu
-- CPU widget
cpuicon = wibox.widget.imagebox()
cpuicon:set_image(beautiful.widget_cpu)
cpuwidget = wibox.widget.textbox()
vicious.register(cpuwidget, vicious.widgets.cpu, bottomgrey .. " Cpu: $1%" .. coldef, 15)
cpuicon:buttons(awful.util.table.join(awful.button({ }, 1, function () awful.util.spawn(tasks, false) end)))
-- {{{ Ram
-- Memory widget
memicon = wibox.widget.imagebox()
memicon:set_image(beautiful.widget_mem)
memwidget = wibox.widget.textbox()
vicious.register(memwidget, vicious.widgets.mem, bottomgrey .. " Memory: $2MB" .. coldef, 15)
-- {{{ Mpd
mpdicon = wibox.widget.imagebox()
mpdicon:set_image(beautiful.widget_mpd)
mpdwidget = wibox.widget.textbox()
-- Register widget
vicious.register(mpdwidget, vicious.widgets.mpd,
function (widget, args)
if args["{state}"] == "Stop" then
return " - "
else
return args["{Artist}"]..' - '.. args["{Title}"]
end
end, 10)
-- {{{ Net
-- Net widget
netdownicon = wibox.widget.imagebox()
netdownicon:set_image(beautiful.widget_netdown)
netdownicon.align = "middle"
netdowninfo = wibox.widget.textbox()
vicious.register(netdowninfo, vicious.widgets.net, green .. "${enp9s0 down_kb}" .. coldef, 1)
netupicon = wibox.widget.imagebox()
netupicon:set_image(beautiful.widget_netup)
netupicon.align = "middle"
netupinfo = wibox.widget.textbox()
vicious.register(netupinfo, vicious.widgets.net, red .. "${enp9s0 up_kb}" .. coldef, 1)
ethdowninfo = wibox.widget.textbox()
vicious.register(ethdowninfo, vicious.widgets.net, "<span color=\"#d3c6d7\">${enp9s0 down_kb}</span>", 1)
ethupinfo = wibox.widget.textbox()
vicious.register(ethupinfo, vicious.widgets.net, "<span color=\"#d3c6d7\">${enp9s0 up_kb}</span>", 1)
-- {{{ Volume
-- Volume widget
volicon = wibox.widget.imagebox()
volicon:set_image(beautiful.widget_vol)
volumewidget = wibox.widget.textbox()
vicious.register(volumewidget, vicious.widgets.volume, bottomgrey .. " Volume: $1%" .. coldef, 1, "Master")
-- Pacman Widget --
-- Pacman Icon
pacicon = wibox.widget.imagebox()
pacicon:set_image(beautiful.widget_pac)
-- Pacman Widget
pacwidget = wibox.widget.textbox()
pacwidget_t = awful.tooltip({ objects = {pacwidget},})
vicious.register(pacwidget, vicious.widgets.pkg,
function(widget,args)
local io = { popen = io.popen }
local s = io.popen("pacman -Qu")
local str = ''
for line in s:lines() do
str = str .. line .. "\n"
end
pacwidget_t:set_text(str)
s:close()
return "" .. bottomgrey .. " Updates: " .. args[1] .. coldef
end, 60, "Arch")
--'1800' means check every 30 minutes
pacicon:buttons(awful.util.table.join(
awful.button({ }, 3, function () awful.util.spawn("".. terminal.. " --hold -e sudo pacman -Syu", false) end),
awful.button({ }, 1, function () awful.util.spawn("sudo pacman -Syu", false) end)
-- {{{ Clock
-- Textclock widget
clockicon = wibox.widget.imagebox()
clockicon:set_image(beautiful.widget_clock)
mytextclock = awful.widget.textclock(bottomgrey .. " %A %d %B</span> " .. colwhi .. "</span><span color=\"#ffffff\">></span> <span color='#999999'>%H:%M</span>")
-- {{{ Spacers
space = wibox.widget.textbox()
space:set_text(' ')
-- {{{ Seperator
openb = wibox.widget.textbox(lightblue6 .. " [" .. coldef)
closeb = wibox.widget.textbox(lightblue6 .. " ]" .. coldef)
-- Create a wibox for each screen and add it
mywibox = {}
mybottomwibox = {}
bottombox = {}
mypromptbox = {}
mylayoutbox = {}
mytaglist = {}
mytaglist.buttons = awful.util.table.join(
awful.button({ }, 1, awful.tag.viewonly),
awful.button({ modkey }, 1, awful.client.movetotag),
awful.button({ }, 3, awful.tag.viewtoggle),
awful.button({ modkey }, 3, awful.client.toggletag),
awful.button({ }, 4, function(t) awful.tag.viewnext(awful.tag.getscreen(t)) end),
awful.button({ }, 5, function(t) awful.tag.viewprev(awful.tag.getscreen(t)) end)
mytasklist = {}
mytasklist.buttons = awful.util.table.join(
awful.button({ }, 1, function (c)
if c == client.focus then
c.minimized = true
else
-- Without this, the following
-- :isvisible() makes no sense
c.minimized = false
if not c:isvisible() then
awful.tag.viewonly(c:tags()[1])
end
-- This will also un-minimize
-- the client, if needed
client.focus = c
c:raise()
end
end),
awful.button({ }, 3, function ()
if instance then
instance:hide()
instance = nil
else
instance = awful.menu.clients({ width=250 })
end
end),
awful.button({ }, 4, function ()
awful.client.focus.byidx(1)
if client.focus then client.focus:raise() end
end),
awful.button({ }, 5, function ()
awful.client.focus.byidx(-1)
if client.focus then client.focus:raise() end
end))
for s = 1, screen.count() do
-- Create a promptbox for each screen
mypromptbox[s] = awful.widget.prompt()
-- Create an imagebox widget which will contains an icon indicating which layout we're using.
-- We need one layoutbox per screen.
mylayoutbox[s] = awful.widget.layoutbox(s)
mylayoutbox[s]:buttons(awful.util.table.join(
awful.button({ }, 1, function () awful.layout.inc(layouts, 1) end),
awful.button({ }, 3, function () awful.layout.inc(layouts, -1) end),
awful.button({ }, 4, function () awful.layout.inc(layouts, 1) end),
awful.button({ }, 5, function () awful.layout.inc(layouts, -1) end)))
-- Create a taglist widget
mytaglist[s] = awful.widget.taglist(s, awful.widget.taglist.filter.all, mytaglist.buttons)
-- Create a tasklist widget
mytasklist[s] = awful.widget.tasklist(s, awful.widget.tasklist.filter.currenttags, mytasklist.buttons)
-- Create the wibox
mywibox[s] = awful.wibox({ position = "top", screen = s })
-- Widgets that are aligned to the left
local left_layout = wibox.layout.fixed.horizontal()
left_layout:add(mylauncher)
left_layout:add(mypromptbox[s])
-- Widgets that are aligned to the right
local right_layout = wibox.layout.fixed.horizontal()
right_layout:add(space)
right_layout:add(space)
-- right_layout:add(mylayoutbox[s])
-- Now bring it all together (with the tasklist in the middle)
local layout = wibox.layout.align.horizontal()
layout:set_left(left_layout)
-- layout:set_middle(mytasklist[s])
layout:set_middle(mytaglist[s])
layout:set_right(right_layout)
mywibox[s]:set_widget(layout)
-- Create Bottom WiBox
mybottomwibox[s] = awful.wibox({ position = "bottom", screen = s })
-- Widgets Aligned to the Middle
local bottom_left_layout = wibox.layout.fixed.horizontal()
bottom_left_layout:add(sysicon)
bottom_left_layout:add(syswidget)
bottom_left_layout:add(space)
bottom_left_layout:add(volicon)
bottom_left_layout:add(volumewidget)
bottom_left_layout:add(space)
bottom_left_layout:add(cpuicon)
bottom_left_layout:add(cpuwidget)
bottom_left_layout:add(space)
bottom_left_layout:add(memicon)
bottom_left_layout:add(memwidget)
bottom_left_layout:add(space)
bottom_left_layout:add(tempicon)
bottom_left_layout:add(tempwidget)
bottom_left_layout:add(space)
bottom_left_layout:add(pacicon)
bottom_left_layout:add(pacwidget)
bottom_left_layout:add(space)
bottom_left_layout:add(uptimeicon)
bottom_left_layout:add(uptimewidget)
bottom_left_layout:add(space)
bottom_left_layout:add(clockicon)
bottom_left_layout:add(mytextclock)
local bottom_right_layout = wibox.layout.fixed.horizontal()
if s == 1 then bottom_right_layout:add(wibox.widget.systray()) end
-- Bring Bottom Wibox Together
local bottom_layout = wibox.layout.align.horizontal()
bottom_layout:set_middle(bottom_left_layout)
bottom_layout:set_right(bottom_right_layout)
mybottomwibox[s]:set_widget(bottom_layout)
end
-- Mouse Bindings
root.buttons(awful.util.table.join(
awful.button({ }, 3, function () mymainmenu:toggle() end),
awful.button({ }, 4, awful.tag.viewnext),
awful.button({ }, 5, awful.tag.viewprev)
-- Key bindings
globalkeys = awful.util.table.join(
-- Capture a screenshot
awful.key({ altkey }, "p", function() awful.util.spawn("screenshot",false) end),
-- Move clients
awful.key({ altkey }, "Next", function () awful.client.moveresize( 1, 1, -2, -2) end),
awful.key({ altkey }, "Prior", function () awful.client.moveresize(-1, -1, 2, 2) end),
awful.key({ altkey }, "Down", function () awful.client.moveresize( 0, 1, 0, 0) end),
awful.key({ altkey }, "Up", function () awful.client.moveresize( 0, -1, 0, 0) end),
awful.key({ altkey }, "Left", function () awful.client.moveresize(-1, 0, 0, 0) end),
awful.key({ altkey }, "Right", function () awful.client.moveresize( 1, 0, 0, 0) end),
awful.key({ modkey, }, "Left", awful.tag.viewprev ),
awful.key({ modkey, }, "Right", awful.tag.viewnext ),
awful.key({ modkey, }, "Escape", awful.tag.history.restore),
awful.key({ modkey, }, "k",
function ()
awful.client.focus.byidx( 1)
if client.focus then client.focus:raise() end
end),
awful.key({ modkey, }, "j",
function ()
awful.client.focus.byidx(-1)
if client.focus then client.focus:raise() end
end),
awful.key({ modkey, }, "w", function () mymainmenu:show({keygrabber=true}) end),
-- Show/Hide Wibox
awful.key({ modkey }, "b", function ()
mywibox[mouse.screen].visible = not mywibox[mouse.screen].visible
end),
-- Application Switcher
awful.key({ "Mod1" }, "Tab", function ()
-- If you want to always position the menu on the same place set coordinates
awful.menu.menu_keys.down = { "Down", "Alt_L" }
local cmenu = awful.menu.clients({width=245}, { keygrabber=true, coords={x=525, y=330} })
end),
-- Layout manipulation
awful.key({ modkey, "Shift" }, "j", function () awful.client.swap.byidx( 1) end),
awful.key({ modkey, "Shift" }, "k", function () awful.client.swap.byidx( -1) end),
awful.key({ modkey, "Control" }, "j", function () awful.screen.focus_relative( 1) end),
awful.key({ modkey, "Control" }, "k", function () awful.screen.focus_relative(-1) end),
awful.key({ modkey, }, "u", awful.client.urgent.jumpto),
awful.key({ modkey, }, "Tab",
function ()
awful.client.focus.history.previous()
if client.focus then
client.focus:raise()
end
end),
-- Standard program
awful.key({ modkey, }, "Return", function () awful.util.spawn(terminal) end),
awful.key({ modkey, "Control" }, "r", awesome.restart),
awful.key({ modkey, "Shift" }, "q", awesome.quit),
awful.key({ modkey, }, "l", function () awful.tag.incmwfact( 0.05) end),
awful.key({ modkey, }, "h", function () awful.tag.incmwfact(-0.05) end),
awful.key({ modkey, "Shift" }, "h", function () awful.tag.incnmaster( 1) end),
awful.key({ modkey, "Shift" }, "l", function () awful.tag.incnmaster(-1) end),
awful.key({ modkey, "Control" }, "h", function () awful.tag.incncol( 1) end),
awful.key({ modkey, "Control" }, "l", function () awful.tag.incncol(-1) end),
awful.key({ modkey, }, "space", function () awful.layout.inc(layouts, 1) end),
awful.key({ modkey, "Shift" }, "space", function () awful.layout.inc(layouts, -1) end),
awful.key({ modkey, "Control" }, "n", awful.client.restore),
-- Dropdown terminal
awful.key({ modkey, }, "z", function () scratch.drop(terminal) end),
-- Widgets popups
-- Volume control
awful.key({ "Control" }, "Up", function ()
awful.util.spawn("amixer set Master playback 1%+", false )
vicious.force({ volumewidget })
end),
awful.key({ "Control" }, "Down", function ()
awful.util.spawn("amixer set Master playback 1%-", false )
vicious.force({ volumewidget })
end),
awful.key({ "Control" }, "m", function ()
awful.util.spawn("amixer set Master playback mute", false )
vicious.force({ volumewidget })
end),
awful.key({ "Control" }, "u", function ()
awful.util.spawn("amixer set Master playback unmute", false )
vicious.force({ volumewidget })
end),
awful.key({ altkey, "Control" }, "m", function ()
awful.util.spawn("amixer set Master playback 100%", false )
vicious.force({ volumewidget })
end),
-- Music control
awful.key({ altkey, "Control" }, "Up", function ()
awful.util.spawn( "mpc toggle", false )
vicious.force({ mpdwidget } )
end),
awful.key({ altkey, "Control" }, "Down", function ()
awful.util.spawn( "mpc stop", false )
vicious.force({ mpdwidget } )
end ),
awful.key({ altkey, "Control" }, "Left", function ()
awful.util.spawn( "mpc prev", false )
vicious.force({ mpdwidget } )
end ),
awful.key({ altkey, "Control" }, "Right", function ()
awful.util.spawn( "mpc next", false )
vicious.force({ mpdwidget } )
end ),
-- Copy to clipboard
awful.key({ modkey, }, "c", function () os.execute("xsel -p -o | xsel -i -b") end),
-- User programs
awful.key({ modkey, }, "q", function () awful.util.spawn( "dwb", false ) end),
awful.key({ modkey, "Control" }, "m", function () awful.util.spawn( terminal .. " -g 130x30 -e mutt", false ) end),
awful.key({ modkey, }, "s", function () awful.util.spawn(gui_editor) end),
awful.key({ modkey, "Control" }, "f", function () awful.util.spawn( terminal .. " -depth 16 -g 130x30 -e ranger", false ) end),
awful.key({ modkey, "Control" }, "v", function () awful.util.spawn( "/usr/local/bin/video", false) end),
-- awful.key({ modkey, }, "d", function () awful.util.spawn( "spacefm", false ) end),
-- Conky
-- Prompt
awful.key({ modkey }, "r", function () mypromptbox[mouse.screen]:run() end),
awful.key({ modkey }, "x",
function ()
awful.prompt.run({ prompt = "Run Lua code: " },
mypromptbox[mouse.screen].widget,
awful.util.eval, nil,
awful.util.getdir("cache") .. "/history_eval")
end)
clientkeys = awful.util.table.join(
awful.key({ modkey, }, "f", function (c) c.fullscreen = not c.fullscreen end),
awful.key({ modkey, "Shift" }, "c", function (c) c:kill() end),
awful.key({ modkey, "Control" }, "space", awful.client.floating.toggle ),
awful.key({ modkey, "Control" }, "Return", function (c) c:swap(awful.client.getmaster()) end),
awful.key({ modkey, }, "o", awful.client.movetoscreen ),
awful.key({ modkey, }, "t", function (c) c.ontop = not c.ontop end),
awful.key({ modkey, }, "n",
function (c)
-- The client currently has the input focus, so it cannot be
-- minimized, since minimized clients can't have the focus.
c.minimized = true
end),
awful.key({ modkey, }, "m",
function (c)
c.maximized_horizontal = not c.maximized_horizontal
c.maximized_vertical = not c.maximized_vertical
end)
-- Compute the maximum number of digit we need, limited to 9
keynumber = 0
for s = 1, screen.count() do
keynumber = math.min(9, math.max(#tags[s], keynumber));
end
-- Bind all key numbers to tags.
-- Be careful: we use keycodes to make it works on any keyboard layout.
-- This should map on the top row of your keyboard, usually 1 to 9.
for i = 1, keynumber do
globalkeys = awful.util.table.join(globalkeys,
awful.key({ modkey }, "#" .. i + 9,
function ()
screen = mouse.screen
if tags[screen][i] then
awful.tag.viewonly(tags[screen][i])
end
end),
awful.key({ modkey, "Control" }, "#" .. i + 9,
function ()
screen = mouse.screen
if tags[screen][i] then
awful.tag.viewtoggle(tags[screen][i])
end
end),
awful.key({ modkey, "Shift" }, "#" .. i + 9,
function ()
if client.focus and tags[client.focus.screen][i] then
awful.client.movetotag(tags[client.focus.screen][i])
end
end),
awful.key({ modkey, "Control", "Shift" }, "#" .. i + 9,
function ()
if client.focus and tags[client.focus.screen][i] then
awful.client.toggletag(tags[client.focus.screen][i])
end
end))
end
clientbuttons = awful.util.table.join(
awful.button({ }, 1, function (c) client.focus = c; c:raise() end),
awful.button({ modkey }, 1, awful.mouse.client.move),
awful.button({ modkey }, 3, awful.mouse.client.resize))
-- Set keys
root.keys(globalkeys)
-- Rules
awful.rules.rules = {
-- All clients will match this rule.
{ rule = { },
properties = { border_width = beautiful.border_width,
border_color = beautiful.border_normal,
focus = true,
keys = clientkeys,
buttons = clientbuttons,
size_hints_honor = false
{ rule = { class = "MPlayer" },
properties = { floating = true } },
{ rule = { name = "PlayOnLinux" },
properties = { tag = tags[1][1] } },
{ rule = { instance = "urxvt", class = "URxvt" },
properties = { tag = tags[1][2] } },
{ rule = { class = "Sublime_text" },
properties = { tag = tags[1][4] } },
{ rule = { instance = "urxvt", class = "URxvt", name = "sabcurses.py"},
properties = { tag = tags[1][5] } },
{ rule = { instance = "urxvt", class = "URxvt", name = "ranger"},
properties = { tag = tags[1][2] } },
{ rule = { instance = "urxvt", class = "URxvt", name = "weechat"},
properties = { tag = tags[1][3] } },
{ rule = { instance = "urxvt", class = "URxvt", name = "mutt" },
properties = { tag = tags[1][3] } },
{ rule = { instance = "urxvt", class = "URxvt", name = "htop" },
properties = { tag = tags[1][2] } },
{ rule = { instance = "urxvt", class = "URxvt", name = "cdw" },
properties = { tag = tags[1][2] } },
{ rule = { instance = "urxvt", class = "URxvt", name = "transmission-remote-cli"},
properties = { tag = tags[1][5] } },
{ rule = { instance = "urxvt", class = "URxvt", name = "vlc"},
properties = { tag = tags[1][4] } },
{ rule = { class = "Conky" },
properties = {
floating = true,
sticky = true,
ontop = false,
border_width = 0,
focusable = false,
size_hints = {"program_position", "program_size"}
{ rule = { class = "Ghb" },
properties = { tag = tags[1][1] } },
{ rule = { class = "Devede" },
properties = { tag = tags[1][1] } },
{ rule = { name = "LibreOffice"},
properties = { tag = tags[1][4] } },
{ rule = { class = "Gimp" },
properties = { tag = tags[1][1],
floating = true } },
-- Signals
-- Signal function to execute when a new client appears.
client.connect_signal("manage", function (c, startup)
-- Enable sloppy focus
c:connect_signal("mouse::enter", function(c)
if awful.layout.get(c.screen) ~= awful.layout.suit.magnifier
and awful.client.focus.filter(c) then
client.focus = c
end
end)
if not startup then
-- Set the windows at the slave,
-- i.e. put it at the end of others instead of setting it master.
-- awful.client.setslave(c)
-- Put windows in a smart way, only if they does not set an initial position.
if not c.size_hints.user_position and not c.size_hints.program_position then
awful.placement.no_overlap(c)
awful.placement.no_offscreen(c)
end
end
local titlebars_enabled = false
if titlebars_enabled and (c.type == "normal" or c.type == "dialog") then
-- Widgets that are aligned to the left
local left_layout = wibox.layout.fixed.horizontal()
left_layout:add(awful.titlebar.widget.iconwidget(c))
-- Widgets that are aligned to the right
local right_layout = wibox.layout.fixed.horizontal()
right_layout:add(awful.titlebar.widget.floatingbutton(c))
right_layout:add(awful.titlebar.widget.maximizedbutton(c))
right_layout:add(awful.titlebar.widget.stickybutton(c))
right_layout:add(awful.titlebar.widget.ontopbutton(c))
right_layout:add(awful.titlebar.widget.closebutton(c))
right_layout:add(awful.titlebar.widget.closebutton(c))
-- The title goes in the middle
local title = awful.titlebar.widget.titlewidget(c)
title:buttons(awful.util.table.join(
awful.button({ }, 1, function()
client.focus = c
c:raise()
awful.mouse.client.move(c)
end),
awful.button({ }, 3, function()
client.focus = c
c:raise()
awful.mouse.client.resize(c)
end)
-- Now bring it all together
local layout = wibox.layout.align.horizontal()
layout:set_left(left_layout)
layout:set_right(right_layout)
layout:set_middle(title)
awful.titlebar(c):set_widget(layout)
end
end)
client.connect_signal("focus", function(c) c.border_color = beautiful.border_focus end)
client.connect_signal("unfocus", function(c) c.border_color = beautiful.border_normal end)@Prezioso: sorry about that i will upload some screenshots about error
Sloved. Thank you very much. urxvt not install, i change terminal to gnome-terminal.
I have one question about themes for copycat-killer. This is github https://github.com/copycat-killer/awesome-copycats.
I can't use his themes althought installed fonts are Terminus (Multicolor, Powerarrow Darker) and Tamsyn (other ones).
Then I copy them to ~/.fonts and use command " fc-cache -fv ". after that restart awesome but error font. What wrong i do. ?
this is my calendar.lua file
Licensed under GNU General Public License v2
* (c) 2013, Luke Bonham
local icons_dir = require("lain.helpers").icons_dir
local awful = require("awful")
local beautiful = require("beautiful")
local naughty = require("naughty")
local io = { popen = io.popen }
local os = { date = os.date }
local tonumber = tonumber
local setmetatable = setmetatable
-- Calendar notification
-- lain.widgets.calendar
local calendar = {}
local cal_notification = nil
function calendar:hide()
if cal_notification ~= nil then
naughty.destroy(cal_notification)
cal_notification = nil
end
end
function calendar:show(t_out, inc_offset, scr)
calendar:hide()
local offs = inc_offset or 0
local tims = t_out or 0
local f, c_text
local today = tonumber(os.date('%d'))
local init_t = calendar.cal .. ' | sed -r -e "s/(^| )( '
calendar.offset = calendar.offset + offs
if offs == 0 or calendar.offset == 0
then -- current month showing, today highlighted
if today >= 10
then
init_t = calendar.cal .. ' | sed -r -e "s/_\\x08//g" | sed -r -e "s/(^| )('
end
calendar.offset = 0
calendar.notify_icon = calendar.icons .. today .. ".png"
-- bg and fg inverted to highlight today
f = io.popen( init_t .. today ..
')($| )/\\1<b><span foreground=\\"'
.. calendar.bg ..
'\\" background=\\"'
.. calendar.fg ..
'\\">\\2<\\/span><\\/b>\\3/"' )
else -- no current month showing, no day to highlight
local month = tonumber(os.date('%m'))
local year = tonumber(os.date('%Y'))
month = month + calendar.offset
if month > 12 then
month = month % 12
year = year + 1
if month <= 0 then
month = 12
end
elseif month < 1 then
month = month + 12
year = year - 1
if month <= 0 then
month = 1
end
end
calendar.notify_icon = nil
f = io.popen(calendar.cal .. ' ' .. month .. ' ' .. year)
end
c_text = "<tt><span font='" .. calendar.font .. " "
.. calendar.font_size .. "'><b>"
.. f:read() .. "</b>\n\n"
.. f:read() .. "\n"
.. f:read("*a"):gsub("\n*$", "")
.. "</span></tt>"
f:close()
cal_notification = naughty.notify({
text = c_text,
icon = calendar.notify_icon,
position = calendar.position,
fg = calendar.fg,
bg = calendar.bg,
timeout = tims,
screen = scr or 1
end
function calendar:attach(widget, args)
local args = args or {}
calendar.cal = args.cal or "/usr/bin/cal"
calendar.icons = args.icons or icons_dir .. "cal/white/"
calendar.font = args.font or beautiful.font:sub(beautiful.font:find(""),
beautiful.font:find(" "))
calendar.font_size = tonumber(args.font_size) or 11
calendar.fg = args.fg or beautiful.fg_normal or "#FFFFFF"
calendar.bg = args.bg or beautiful.bg_normal or "#FFFFFF"
calendar.position = args.position or "top_right"
calendar.scr_pos = args.scr_pos or 1
calendar.offset = 0
calendar.notify_icon = nil
widget:connect_signal("mouse::enter", function () calendar:show(0, 0, scr_pos) end)
widget:connect_signal("mouse::leave", function () calendar:hide() end)
widget:buttons(awful.util.table.join( awful.button({ }, 1, function ()
calendar:show(0, -1, scr_pos) end),
awful.button({ }, 3, function ()
calendar:show(0, 1, scr_pos) end),
awful.button({ }, 4, function ()
calendar:show(0, -1, scr_pos) end),
awful.button({ }, 5, function ()
calendar:show(0, 1, scr_pos) end)))
end
return setmetatable(calendar, { __call = function(_, ...) return create(...) end })
Thank everyone.
Last edited by zyzzvn (2015-02-04 14:55:21) -
JDBC Adapter Call a Table-Valued Function
Hello to all,
we're using the JDBC adapter to access a MS SQL-Server 2008.
I have to call a "Table-Valued Function" via JDBC.
Has anybody done this?
I've tried to call it like a stored procedure with the following:
<ns1:LGBuchungSAP_REQ xmlns:ns1="http://xyz.de/pi/mav/kantine">
<fLGBuchungenSAP>
<Tablename action="execute">
<table>dbo.fLGBuchungenSAP</table>
</Tablename>
</fLGBuchungenSAP>
</ns1:LGBuchungSAP_REQ>
but I get following error:
com.sap.engine.interfaces.messaging.api.exception.MessagingException: Error processing request in sax parser:
Error when executing statement for table/stored proc. 'dbo.fLGBuchungenSAP' (structure 'fLGBuchungenSAP'): com.microsoft.sqlserver.jdbc.SQLServerException:
Fehler bei der Anforderung für 'fLGBuchungenSAP' (Prozedur), weil 'fLGBuchungenSAP' ein Tabellenwertfunktion-Objekt ist.
Calling with a select-statement also fails:
<ns1:LGBuchungSAP_REQ xmlns:ns1="http://xyz.de/pi/mav/kantine">
<STATEMENT_NAME>
<Tablename action="SELECT">
<table>dbo.fLGBuchungenSAP('20101101 00:00:00', '20110101 00:00:00')</table>
</Tablename>
</STATEMENT_NAME>
</ns1:LGBuchungSAP_REQ>
with error:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- Eingangs-Message -->
<SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
<SAP:Category>XIAdapterFramework</SAP:Category>
<SAP:Code area="MESSAGE">GENERAL</SAP:Code>
<SAP:P1></SAP:P1>
<SAP:P2></SAP:P2>
<SAP:P3></SAP:P3>
<SAP:P4></SAP:P4>
<SAP:AdditionalText>com.sap.engine.interfaces.messaging.api.exception.MessagingException: Error processing request in sax parser: Error when executing statement for table/stored proc. 'dbo.fLGBuchungenSAP('20101101 00:00:00', '20110101 00:00:00')' (structure 'STATEMENT_NAME'): java.lang.IndexOutOfBoundsException: Index: 4, Size: 4</SAP:AdditionalText>
<SAP:Stack></SAP:Stack>
<SAP:Retry>M</SAP:Retry>
</SAP:Error>
Please advice
Regards
ChristianHello to all,
I solved the problem.
You have to call it this way:
<ns1:LGBuchungSAP_REQ xmlns:ns1="http://xyzde/pi/mav/kantine">
<STATEMENT>
<LGBuchungSAP action="SQL_DML">
<access>select * from dbo.fLGBuchungenSAP('$DatumVon$', '$DatumBis$')</access>
<key>
<DatumVon>20101101 00:00:00</DatumVon>
<DatumBis>20110101 00:00:00</DatumBis>
</key>
</LGBuchungSAP>
</STATEMENT>
</ns1:LGBuchungSAP_REQ>
But I get the next error: "A result set was generated for the update task"
<SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
<SAP:Category>XIAdapterFramework</SAP:Category>
<SAP:Code area="MESSAGE">GENERAL</SAP:Code>
<SAP:P1></SAP:P1>
<SAP:P2></SAP:P2>
<SAP:P3></SAP:P3>
<SAP:P4></SAP:P4>
<SAP:AdditionalText>com.sap.engine.interfaces.messaging.api.exception.MessagingException: Error processing request in sax parser: Error when executing statement for table/stored proc. 'LGBuchungSAP' (structure 'STATEMENT'): com.microsoft.sqlserver.jdbc.SQLServerException: Es wurde ein Resultset für den Aktualisierungsvorgang generiert.</SAP:AdditionalText>
<SAP:Stack></SAP:Stack>
<SAP:Retry>M</SAP:Retry>
</SAP:Error> -
How to call a preference value in XSLT
Hi ALL,
how to call a preference value(which is defined in bpel already) in XSLT??
Can any one help me plz
Regards,
Venkat ChFunction to retrieve the preference :
http://www.xenta.nl/blog/2009/10/28/oracle-soa-suite-11g-setting-and-getting-preferences/
Create a new xsl mapping and let the 'first' parameter be some messageType variable (for example the inputVariable, or some other variable you use for your main input).
In the xslt add between the "<xsl:stylesheet>"-tag and the "<xsl:template match=".">"-tag something like "<xsl:param name="myPref" />"
Your xsl is ready to receive the extra input parameter.
Now in your bpel process do something like this
<copy>
<from expression="ora:doXSLTransformForDoc('xsl/myxslt.xsl', $inputVariable.input, 'myPref', ora:getPreference(myPref))"/>
<to variable="myresult"/>
</copy>
or first assign ora:getPreference(myPref) to myPrefVar (xsd:string) and then use
<copy>
<from expression="ora:doXSLTransformForDoc('xsl/myxslt.xsl', $inputVariable.input, 'myPref', $myPrefVar)"/>
<to variable="myresult"/>
</copy> -
Error: ORA-29532: Java call terminated by uncaught Java exception:
Anyone have this similar problem of
ORA-29532: Java call terminated by uncaught Java exception:
javax.xml.rpc.soap.SOAPFaultException: Caught exception while handling request:
deserialization error: XML reader error: unexpected character content:
"A"
The service is running fine in a browser and returns the date. When I run it using the PL/SQL it has the error mentioned above.
I am running the following:
CREATE OR REPLACE FUNCTION GetDate_wb( p_dummy IN VARCHAR2 )
RETURN DATE
AS
l_service sys.UTL_DBWS.service;
l_call sys.UTL_DBWS.call;
l_result ANYDATA;
l_wsdl_url VARCHAR2(1024);
l_service_name VARCHAR2(200);
l_operation_name VARCHAR2(200);
l_input_params sys.UTL_DBWS.anydata_list;
l_port sys.UTL_DBWS.qname := 8988;
BEGIN
l_wsdl_url := 'http://org-lblakisa1:8988/BPEL_OD-LoginWS-context-root/getDate1SoapHttpPort?WSDL';
l_service_name := 'getDate1';
l_operation_name := 'getDate';
l_service := sys.UTL_DBWS.create_service (
wsdl_document_location => URIFACTORY.getURI(l_wsdl_url),
service_name => l_service_name);
l_call := sys.UTL_DBWS.create_call (
service_handle => l_service,
port_name => NULL,
operation_name => l_operation_name);
l_input_params(1) := ANYDATA.ConvertVarchar2(p_dummy);
l_result := sys.UTL_DBWS.invoke (
call_handle => l_call,
input_params => l_input_params);
sys.UTL_DBWS.release_call (call_handle => l_call);
sys.UTL_DBWS.release_service (service_handle => l_service);
RETURN ANYDATA.AccessDate(l_result);
END;
/Problem is resolved... We had a version issue in that 10.1.3 web service is not compatible. 10.1.2 worked.
-
Java call terminated by uncaught Java exception: java.lang.NullPointerExcep
i have written this program of adding file items using wwsbr_api.add_item but,
1 declare
2 l_new_item_master_id number;
3 l_caid number := 53;
4 l_folder_id number := 50279;
5 begin
6 select c.id, f.id
7 into l_caid, l_folder_id
8 from portal.wwsbr_all_content_areas c,
9 portal.wwsbr_all_folders f
10 where c.id = f.caid and c.name = 'S_T_PAGE'
11 and f.name = 'S_PAGE';
12 --portal.wwctx_api_private.set_context('PORTAL');
13 l_new_item_master_id := portal.wwsbr_api.add_item(
14 p_caid => l_caid,
15 p_folder_id => l_folder_id,
16 p_display_name => 'simple file item',
17 p_type_id => portal.wwsbr_api.ITEM_TYPE_FILE,
18 p_type_caid => portal.wwsbr_api.SHARED_OBJECTS,
19 p_region_id => 4571,
20 p_file_filename => 'D:\ora\training\html\frame.html'
21 );
22 -- process cache invalidation messages
23 portal. wwpro_api_invalidation.execute_cache_invalidation;
24* end;
SQL> /
this program is showing the following exception. kindly give the solution urgently..........
declare
ERROR at line 1:
ORA-29532: Java call terminated by uncaught Java exception: java.lang.NullPointerException
ORA-06512: at "PORTAL.WWSBR_API", line 37
ORA-06512: at "PORTAL.WWSBR_API", line 610
ORA-06512: at line 13can any one of u please give me the reply to the above error,
urgently............. -
*A join in the primary read function may have caused values to be duplicate
There are two logical services - Emp and Dept with getById function defined in each.
I need to design a solution; where in the user will enter the EmpId and data to update (both emp and dept table)
Structure:
Emp:
Id,Name, DeptId
Dept
Id,Name
Approach followed (Integration Layer)
declare function tns:getData($id as xs:string) as element(ns1:Details)* {
for $EMP in emp:getEmpById($id)
for $DEPT in dep:getDeptById($EMP/DEPTNO)
return
<ns1:Details>
<ns1:Emp> <ns1:Id>{fn:data($EMP/NAME)}</ns1:Id>
</ns1:Emp>
<ns1:Dept> <ns1:Name>{fn:data($DEPT/DNAME)}</ns1:Name>
</ns1:Dept>
</ns1:Details>
Now , when I create the Update Map Procedures; following Error is generated
A join in the primary read function may have caused values to be duplicated in the result. Update function is disabled.
I tired to look upon the internet; got some docs. bt couldnt figure out how to resolve this
Any help is appreciated
Rgds,
Is
Edited by: Is916 on Feb 18, 2010 11:23 PMThe message is telling you that the values of $EMP/NAME will be duplicated (for each $DEPT). And I'm assuming you're going to say "no they are not, since getDeptById(deptNo) returns zero or one $DEPT". But I suspect you haven't indicated that in the signature of getDeptById(deptNo). I suspect the signature looks like getDeptById( ... ) as element( dept )* - the * indicates zero or more. It should be a question mark instead of the start - indicating zero or one. You should also change the signature of getData to indicate it returns element(ns1:Details)? - since it too is going to return exactly zero or 1.
Also - please read the Best Practices announcement in this forum. parameterizing function like getEmpById(id) is not recommended. Just have getEmp() - and if you want "by id" then add a predicate .... for $emp in emp:getEmp() where $emp/ID = $id -
UCCE 8.5 Call Terminator information (who ended the call?)
Dear Team,
We're working with UCCE 8.5 with CVP 8.5 in a comprehensive model. We're using SIP signalling too.
We do have a call recording and evaluation solution which is recording agents calls. This application is providing the call terminator information. The issue that this application is not providing the correct call terminator !!
It's an application using SCCP sniffing, but it seems that CCM doesn't give such information.
We would like to know if we UCCE offer such information somehow (in the database for exemple.
Can you please advice ?
Thanks for your help in advance.
Best Regads.Hello,
In the TCD (Termination Call Detail) table which you can find in the HDS database, you can find a column called "CallDisposition". This column contains codes that refer to how the call was ended (i.e. Call Disposition code of 52 refers to "Called Party Disconnected").
Reference: CTI Server Reference Guide
http://www.cisco.com/en/US/docs/voice_ip_comm/cust_contact/contact_center/ipcc_enterprise/ipccenterprise8_0_1/configuration/guide/ctisvr80.pdf
Also, you can find many posts on this forum relating to "Call Disposition" (i.e. https://supportforums.cisco.com/message/3490321)
1. If the customer disconnects the call, the Call disposition of the call(all 3 legs) will be 13.2. If the agent disconnects the call, the second call leg disposition is 52 and other 2 is 13
Hope this helps,
Justine. -
Today, I received this error when I re-added two email accounts that are tied in to my domain. The error is: "Terminating app due to uncaught exception 'MFSQLiteException', reason: 'inserting mailbox url' abort() called terminating with uncaught exception of type NSException"
Two days ago, at my wits end with email issues, I googled how to Reset Mail.app and followed the recommendation found here: https://discussions.apple.com/thread/2266399?tstart=0
That's. all. I've. done.
What should I do correct the error I'm receiving when adding my email accounts?Launch the Console 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 Console in the icon grid.
Step 1
For this step, the title of the Console window should be All Messages. If it isn't, select
SYSTEM LOG QUERIES ▹ All Messages
from the log list on the left. If you don't see that list, select
View ▹ Show Log List
from the menu bar at the top of the screen.
In the top right corner of the Console window, there's a search box labeled Filter. Initially the words "String Matching" are shown in that box. Enter the name of the crashed application or process. For example, if iTunes crashed, you would enter "iTunes" (without the quotes.)
Each message in the log begins with the date and time when it was entered. Select the messages from the time of the last crash, if any. Copy them to the Clipboard by pressing the key combination command-C. Paste into a reply to this message by pressing command-V.
☞ The log contains a vast amount of information, almost all of which is irrelevant to solving any particular problem. When posting a log extract, be selective. A few dozen lines are almost always more than enough.
Please don't indiscriminately dump thousands of lines from the log into this discussion.
Please don't post screenshots of log messages—post the text.
☞ Some private information, such as your name, may appear in the log. Anonymize before posting.
Step 2
In the Console window, select
DIAGNOSTIC AND USAGE INFORMATION ▹ User Diagnostic Reports
(not Diagnostic and Usage Messages) from the log list on the left. There is a disclosure triangle to the left of the list item. If the triangle is pointing to the right, click it so that it points down. You'll see a list of crash reports. The name of each report starts with the name of the process, and ends with ".crash". Select the most recent report related to the process in question. The contents of the report will appear on the right. Use copy and paste to post the entire contents—the text, not a screenshot.
I know the report is long, maybe several hundred lines. Please post all of it anyway.
If you don't see any reports listed, but you know there was a crash, you may have chosen Diagnostic and Usage Messages from the log list. Choose DIAGNOSTIC AND USAGE INFORMATION instead.
In the interest of privacy, I suggest that, before posting, you edit out the “Anonymous UUID,” a long string of letters, numbers, and dashes in the header of the report, if it’s present (it may not be.)
Please don’t post other kinds of diagnostic report—they're very long and rarely helpful. -
Call transaction passing values
Hi Experts,
I have a report program from which i need to call a transaction to insert a record.Brief description of the problem is as follows:
User enters some value of Ware house No,Inventory record and Count in a transaction say 'T1'.
The entries are then checked in the database table.If no record exist then some other transaction 'T2' is called passing these values of Ware house No,Inventory record No and Count.Please suggest a way how to pass multipe values from 1 transaction to other.
Help will be appreciated.
Regards
SourabhHi,
call transaction syntax is ""call transaction <transaction code>using<BDCtab>mode<A/N/E>update<S/A>message into <internal table>
<b>
CALL TRANSACTION tcod [AND SKIP FIRST SCREEN] [USING itab].</b>
The <b>USING ITAB</b> addition in the <b>CALL TRANSACTION </b>statement allows you to pass an internal table itab to the new transaction. itab has the format of a batch input table.
Feel free to revert back.
--Ragu
Message was edited by:
Raguraman C -
Calling a multi value parameter seems to slow down report
Hi
Nearly all of my datasets use a multi value parameter at present which from testing seems to be causing a long delay.
If I change the dataset to not call the parameter and manually enter the values in this works quicker, the only issue being if I need to add an additional value I need to then do it on multiple datasets rather than one parameter.
A way around this I thought was to do the below which doesn't seem as slow as my original method.
To try better explain I have done this
SELECT
Practice.ibvSalesByJob.JobType
FROM
Practice.ibvSalesByJob
WHERE
Practice.ibvSalesByJob.JobType IN (N'1', N'4', N'5', N'8', N'12', N'17', N'40', N'45', N'60')
I then have a parameter which has default values > dataset > JobType
The actual dataset shown in the report then shows
WHERE
Practice.ibvSalesByJob.JobType IN (@ABSJobs)
Does this make sense or is there a better way of doing what I am trying to do?
Is there a known issue with Report Builder 3.0 and multiple parameters?
Any help/advice appreciated.
Cheers
Cheers ChrisHi Chris,
According to your description, when you create a multivalued parameter, then specify its values from a dataset, the report is running slower.
In Reporting Services, all datasets within a report will be retrieved when running the report. In your scenario, if you specify the parameter values from a dataset, it’s possible to cause performance issue. If parameter doesn’t have too many values, you
could specify the values for the parameter with specified values in Report Parameter Properties.
Besides, in Reporting Service, the total time to generate a report include TimeDataRetreval, TimeProcessing and TimeRendering. In your scenario, you could run the report in report server, check the table
Executionlog3 in the ReportServer database to analyze which section take much time. Then you can refer to this article to optimize your report:
Troubleshooting Reports: Report Performance.
If you have any question, please feel free to ask.
Best regards,
Qiuyun Yu
Qiuyun Yu
TechNet Community Support -
Calling EJB causes error in CF Administrator
Hello,
I just moved from CFMX 6.1 Enterprise to 7 Standard and now
I'm having trouble when I invoke an EJB. The EJB returns the
information successfully, but then when I try to access the CF
Administrator, the following error is shown:
Security: The requested template has been denied access to
D:\WebSites\mntwia01\CFIDE\adminapi\administrator. cfc. The
following is the internal exception message: access denied
(java.io.FilePermission
D:\WebSites\mntwia01\CFIDE\adminapi\administrator.cfc execute)
ColdFusion cannot determine the line of the template that caused
this error. This is often caused by an error in the exception
handling subsystem.
The rest of the website works fine, but I need to restart
ColdFusion in order to be ablet to access the administrator again.
The problem happens with every EJB I call, and only since the move
to CF 7.
Thank you for any suggestions,This error seems to happen if you are debugging a function (or any subprogram with OUT parameters) and the debug call block does not assign the function's return value (and/or OUT parameters) to bind variable.
The default call block generated by SQL Developer for debugging a function ends with a statement like:
:v_Return := v_Return;
assigning the return value from the function call to a bind variable.
If you remove this bind variable entirely (say, because you used the "From File" option to load some existing script for calling the function in question), then you get the "Invalid Column Index" error. Presumably SQL Developer expects to be able to get the return value of the function out of a bind variable, so if there is nothing to bind to it gets an error.
Now, there doesn't seem to be any very good reason for this, since as far as I can tell you can't view the return value in any way after completing the debug run (and in fact, in many debug runs you may not even run the function to completion).
Maybe you are looking for
-
Why do I get this error when I try to install Reader XI in Windows 8.1?
"Error 1303. The installer has insufficient privileges to access this directory: C:\Program Files (X86)\Adobe\Reader 11.0\Reader. The installation cannot continue. Log on as an administrator or contact your system administrator." This is my person
-
Install Windows7 on Mac Mini without Bootcamp
I just got a MacMini and wanted to install windows on it without using bootcamp but had no luck. I have been checkout out some hints over the past couple of days but nothing really worked. Prior to this I had never used bootcamp and saw this as an op
-
Iphoto is currently a shared file on my Mac and I no longer want to share it. How do I completely remove access to it if i am the Admin to the computer? Thanks in advance...
-
How Does Apple Determine What Posts Are Not Allowed to Remain?
Apple has deleted 2 posts that, while not favorable to Leopard, do not seem to violate any of the rules. I noticed that not all posts are favorable (naturally) but remain posted. Does Apple just search for the poster's user name and remove on that ba
-
How to implement user logoff with ABAP
Hi NG, how do I implement a user logoff in ABAP? Kind regrads Stefan