Object params
New to this but I have a flash image gallery on a site I'm working on. I want three images side by side which I have, but the images fade to the next image the same time. I want each of the three images to scroll independantly from each other at different times. Meaning image one is not the same as image two and image three is different than the first two images as well at any given time while the flash is loaded. Anyway, isnt it just a matter of defining a parameter similar to the quality "high" parameter? I couldnt figure out how to post code here so id anyone needs to see it, please tell me how..lol Newbies! what can you do?
function(){return A.apply(null,[this].concat($A(arguments)))}
pwillener wrote:
teedoffnewbie wrote:
how to post code...?
Code of what product?
well its a shockwave object....with a .js file attached. not sure if i need to change some code in the .js file or is I could just change an object property.
Similar Messages
-
I've recently stumbled across this applet/object parameter as a solution to a problem. However I can't find the official documentation of it anywhere, and believe me I've looked. I did find a reference to it in some Oracle product documentation but nowhere in the Java Plugin or Deployment documents. Has anybody spotted it anywhere? Urban myth? Legend? It certainly seems to work.
Edited by: EJP on 6/03/2012 20:36: corrected typo in titleSearching an old jdk source download shows it is not used by Java per se.
$ pwd
/home/download/java/src/jdk-6u23-fcs-src-b05-jrl-12_nov_2010
$ find . -type f -exec grep -H legacy_lifecycle "{}" \;
deploy/src/plugin/share/classes/sun/plugin/AppletViewer.java: String lifecycle = getParameter("legacy_lifecycle");
deploy/src/plugin/share/classes/sun/plugin2/applet/Applet2Manager.java: String lifecycle = getParameter("legacy_lifecycle");
deploy/src/plugin/share/classes/sun/plugin2/applet/Applet2ManagerCache.java:if (appletParameters.get("legacy_lifecycle") == null)
deploy/src/plugin/share/classes/sun/plugin2/test/LegacyTest2AppletFrame.html:Legacy Lifecycle Automated Test #2 -- two legacy_lifecycle applets on the same page
deploy/src/plugin/share/classes/sun/plugin2/test/LegacyTest2AppletFrame.html:<param name="legacy_lifecycle" value="true"></param>
deploy/src/plugin/share/classes/sun/plugin2/test/LegacyTest2AppletFrame.html:<param name="legacy_lifecycle" value="true"></param>
deploy/src/plugin/share/classes/sun/plugin2/test/LegacyTestAppletFrame1.html:Legacy Lifecycle Automated Test #1 -- two legacy_lifecycle applets in different frames
deploy/src/plugin/share/classes/sun/plugin2/test/LegacyTestAppletFrame1.html:<param name="legacy_lifecycle" value="true"></param>
deploy/src/plugin/share/classes/sun/plugin2/test/LegacyTestAppletFrame2.html:<param name="legacy_lifecycle" value="true"></param>
deploy/src/plugin/share/classes/sun/plugin2/test/liveconnect/LegacyLifecycleLiveConnect.html:Tests LiveConnect against a legacy_lifecycle applet. Reload and switch
deploy/src/plugin/share/classes/sun/plugin2/test/liveconnect/LegacyLifecycleLiveConnect.html: <param name="legacy_lifecycle" value="true">
$ -
Help!! Calling PL/SQL with table of objects params
Hi JDBC experts,
This is probably a familiar problem to many of you and I was hoping you can help me.
I have a JDBC application that makes calls to a PL/SQL stored procedure that accepts and returns tables (arrays) of objects. I have an equivalent representation of these in Java (the object is a simple Java class and the array of objects is a subclass of ArrayList). The object has around 10 attributes (varchar and number) and the call typically accepts and returns between 50 and 100 objects.
I noticed that converting from one representation to the other before and after the JDBC call is very time consuming. Before calling the procedure, I need to instantiate a new oracle.sql.ARRAY and fill it with oracle.sql.STRUCT equivalents for each object in my ArrayList. After the procedure call returns, I need to instantiate a new ArrayList and fill it with my Java object representation for each oracle.sql.STRUCT in the returned oracle.sql.ARRAY. Given the # of objects returned and the size of each object, this causes performance degradation.
Is there any way I can avoid the above conversion overhead? I was reading somewhere about jpub and CustomDatum. I tried it out but the code that sqlj generated looked rather complex - but if this is the recommended approach, I can follow that.
Also, are there any java code examples for dealing with table of (non-scalar) objects with CustomDatum? I saw some code for using CustomDatum with single objects but not with a table of objects.
Your help is much appreciated!
Thanks,
NiranjanI would do it like this :
- use existsNode function in the filter predicate to look for candidate rows regardless of the number of occurrences of target nodes in the document
- use XPath predicates on attributes to restrict target nodes
SQL> create table temp1 of xmltype;
Table created
SQL>
SQL> insert into temp1 values(xmlparse(document
2 '<soc id="2">
3 <listsectii>
4 <sectie cods="4">
5 <prodv codp="2" cant=""></prodv>
6 </sectie>
7 <sectie cods="5">
8 <prodv codp="8"></prodv>
9 </sectie>
10 <sectie cods="6">
11 <prodv codp="2"></prodv>
12 </sectie>
13 </listsectii>
14 </soc>'));
1 row inserted
SQL>
SQL> update temp1
2 set object_value =
3 updateXML( object_value
4 , '/soc/listsectii/sectie[@cods="4"]/prodv[@codp="2"]/@cant'
5 , 'new_cant' )
6 where existsNode( object_value
7 , '/soc/listsectii/sectie[@cods="4"]/prodv[@codp="2"]' ) = 1
8 ;
1 row updated
SQL> select * from temp1;
SYS_NC_ROWINFO$
<soc id="2">
<listsectii>
<sectie cods="4">
<prodv codp="2" cant="new_cant"/>
</sectie>
<sectie cods="5">
<prodv codp="8"/>
</sectie>
<sectie cods="6">
<prodv codp="2"/>
</sectie>
</listsectii>
</soc>
Of course, that implies there's already an existing "cant" attribute (not the case in your samples).
If you actually need to create one, then you must use insertChildXML() instead. -
Parsing & handling of object and param tags
Hi all,
I'm working on allowing people to paste certain embedded video code into a wysiwyg / html editor we've built with the help of (amongst others) javax.swing.text.html.HTMLWriter.
I'm facing the following problem here:
When i try to parse the <object><param></param></object> piece, it removes the <param> tags, and incorporates these in the <object> tag. For example:
<object width="300" height="250"><param name="allowscriptaccess" value="always"></param></object>becomes:
<object width="300" height="250" allowScriptAccess="always"></object>All param tags get converted into the object tag as String attributes. Problem with this is that the allowScriptAccess attribute is not a valid attribute of the object tag.
Is there any way to prevent this conversion so it will retain the <param> tags?
Thank you in advance.
Edited by: Floxxx on Dec 28, 2009 10:16 AMThis seems to be default behaviour in HTMLWriter, function Write().
There it retrieves all elements with their attributes. The attributes summed up in the param tags show up as attributes for the object tag.
Edited by: Floxxx on Dec 28, 2009 10:54 AM -
Problems with String[] Class Object
Hi guys,
I'm writing a web server who should invoke a method of a class when asked by a client.
My problem is that if the method that should be invoked has a String[] parameter the web server is unable to invoke it and throws a java.lang.IllegalArgumentException: argument type mismatch.
Useful pieces of code to understand are the following:
//create the Class[] to pass as parameter to the getMethod method
Class[] paramType = {String[].class};
//find the class "className" and create a new instance
Class c = Class.forName(className);
Object obj = c.newInstance();
//the getMethod should find in the class c the method called nameMeth
// having paramType (i.e. String[]) as parameter type...
Method theMethod = c.getMethod(nameMeth, paramType);
//here's the problematic call!!
theMethod.invoke(obj, params);I've noted that System.out.println(theMethod); prints the signature of the method with the parameter type java.lang.String[].
System.out.println(paramType[0]); instead prints [Ljava.lang.String;
I know that [L means that it is an array, so why do you think that I'm having an argument type mismatch?
Thank youI had no problems making that work.import java.lang.reflect.Method;
public final class StringArray {
public static final String CLASSNAME = "StringArray";
public static final String METHODNAME = "myMethod";
public static final String[] sa = { "a", "b"};
// automatic no-args constructor
public final void myMethod(String[] sa) {
for(int i=0;i<sa.length;++i) {
System.out.println(sa);
public static final void main(String[] arg) throws Exception {
//create the Class[] to pass as parameter to the getMethod method
Object[] params = { sa };
Class[] paramType = {sa.getClass()};
//find the class "className" and create a new instance
Class c = Class.forName(CLASSNAME);
Object obj = c.newInstance();
//the getMethod should find in the class c the method called nameMeth
// having paramType (i.e. String[]) as parameter type...
Method theMethod = c.getMethod(METHODNAME, paramType);
//here's the problematic call!!
theMethod.invoke(obj, params); -
I have a really serious problem. I am creating instances of specific classes by using reflection techniques. I am reading a flat file, finding class from its name and creating it by using its parameterized constructor. Example:
line 1: Dummy("A",Dummy2("B"),12,,"C");
I create an instance of Dummy with parameters "A", an instance of Dummy2 object with value "B", 12 (I use here Integer as wrapper), null (There is no wrapper for null :( ) and "C".
I find constructor by using findConstructors() and looking their parameter counts, creating an object array with given values and calling:
constructorIFoundBefore.newInstance(objectArrayIPrepared);
But!!!
Because I use null directly, I got this message:
java.lang.IllegalArgumentException: argument type mismatch
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
at reader.parser.ObjectCreator.createObjectFromObjectItem(ObjectCreator.java:192)
at reader.parser.ObjectCreator.createObjectFromParseItem(ObjectCreator.java:112)
at reader.parser.ObjectCreator.createObject(ObjectCreator.java:78)
at reader.analyzer.FileAnalyzer.analyzeAndCreateObjects(FileAnalyzer.java:95)
at reader.ReverseReader.main(ReverseReader.java:43)
I will be very glad if you help me.
Thanks a lot!
GokcerI said something wrong. Sorry. While invoking a method (or a constructor) we need an object array which are equivalent to parameters. For example to call a method or constructor for class A;
class A {
int age;
String name;
public A(int age, String name){
this.age = age;
this.name = name;
public set(int age, String name){
this.age = age;
this.name = name;
we use in any place
A a1 = new A(12,"Gokcer");
A a2 = new A(15,null);
To achieve this by using reflection techniques, we must find constructor with two parameters of class A. At this point "BetterMethodFinder" will give great help.
After finding right constructor, we must create an object array to tell the constructor parameters (age and name). At this point we need an object array which stores our parameters. Code must be like this.
Object []params = new Object[2]; // we have two parameters.
params[0] = new Integer(12); // we can't use params[0]=12
// because 12 is not an object. (It is a
// primitive type)
params[1] = "Gokcer";
Now create the new object.
A a1;
a1 = constructorWeFound.newInstance(params);
While creating param[], we could also use:
Object []params = new Object[2] {new Integer(12),"Gokcer"};
While creating a2, we can use "null" directly for second parameter.
params = new Object[2] = {new Integer(15), null};
or
Object []params = new Object[2];
params[0] = new Integer(15);params[1] = null;
Thanks again everyone who replied me.
My sincerely... -
View Link on two programmatic view objects
Hello,
I use Build JDEVADF_11.1.1.1.0_GENERIC_090615.0017.5407
I have two programmatic View Objects with data from other sources (an ArrayList in my example).
Now I would like to create a View Link on it. How can I do this?
I'm quite new on Java and ADF...
I know it is possible because I already found Steve's example 132 here [http://blogs.oracle.com/smuenchadf/examples/|http://blogs.oracle.com/smuenchadf/examples/]
But could somebody create a simple example based on my example classes below (which is understandable for a newbie like me ;-) ?
Has been asked already here, but I did not found a solution as yet.
Error with view link and ADF table Tree
This is my example code for the view objects:
Employee.java:
private Number empno;
private String ename;
private Number dept;
with getters and setters...
Department.java
private Number deptno;
private String dname;
with getters and setters...
public class StaticDataDepartmentsImpl extends ViewObjectImpl {
int rows = -1;
private List<Department> departments = new ArrayList<Department>();
protected void executeQueryForCollection(Object rowset, Object[] params,
int noUserParams) {
// Initialize our fetch position for the query collection
setFetchPos(rowset, 0);
super.executeQueryForCollection(rowset, params, noUserParams);
// Help the hasNext() method know if there are more rows to fetch or not
protected boolean hasNextForCollection(Object rowset) {
return getFetchPos(rowset) < rows;
// Create and populate the "next" row in the rowset when needed
protected ViewRowImpl createRowFromResultSet(Object rowset,ResultSet rs) {
ViewRowImpl r = createNewRowForCollection(rowset);
int pos = getFetchPos(rowset);
populateAttributeForRow(r, 0, departments.get(pos).getDeptno());
populateAttributeForRow(r, 1, departments.get(pos).getDname());
setFetchPos(rowset, pos + 1);
return r;
// When created, initialize static data and remove trace of any SQL query
protected void create() {
super.create();
// Setup string arrays of codes and values from VO custom properties
initializeStaticData();
rows = (departments != null) ? departments.size() : 0;
// Wipe out all traces of a query for this VO
getViewDef().setQuery(null);
getViewDef().setSelectClause(null);
setQuery(null);
// Return the estimatedRowCount of the collection
public long getQueryHitCount(ViewRowSetImpl viewRowSet) {
return rows;
// Subclasses override this to initialize their static data
protected void initializeStaticData() {
Department d1 = new Department();
d1.setDeptno(new Number(10));
d1.setDname("IT");
Department d2 = new Department();
d2.setDeptno(new Number(20));
d2.setDname("HR");
departments.add(d1);
departments.add(d2);
// Store the current fetch position in the user data context
private void setFetchPos(Object rowset, int pos) {
if (pos == rows) {
setFetchCompleteForCollection(rowset, true);
setUserDataForCollection(rowset, new Integer(pos));
// Get the current fetch position from the user data context
private int getFetchPos(Object rowset) {
return ((Integer)getUserDataForCollection(rowset)).intValue();
public class StaticDataEmployeesImpl extends ViewObjectImpl {
int rows = -1;
private List<Employee> employees = new ArrayList<Employee>();
protected void executeQueryForCollection(Object rowset, Object[] params,
int noUserParams) {
// Initialize our fetch position for the query collection
setFetchPos(rowset, 0);
System.out.println("in executeQueryForCollection");
super.executeQueryForCollection(rowset, params, noUserParams);
// Help the hasNext() method know if there are more rows to fetch or not
protected boolean hasNextForCollection(Object rowset) {
System.out.println("in hasNextForCollection. Rows:" + rows);
return getFetchPos(rowset) < rows;
// Create and populate the "next" row in the rowset when needed
protected ViewRowImpl createRowFromResultSet(Object rowset,ResultSet rs) {
ViewRowImpl r = createNewRowForCollection(rowset);
int pos = getFetchPos(rowset);
System.out.println("in createRowFromResultSet. Pos=" + pos);
populateAttributeForRow(r, 0, employees.get(pos).getEmpno());
populateAttributeForRow(r, 1, employees.get(pos).getEname());
populateAttributeForRow(r, 2, employees.get(pos).getDept());
setFetchPos(rowset, pos + 1);
return r;
// When created, initialize static data and remove trace of any SQL query
protected void create() {
super.create();
// Setup string arrays of codes and values from VO custom properties
initializeStaticData();
rows = (employees != null) ? employees.size() : 0;
System.out.println("in create(). Rows=" + rows);
// Wipe out all traces of a query for this VO
getViewDef().setQuery(null);
getViewDef().setSelectClause(null);
setQuery(null);
// Return the estimatedRowCount of the collection
public long getQueryHitCount(ViewRowSetImpl viewRowSet) {
return rows;
// Subclasses override this to initialize their static data
protected void initializeStaticData() {
Employee e1 = new Employee();
e1.setEmpno(new Number(2333));
e1.setEname("Emp1");
e1.setDept(new Number(10));
Employee e2 = new Employee();
e2.setEmpno(new Number(1199));
e2.setEname("Emp2");
e2.setDept(new Number(20));
Employee e3 = new Employee();
e3.setEmpno(new Number(3433));
e3.setEname("Emp3");
e3.setDept(new Number(10));
Employee e4 = new Employee();
e4.setEmpno(new Number(5599));
e4.setEname("Emp4");
e4.setDept(new Number(20));
Employee e5 = new Employee();
e5.setEmpno(new Number(5676));
e5.setEname("Emp5");
e5.setDept(new Number(10));
Employee e6 = new Employee();
e6.setEmpno(new Number(7867));
e6.setEname("Emp6");
e6.setDept(new Number(20));
employees.add(e1);
employees.add(e2);
employees.add(e3);
employees.add(e4);
employees.add(e5);
employees.add(e6);
// Store the current fetch position in the user data context
private void setFetchPos(Object rowset, int pos) {
if (pos == rows) {
setFetchCompleteForCollection(rowset, true);
setUserDataForCollection(rowset, new Integer(pos));
// Get the current fetch position from the user data context
private int getFetchPos(Object rowset) {
return ((Integer)getUserDataForCollection(rowset)).intValue();
Who can help?
Thnx in advance!
RolfRolf,
I guess when we try to do it for you, we end up with almost the sample code provided by Steve Muench.
So there from my point of view it doesn't make sense to do it all over.
Take some time and study the sample code, run it without changes and after that try some changes which suits your use case better.
If you don't understand what's going on in the sample post the question here and we try to help you.
Timo -
Setting ViewObject Stored Procedure Where Clause Param from Struts Action
I adapted/used Steve's example to get stored procedure to populate my ViewObject. However, I could not retrieve any rows after passing whereClause value from Struts action. The param in execureQueryForCollection returns null.
What could be wrong. Thanks.
Here's my code.
ViewObjectImpl:
package org.adb.sls.model;
import java.math.BigDecimal;
import java.sql.CallableStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Timestamp;
import java.sql.Types;
import oracle.jbo.JboException;
import oracle.jbo.domain.Date;
import oracle.jbo.domain.Number;
import oracle.jbo.server.DBTransaction;
import oracle.jbo.server.ViewObjectImpl;
import oracle.jbo.server.ViewRowImpl;
import oracle.jbo.server.ViewRowSetImpl;
import oracle.jdbc.driver.OracleCallableStatement;
import oracle.jdbc.driver.OracleTypes;
// --- File generated by Oracle ADF Business Components Design Time.
// --- Custom code may be added to this class.
public class ViewApplicableLoanTypesImpl extends ViewObjectImpl
* PLSQL block that will execute the REF_CURSOR
private static final String SQL =
"begin ? := sls_loan_types_pkg.get_applcbl_staff_lns_fn(?); end;";
* PLSQL block that will count the REF_CURSOR returned rows
private static final String COUNTSQL =
"begin ? := sls_loan_types_pkg.get_count_applcbl_staff_lns_fn(?); end;";
* This is the default constructor (do not remove)
public ViewApplicableLoanTypesImpl()
* Overridden framework method.
* Wipe out all traces of a built-in query for this VO
protected void create() {
getViewDef().setQuery(null);
getViewDef().setSelectClause(null);
setQuery(null);
* Overidden framework method
protected void executeQueryForCollection(Object qc, Object[] params, int noUserParams)
// input parameter is employee number
String employeeNumber = null;
if (params != null) {
employeeNumber = (String) params[0];
} else
System.out.println("param is null");
storeNewResultSet(qc,retrieveRefCursor(qc,employeeNumber));
super.executeQueryForCollection(qc, params, noUserParams);
protected ViewRowImpl createRowFromResultSet(Object qc, ResultSet rs)
* We ignore the JDBC ResultSet passed by the framework (null anyway) and
* use the resultset that we've stored in the query-collection-private
* user data storage
rs = getResultSet(qc);
* Create a new row to populate
ViewRowImpl r = createNewRowForCollection(qc);
try {
* Populate new row by attribute slot number for current row in Result Set
populateAttributeForRow(r,0, nullOrNewNumber(rs.getBigDecimal(1)));
populateAttributeForRow(r,1, nullOrNewNumber(rs.getBigDecimal(2)));
populateAttributeForRow(r,2, rs.getString(3));
populateAttributeForRow(r,3, nullOrNewNumber(rs.getBigDecimal(4)));
populateAttributeForRow(r,4, rs.getString(5));
catch (SQLException s) {
throw new JboException(s);
return r;
protected boolean hasNextForCollection(Object qc)
ResultSet rs = getResultSet(qc);
boolean nextOne = false;
try {
nextOne = rs.next();
* When were at the end of the result set, mark the query collection
* as "FetchComplete".
if (!nextOne) {
setFetchCompleteForCollection(qc, true);
* Close the result set, we're done with it
rs.close();
catch (SQLException s) {
throw new JboException(s);
return nextOne;
protected void releaseUserDataForCollection(Object qc, Object rs)
* Ignore the ResultSet passed in since we've created our own.
* Fetch the ResultSet from the User-Data context instead
ResultSet userDataRS = getResultSet(qc);
if (userDataRS != null) {
try {
userDataRS.close();
catch (SQLException s) {
/* Ignore */
super.releaseUserDataForCollection(qc, rs);
public long getQueryHitCount(ViewRowSetImpl viewRowSet)
Object[] params = viewRowSet.getParameters(true);
String id = (String)params[0];
CallableStatement st = null;
try {
st = getDBTransaction().createCallableStatement(COUNTSQL,DBTransaction.DEFAULT);
* Register the first bind parameter as our return value of type CURSOR
st.registerOutParameter(1,Types.NUMERIC);
* Set the value of the 2nd bind variable to pass id as argument
if (id == null) st.setNull(2,Types.VARCHAR);
else st.setString(2,id);
st.execute();
return st.getLong(1);
catch (SQLException s) {
throw new JboException(s);
finally {try {st.close();} catch (SQLException s) {}}
* Return a JDBC ResultSet representing the REF CURSOR return
* value from our stored package function.
private ResultSet retrieveRefCursor(Object qc,String id) {
CallableStatement st = null;
try {
st = getDBTransaction().createCallableStatement(SQL,DBTransaction.DEFAULT);
* Register the first bind parameter as our return value of type CURSOR
st.registerOutParameter(1,OracleTypes.CURSOR);
* Set the value of the 2nd bind variable to pass id as argument
if (id == null) st.setNull(2,Types.VARCHAR);
else st.setString(2,id);
st.execute();
ResultSet rs = ((OracleCallableStatement)st).getCursor(1);
* Make this result set use the fetch size from our View Object settings
rs.setFetchSize(getFetchSize());
return rs ;
catch (SQLException s) {
s.printStackTrace();
throw new JboException(s);
finally {try {st.close();} catch (SQLException s) {}}
* Store a new result set in the query-collection-private user-data context
private void storeNewResultSet(Object qc, ResultSet rs) {
ResultSet existingRs = getResultSet(qc);
// If this query collection is getting reused, close out any previous rowset
if (existingRs != null) {
try {existingRs.close();} catch (SQLException s) {}
setUserDataForCollection(qc,rs);
hasNextForCollection(qc); // Prime the pump with the first row.
* Retrieve the result set wrapper from the query-collection user-data
private ResultSet getResultSet(Object qc) {
return (ResultSet)getUserDataForCollection(qc);
* Return either null or a new oracle.jbo.domain.Date
private static Date nullOrNewDate(Timestamp t) {
return t != null ? new Date(t) : null;
* Return either null or a new oracle.jbo.domain.Number
private static Number nullOrNewNumber(BigDecimal b) {
try {
return b != null ? new Number(b) : null;
catch (SQLException s) { }
return null;
Struts Action
package org.adb.sls.view;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import oracle.jbo.ApplicationModule;
import oracle.jbo.ViewObject;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import oracle.adf.model.binding.DCDataControl;
import oracle.adf.model.bc4j.DCJboDataControl;
import oracle.jbo.html.BC4JContext;
public class IndexAction extends DefaultADFAction
protected ActionForward performActionLogic(ActionMapping mapping,
ActionForm form, HttpServletRequest request,
HttpServletResponse response)
throws Exception {
try {
ApplicationModule am = getApplicationModule("SLSApplicableLoanTypesDataControl", request);
if (am == null)
System.out.println("am is null");
ViewObject vo = am.findViewObject("ViewApplicableLoanTypes");
vo.setWhereClauseParam(0,request.getSession().getAttribute("SSO_EMPLOYEE_NUMBER"));
vo.executeQuery();
} catch (Exception e)
e.printStackTrace();
return mapping.findForward("success");
Struts Config
<form-beans>
<form-bean name="DataForm" type="oracle.adf.controller.struts.forms.BindingContainerActionForm"/>
</form-beans>
<action-mappings>
<action path="/index" className="oracle.adf.controller.struts.actions.DataActionMapping" type="org.adb.sls.view.IndexAction" name="DataForm" unknown="false">
<set-property property="modelReference" value="indexUIModel"/>
<forward name="success" path="/home.do"/>
</action>
<action path="/home" className="oracle.adf.controller.struts.actions.DataActionMapping" type="oracle.adf.controller.struts.actions.DataForwardAction" name="DataForm" parameter="/index.uix" unknown="true">
<set-property property="modelReference" value="indexUIModel"/>
</action>
</action-mappings>I just found the solution. I've overridden setWhereClause method.
public void setWhereClauseParams(Object[] values)
ViewObjectImpl vo = (ViewObjectImpl) super.getViewObject();
vo.setWhereClauseParam(0,values[0]);
} -
JSF-EL expansion inside of object using ADF in a JSP
JSF-EF will not convert to text inside of <object><param>
I have an existing JSP application that uses an Applet. There is a lot of <% %> code that is passed to the Applet using the <param> tag.
My code goes as follows:
<%@ page stuff%>
<%@taglib stuff%>
<f:loadBundle stuff/>
<%
a lot of ugly java code that I've already ported to a Managed Bean like
String WORKS = "WORKS";
%>
<f:view>
<afh:html><afh:body><f:view><afh:head>blah</afh:head>
<afh:body><af:form><af:panelPage>
a lot of <f:facets>
<h:panelGrid columns="1">
<f:column>
<f:verbatim escape="false">
<af:outputText value="#{MyBean.WorksFine}"/>
</f:verbatim>
</f:column>
<f:column>
<f:verbatim escape="false">
<object classid="234" and more object stuff>
<param name="WORKS" value="WORKS"/>
<param name="<%=WORKS%>" value="<%=WORKS%>" />
<param name="#{MyBean.FAILS}" value="#{MyBean.FAILS}" />
</object>
</f:verbatim>
</f:column>
</f:panelGrid>
and so on to
</f:view>
To make a long story short my new implementation depends on being able to rid my JSP of all the <% %> stuff so that I can perform magic in my Managed Beans and then pass it to the third party applet.
I've tried using the <applet> tag and the <jsp:plugin> tags instead of the <object> tag and have the same problem. I also tried removing the escape="false" property from the <f:verbatim> tag. When I look at the Source in the Browser I see the #{MyBean.FAILS} instead of the value it holds. I can successfully use the JSF-EL references inside of a <f:verbatim> tag as long as I refer to it outside of the <object> tag. Once inside the <object> tag the expression is not evaluating.
My questions are:
(1) Is there anyway to use a JSF-EL expression inside of an <object> or <param> tag?
(2) Can you suggest another way that I might pass my Managed Bean properties to the Applet?
(3) As a worst case, is there anyway that I can access my Managed Bean Properties from inside the <% %> code?
Thanks. MarkSince object and param are not JSF tags, there is no way to access JSF-EL.
As for accessing the managed beans, you should be able to do so as long as you know they've been instantiated at the point in the page where you make the reference and they are in a scope that you can access from JSP land (like session or application).
Not the answer you wanted, but I hope it helps. -
How to execute Custom java data source LOV view object from a common mthd?
Hi,
My application contains Custom java data source implemented LOVs. I want to have a util method which gets the view accessor name, find the view accessor and execute it. But i couldn't find any API to get the view accessors by passing the name.
Can anyone help me iin how best view accessors can be accessed in common but no by creating ViewRowImpl class (By every developer) and by accessing the RowSet getters?
Thanks in advance.I am sorrry, let me tell my requirement clearly.
My application is not data base driven. Data transaction happens using tuxedo server.
We have entity driven VOs as well as programmatic VOs. Both are custom java data source implemented. Entity driven VOs will participate in transactions whereas programmatic VOs are used as List view object to show List of values.
Custom java datasource implementation in BaseService Viewobject Impl class looks like
private boolean callService = false;
private List serviceCallInputParams = null;
public BaseServiceViewObjectImpl()
super();
* Overridden for custom java data source support.
protected void executeQueryForCollection(Object qc, Object[] params, int noUserParams)
List dataFromService = null;
if(callService)
callService = retrieveDataFromService(serviceCallInputParams);
setUserDataForCollection(qc, dataFromService != null? dataFromService.iterator(): null);
super.executeQueryForCollection(qc, params, noUserParams);
* Overridden for custom java data source support.
protected boolean hasNextForCollection(Object qc)
Iterator<BaseDatum> datumItr = (Iterator<BaseDatum>) getUserDataForCollection(qc);
if (datumItr != null && datumItr.hasNext())
return true;
callService = false;
serviceCallInputParams = null;
setFetchCompleteForCollection(qc, true);
return false;
}Individual screen developer, who want to load data to VO, will do something like the below code in their VO impl class
public void fetch()
BaseServiceViewObjectImpl vo = this;
vo.setCallService(true);
vo.setServiceCallInputParams(new ArrayList());
vo.executeQuery();
}As these custom java data source implemented LOV VOs comes across the screens, i want to have a util method at Base VOImpl class, that gets the view accessor name, finds the LOV VO instance, retrieves data for that. I want to do something like
* Wrapper method available at Base Service ViewObject impl class
public void fetchLOVData(String viewAccessorName, List serviewInputParams)
// find the LOV View object instance
BaseServiceViewObjectImpl lovViewObject = (BaseServiceViewObjectImpl) findViewAccessor(viewAccessorName);
// Get data for LOV view object from service
lovViewObject.setCallService(true);
lovViewObject.setServiceCallInputParams(serviewInputParams);
lovViewObject.executeQuery();
Question:
1. Is it achievable?
1. Is there any API available at View Object Impl class level, that gets the view accessor name and returns the exact LOV view object instance? If not, how can i achieve it? -
Hidden Objects from Web Templates
Hello,
I have two tabs on a web template.
- On the first tab I only want to see the table
- On the second one I want to see the chart.
I only want to see the Information from one sub- template on every tab)
But the result is: If I click on the second button I see both (table and chart).
So how can I hidde this table if I click on the second tab
Thanks for help and any ideas!!
Henning
Code:
<!-- First Tab: Display table and nav block -->
<td align="middle" nowrap class="SAPBEXTbsTabSel" id="GR1Area">
<A title=GH href="<SAP_BW_URL ITEM='GH_1' MULTI='X' HIDDEN='Y' CMD_1='ITEM=GH_1&MULTI=X&HIDDEN='Y' >&dummy=#TabStripContent" >GH</A>
</td>
<!-- Second Tab: Display chart -->
<td align="middle" nowrap class="SAPBEXTbsTab" id="GR2Area">
<A title=GH href="<SAP_BW_URL ITEM='GH_2' HIDDEN='' CMD_1='ITEM=GH_2&MULTI=X&HIDDEN='X' >&dummy=#TabStripContent" >Grafik</A>
</td>
</tr>
</table></td></tr></table></td></tr></table>
<object>
<param name="OWNER" value="SAP_BW"/>
<param name="CMD" value="GET_ITEM"/>
<param name="NAME" value="GH_1"/>
<param name="ITEM_CLASS" value="CL_RSR_WWW_ITEM_TEMPLATE"/>
<param name="TEMPLATE_ID" value="ZTEMPL1"/>
<param name="GENERATE_CAPTION" value=""/>
<param name="HIDDEN" value="Y"/>
ITEM: GH_1
</object>
<object>
<param name="OWNER" value="SAP_BW"/>
<param name="CMD" value="GET_ITEM"/>
<param name="NAME" value="GH_2"/>
<param name="ITEM_CLASS" value="CL_RSR_WWW_ITEM_TEMPLATE"/>
<param name="TEMPLATE_ID" value="ZTEMPL2"/>
<param name="HIDDEN" value="X"/>
<param name="GENERATE_CAPTION" value=""/>
ITEM: GH_2
</object><!-- Second Tab: Display chart -->
<td align="middle" nowrap class="SAPBEXTbsTab" id="GR2Area">
<A title=GH href="<SAP_BW_URL ITEM='GH_2' HIDDEN='' CMD_1='ITEM=GH_2&MULTI=X&HIDDEN='X' >&dummy=#TabStripContent" >Grafik</A>
</td>
Call onclick event like
<!-- Second Tab: Display chart -->
<td align="middle" nowrap class="SAPBEXTbsTab" id="GR2Area">
<A title=GH href="<SAP_BW_URL ITEM='GH_2' HIDDEN='' CMD_1='ITEM=GH_2&MULTI=X&HIDDEN='X' onclick= "HideTable();">&dummy=#TabStripContent" >Grafik</A>
</td>
At the bottom between </BODY> </HTML> Paste this
<script>
function HideTable(TableName)
obj = getTableReference("GH_2");
obj.style.display = "hidden";
function getTableReference( table_name ){
var all_elements = document.all;
for( var i=0;i<all_elements.length;i++ ){
if (all_elements<i>.name==table_name)//we have found tbl
return all_elements<i>;
}//end for
return null;
}//end function[/code]
</script>
Hope it helps
Regs
Gopi.
Message was edited by: Gopi -
Web Service Process does not translate 2nd parameter object
Hi,
I have a a web service that has 3 paramaters.
Param 1 = string
Param 2 = custom object
Param 3 = same custom object
When I create the web service process it correctly translates Param 2 into the object items. i.e. int, string, boolean, string, date, int, date etc. However Param 3 remains as an object!
I have found a workaround for this by creating a 2nd object class which has exactly the same items as the original object and this works fine, however, this cannot be the correct way to do it as now I have 2 objects classes that are a copy of each other. Anyone have any ideas how to get the 3rd parameter to split into it's parts?
Thanks,
FredI'm getting the same error.
Type mismatch: cannot convert from short[][] to short[]
ComplexType_Carton.java
and...
The method setNumeroscarton(short[][]) in the type Carton is
not applicable for the arguments (short[])
ComplexType_Carton.java
Steps to recreate the problem:
1. Create and Expose webservice method with a parameter whose type has a short[][] (or bidimensional array of anything) field (property).
2. Try to import the web service in web dynpro... <b>kaputt</b> it won't compile.
<b>Seems like a bug to me. Someone please advice.</b> -
I'm trying to create a programmatic view object from an Oracle Stored procedure that returns a single row containing Oracle Object Types. I created a Domain for my Oracle Object type called BillingInfo. Here is the code for my view object so far:
package billing;
import billing.common.BillingInfo;
import java.lang.Integer;
import java.math.BigDecimal;
import java.sql.CallableStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Timestamp;
import java.sql.Types;
import java.util.Date;
import java.text.SimpleDateFormat;
import oracle.jbo.JboException;
import oracle.jbo.server.DBTransaction;
import oracle.jbo.server.ViewObjectImpl;
import oracle.jbo.server.ViewRowImpl;
import oracle.jbo.server.ViewRowSetImpl;
import oracle.jdbc.driver.OracleCallableStatement;
import oracle.jdbc.driver.OracleTypes;
// --- File generated by Oracle Business Components for Java.
public class BillingInfoViewImpl extends ViewObjectImpl
// billing info procedure call variables
private final static int BILLING_LOGGED_ON_USER_ID = 0;
private final static int BILLING_BILL_TO_USER_ID = 1;
private final static int BILLING_TRANSACTION_DATE = 2;
private final static int BILLING_TRANSACTION_DETAILS1 = 3;
private final static int BILLING_TRANSACTION_DETAILS2 = 4;
private final static int BILLING_TRANSACTION_DETAILS3 = 5;
private final static int BILLING_TRANSACTION_DETAILS4 = 6;
private final static int BILLING_TRANSACTION_DETAILS5 = 7;
private final static int BILLING_TRANSACTION_COUNT = 8;
private final static int BILLING_TOTAL_CHARGE_AMOUNT = 9;
private final static int BILLING_PAY_TYPE = 10;
private final static int BILLING_ERROR_MESSAGE = 11;
private final static int BILLING_ERROR_CODE = 12;
private final static int BILLING_RETURN_VALUE = 13; /*
* This is the PLSQL block that we will execute
private static final String SQL =
"begin ecs_jdbc_wrappers.get_billing_info_jdbc(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ,?, ?, ?);end;";
* This is the default constructor (do not remove)
public BillingInfoViewImpl() { }
* Overridden framework method.
* Executed when the framework needs to issue the database query for
* the query collection based on this view object. One view object
* can produce many related result sets, each potentially the result
* of different bind variable values. If the rowset in query is involved
* in a framework-coordinated master/detail viewlink, then the params array
* will contain one or more framework-supplied bind parameters. If there
* are any user-supplied bind parameter values, they will PRECEED the
* framework-supplied bind variable values in the params array, and the
* number of user parameters will be indicated by the value of the
* numUserParams argument.
protected void executeQueryForCollection(Object qc,Object[] params,int numUserParams) {
* If there are where-clause params they will be in the 'params' array.
* NOTE: Due to Bug#2828248 I have to cast to BigDecimal for now,
* ---- but this parameter value should be oracle.jbo.domain.Number type.
int sqlcode = 0; // statement sql code
String errorMessage = null; // statement error message
String loggedOnUserId = null; // IN VARCHAR2
String billToUserId = null; // IN VARCHAR2
Date transactionDate = new Date(); // IN DATE
BillingInfo transactionDetails1 = null; // IN OUT billing_info
BillingInfo transactionDetails2 = null;
BillingInfo transactionDetails3 = null;
BillingInfo transactionDetails4 = null;
BillingInfo transactionDetails5 = null;
int transDetailsCount = 0; // IN INTEGER
String payType = null; // IN VARCHAR2
if (params != null)
loggedOnUserId = (String)params[BILLING_LOGGED_ON_USER_ID];
System.out.println("USER ID:" + loggedOnUserId);
billToUserId = (String)params[BILLING_BILL_TO_USER_ID];
System.out.println("BILLED USER ID:" + billToUserId);
if (params[BILLING_TRANSACTION_DETAILS1] != null) {
System.out.println(params[BILLING_TRANSACTION_DETAILS1]);
transactionDetails1 = (BillingInfo)params[BILLING_TRANSACTION_DETAILS1];
transDetailsCount = transDetailsCount + 1;
if (params[BILLING_TRANSACTION_DETAILS2] != null) {
transactionDetails2 = (BillingInfo)params[BILLING_TRANSACTION_DETAILS2];
transDetailsCount = transDetailsCount + 1;
if (params[BILLING_TRANSACTION_DETAILS3] != null) {
transactionDetails3 = (BillingInfo)params[BILLING_TRANSACTION_DETAILS3];
transDetailsCount = transDetailsCount + 1;
if (params[BILLING_TRANSACTION_DETAILS4] != null) {
transactionDetails4 = (BillingInfo)params[BILLING_TRANSACTION_DETAILS4];
transDetailsCount = transDetailsCount + 1;
if (params[BILLING_TRANSACTION_DETAILS5] != null) {
transactionDetails5 = (BillingInfo)params[BILLING_TRANSACTION_DETAILS5];
transDetailsCount = transDetailsCount + 1;
payType = (String)params[BILLING_PAY_TYPE];
CallableStatement st = null;
try {
st = getDBTransaction().createCallableStatement(SQL,DBTransaction.DEFAULT);
* Set the value of the bind variables
st.setString(1, loggedOnUserId);
st.setString(2, billToUserId);
// Set Transaction Date to todays date
java.sql.Timestamp sqlTs = new java.sql.Timestamp(transactionDate.getTime());
st.setTimestamp(3, sqlTs);
System.out.println("TRANS DATE:" + sqlTs);
st.setObject(4, transactionDetails1);
if (transactionDetails2 == null) st.setNull(5, Types.STRUCT, "BILLING_INFO");
else st.setObject(5, transactionDetails1);
if (transactionDetails3 == null) st.setNull(6, Types.STRUCT, "BILLING_INFO");
else st.setObject(6, transactionDetails1);
if (transactionDetails4 == null) st.setNull(7, Types.STRUCT, "BILLING_INFO");
else st.setObject(7, transactionDetails1);
if (transactionDetails5 == null) st.setNull(8, Types.STRUCT, "BILLING_INFO");
else st.setObject(8, transactionDetails1);
st.setInt(9, transDetailsCount);
st.setString(11,payType);
* Register OUT paramters
st.registerOutParameter(4, Types.STRUCT, "BILLING_INFO");
st.registerOutParameter(5, Types.STRUCT, "BILLING_INFO");
st.registerOutParameter(6, Types.STRUCT, "BILLING_INFO");
st.registerOutParameter(7, Types.STRUCT, "BILLING_INFO");
st.registerOutParameter(8, Types.STRUCT, "BILLING_INFO");
st.registerOutParameter(10, Types.DOUBLE);
st.registerOutParameter(12, Types.VARCHAR);
st.registerOutParameter(13, Types.INTEGER);
st.registerOutParameter(14, Types.INTEGER);
// execute the stored procedure
st.execute();
// get the SQLCODE
sqlcode = st.getInt(13);
System.out.println("sqlcode returned:" + sqlcode);
errorMessage = st.getString(12);
System.out.println("Error Message:" + errorMessage);
catch (SQLException s) {
System.out.println("sqlcode returned:" + sqlcode);
System.out.println("Error Message:" + errorMessage);
throw new JboException(s);
finally {try {st.close();} catch (SQLException s) {}}
super.executeQueryForCollection(qc, params, numUserParams);
This almost works except when I try to print out the attributes I get an error. I beleive I have to override some of the view object framework methods. If so, how do I go about this? Is it the same methods overridden in this example Getting a View Object's Result Rows from a REF CURSOR? http://radio.weblogs.com/0118231/stories/2003/03/03/gettingAViewObjectsResultRowsFromARefCursor.html
NatYes. only difference is that your VO will just have one row in it.
-
When we try to deploy a wsp to sharepoint containing code to generate quick launch menu we get the following error messages when running the last enable-spfeature command in powershell. The same code is working in the development environment, but when we
deploy to a test server the following error occurs:
Add-SPSolution "C:\temp\ImpactSharePoint.wsp"
Install-SPSolution -Identity impactsharepoint.wsp -GACDeployment
Enable-SPFeature impactsharepoint_branding -url http://im-sp1/sites/impact/
Enable-SPFeature impactsharepoint_pages -url http://im-sp1/sites/impact/
From UlsViewer.exe:
03.12.2014 15:21:25.45 PowerShell.exe (0x1620)
0x11F4 SharePoint Foundation
Database 880i
High System.Data.SqlClient.SqlException (0x80131904): Cannot insert duplicate key row in object 'dbo.NavNodes' with unique index 'NavNodes_PK'. The duplicate key value is (6323df8a-5c57-4d3e-a477-09aa8b66100a, 7ae114df-9d52-4b08-affa-8c544cbc27b6,
1000). The statement has been terminated. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject
stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj,
Boolean& dataReady) at System.Data.SqlClient.SqlDataReader.TryConsumeMetaData() at System.Data.SqlClient.SqlDataReader.get_MetaData() at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior
runBehavior, String resetOptionsString) at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean asyncWrite) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior
cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior
behavior) at Microsoft.SharePoint.Utilities.SqlSession.ExecuteReader(SqlCommand command, CommandBehavior behavior, SqlQueryData monitoringData, Boolean retryForDeadLock) ClientConnectionId:2bb4004c-aa75-470e-b11e-dbf1c476aaed
5b7e05f7-49df-42ca-b7c9-8ae5b06b464f
03.12.2014 15:21:25.45 PowerShell.exe (0x1620)
0x11F4 SharePoint Foundation
Database 880k
High at Microsoft.SharePoint.SPSqlClient.ExecuteQueryInternal(Boolean retryfordeadlock) at Microsoft.SharePoint.SPSqlClient.ExecuteQuery(Boolean retryfordeadlock) at Microsoft.SharePoint.Library.SPRequestInternalClass.AddNavigationNode(String
bstrUrl, String bstrName, String bstrNameResource, String bstrNodeUrl, Int32 lType, Int32 lParentId, Int32 lPreviousSiblingId, Boolean bAddToQuickLaunch, Boolean bAddToSearchNav, String& pbstrDateModified) at Microsoft.SharePoint.Library.SPRequestInternalClass.AddNavigationNode(String
bstrUrl, String bstrName, String bstrNameResource, String bstrNodeUrl, Int32 lType, Int32 lParentId, Int32 lPreviousSiblingId, Boolean bAddToQuickLaunch, Boolean bAddToSearchNav, String& pbstrDateModified) at Microsoft.SharePoint.Library.SPRequest.AddNavigationNode(String
bstrUrl, String bstrName, String bstrNameResource, String bstrNodeUrl, Int32 lType, Int32 lParentId, Int32 lPreviousSiblingId, Boolean bAddToQuickLaunch, Boolean bAddToSearchNav, String& pbstrDateModified) at Microsoft.SharePoint.Navigation.SPNavigationNode.AddInternal(Int32
iPreviousNodeId, Int32 iParentId, Boolean bAddToQuickLaunch, Boolean bAddToSearchNav) at Microsoft.SharePoint.Navigation.SPNavigationNodeCollection.AddInternal(SPNavigationNode node, Int32 iPreviousNodeId) at ImpactSharePoint.ConfigureSharePointInstance.NavigationConfig.<ConfigureQuickLaunchBar>b__0()
at Microsoft.SharePoint.SPSecurity.<>c__DisplayClass5.<RunWithElevatedPrivileges>b__3() at Microsoft.SharePoint.Utilities.SecurityContext.RunAsProcess(CodeToRunElevated secureCode) at Microsoft.SharePoint.SPSecurity.RunWithElevatedPrivileges(WaitCallback
secureCode, Object param) at Microsoft.SharePoint.SPSecurity.RunWithElevatedPrivileges(CodeToRunElevated secureCode) at ImpactSharePoint.ConfigureSharePointInstance.NavigationConfig.ConfigureQuickLaunchBar() at ImpactSharePoint.Features.Pages.PagesEventReceiver.FeatureActivated(SPFeatureReceiverProperties
properties) at Microsoft.SharePoint.SPFeature.DoActivationCallout(Boolean fActivate, Boolean fForce) at Microsoft.SharePoint.SPFeature.Activate(SPSite siteParent, SPWeb webParent, SPFeaturePropertyCollection props, SPFeatureActivateFlags
activateFlags, Boolean fForce) at Microsoft.SharePoint.SPFeatureCollection.AddInternal(SPFeatureDefinition featdef, Version version, SPFeaturePropertyCollection properties, SPFeatureActivateFlags activateFlags, Boolean force, Boolean fMarkOnly)
at Microsoft.SharePoint.SPFeature.ActivateDeactivateFeatureAtWeb(Boolean fActivate, Boolean fEnsure, Guid featid, SPFeatureDefinition featdef, String urlScope, String sProperties, Boolean fForce) at Microsoft.SharePoint.SPFeature.ActivateDeactivateFeatureAtScope(Boolean
fActivate, Guid featid, SPFeatureDefinition featdef, String urlScope, Boolean fForce) at Microsoft.SharePoint.PowerShell.SPCmdletEnableFeature.UpdateDataObject() at Microsoft.SharePoint.PowerShell.SPCmdlet.ProcessRecord()
at System.Management.Automation.CommandProcessor.ProcessRecord() at System.Management.Automation.CommandProcessorBase.DoExecute() at System.Management.Automation.Internal.PipelineProcessor.SynchronousExecuteEnumerate(Object
input, Hashtable errorResults, Boolean enumerate) at System.Management.Automation.PipelineOps.InvokePipeline(Object input, Boolean ignoreInput, CommandParameterInternal[][] pipeElements, CommandBaseAst[] pipeElementAsts, CommandRedirection[][]
commandRedirections, FunctionContext funcContext) at System.Management.Automation.Interpreter.ActionCallInstruction`6.Run(InterpretedFrame frame) at System.Management.Automation.Interpreter.EnterTryCatchFinallyInstruction.Run(InterpretedFrame
frame) at System.Management.Automation.Interpreter.EnterTryCatchFinallyInstruction.Run(InterpretedFrame frame) at System.Management.Automation.Interpreter.Interpreter.Run(InterpretedFrame frame) at System.Management.Automation.Interpreter.LightLambda.RunVoid1[T0](T0
arg0) at System.Management.Automation.DlrScriptCommandProcessor.RunClause(Action`1 clause, Object dollarUnderbar, Object inputToProcess) at System.Management.Automation.CommandProcessorBase.DoComplete() at System.Management.Automation.Internal.PipelineProcessor.DoCompleteCore(CommandProcessorBase
commandRequestingUpstreamCommandsToStop) at System.Management.Automation.Internal.PipelineProcessor.SynchronousExecuteEnumerate(Object input, Hashtable errorResults, Boolean enumerate) at System.Management.Automation.Runspaces.LocalPipeline.InvokeHelper()
at System.Management.Automation.Runspaces.LocalPipeline.InvokeThreadProc() at System.Management.Automation.Runspaces.PipelineThread.WorkerProc() at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext,
ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext
executionContext, ContextCallback callback, Object state) at System.Threading.ThreadHelper.ThreadStart()
5b7e05f7-49df-42ca-b7c9-8ae5b06b464f
03.12.2014 15:21:25.45 PowerShell.exe (0x1620)
0x11F4 SharePoint Foundation
Database 880j
High SqlError: 'Cannot insert duplicate key row in object 'dbo.NavNodes' with unique index 'NavNodes_PK'. The duplicate key value is (6323df8a-5c57-4d3e-a477-09aa8b66100a, 7ae114df-9d52-4b08-affa-8c544cbc27b6, 1000).'
Source: '.Net SqlClient Data Provider' Number: 2601 State: 1 Class: 14 Procedure: 'proc_NavStructAddNewNode' LineNumber: 92 Server: 'IMPACTCLUSTER\IMPACTDB'
5b7e05f7-49df-42ca-b7c9-8ae5b06b464f
03.12.2014 15:21:25.45 PowerShell.exe (0x1620)
0x11F4 SharePoint Foundation
Database 880j
High SqlError: 'The statement has been terminated.' Source: '.Net SqlClient Data Provider' Number: 3621 State: 0 Class: 0 Procedure: 'proc_NavStructAddNewNode' LineNumber: 92 Server: 'IMPACTCLUSTER\IMPACTDB'
5b7e05f7-49df-42ca-b7c9-8ae5b06b464f
03.12.2014 15:21:25.45 PowerShell.exe (0x1620)
0x11F4 SharePoint Foundation
Database tzku
High ConnectionString: 'Data Source=IMPACTCLUSTER\IMPACTDB;Initial Catalog=WSS_Content;Integrated Security=True;Enlist=False;Pooling=True;Min Pool Size=0;Max Pool Size=100;Connect Timeout=15;Application Name=SharePoint[powershell][1][WSS_Content]'
Partition: 6323df8a-5c57-4d3e-a477-09aa8b66100a ConnectionState: Closed ConnectionTimeout: 15
5b7e05f7-49df-42ca-b7c9-8ae5b06b464f
03.12.2014 15:21:25.45 PowerShell.exe (0x1620)
0x11F4 SharePoint Foundation
Database tzkv
High SqlCommand: 'BEGIN TRAN DECLARE @abort int SET @abort = 0 DECLARE @EidBase int,@EidHome int SET @EidBase = 0 SET @EidHome = NULL IF @abort = 0 BEGIN EXEC @abort = proc_NavStructAllocateEidBlockWebId @wssp0, @wssp1,
@wssp2, @wssp3, @EidBase OUTPUT SELECT @wssp4 = @EidBase, @wssp5 = @abort END IF @abort = 0 BEGIN EXEC @abort = proc_NavStructAddNewNodeByUrl '6323DF8A-5C57-4D3E-A477-09AA8B66100A','7AE114DF-9D52-4B08-AFFA-8C544CBC27B6',1,2072,-1,0,N'sites/impact/default.aspx',N'PersonSøk',N'PersonSøk',NULL,0,0,0,NULL,@EidBase,@EidHome
OUTPUT SELECT @wssp6 = @abort END IF @abort = 0 BEGIN EXEC proc_NavStructLogChangesAndUpdateSiteChangedTime @wssp7, @wssp8, NULL END IF @abort <> 0 BEGIN ROLLBACK TRAN END ELSE BEGIN COMMIT TRAN END IF @abort = 0 BEGIN EXEC proc_UpdateDiskUsed
'6323DF8A-5C57-4D3E-A477-09AA8B66100A' END ' CommandType: Text CommandTimeout: 0 Parameter: '@wssp0' Type: UniqueIdentifier Size: 0 Direction: Input Value: '6323df8a-5c57-4d3e-a477-09aa8b66100a' Parameter: '@wssp1'
Type: UniqueIdentifier Size: 0 Direction: Input Value: '7ae114df-9d52-4b08-affa-8c544cbc27b6' Parameter: '@wssp2' Type: Int Size: 0 Direction: Input Value: '1' Parameter: '@wssp3' Type: Int Size: 0 Direction: Input Value: '2072'
Parameter: '@wssp4' Type: Int Size: 0 Direction: Output Value: '2072' Parameter: '@wssp5' Type: Int Size: 0 Direction: Output Value: '0' Parameter: '@wssp6' Type: Int Size: 0 Direction: Output Value: '10006'
Parameter: '@wssp7' Type: UniqueIdentifier Size: 0 Direction: Input Value: '6323df8a-5c57-4d3e-a477-09aa8b66100a' Parameter: '@wssp8' Type: UniqueIdentifier Size: 0 Direction: Input Value: '7ae114df-9d52-4b08-affa-8c544cbc27b6'
5b7e05f7-49df-42ca-b7c9-8ae5b06b464f
03.12.2014 15:21:25.45 PowerShell.exe (0x1620)
0x11F4 SharePoint Foundation
Database aek90
High SecurityOnOperationCheck = True
5b7e05f7-49df-42ca-b7c9-8ae5b06b464f
03.12.2014 15:21:25.45 PowerShell.exe (0x1620)
0x11F4 SharePoint Foundation
Database d0d6
High System.Data.SqlClient.SqlException (0x80131904): Cannot insert duplicate key row in object 'dbo.NavNodes' with unique index 'NavNodes_PK'. The duplicate key value is (6323df8a-5c57-4d3e-a477-09aa8b66100a, 7ae114df-9d52-4b08-affa-8c544cbc27b6,
1000). The statement has been terminated. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject
stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj,
Boolean& dataReady) at System.Data.SqlClient.SqlDataReader.TryConsumeMetaData() at System.Data.SqlClient.SqlDataReader.get_MetaData() at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior
runBehavior, String resetOptionsString) at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean asyncWrite) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior
cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior
behavior) at Microsoft.SharePoint.Utilities.SqlSession.ExecuteReader(SqlCommand command, CommandBehavior behavior, SqlQueryData monitoringData, Boolean retryForDeadLock) at Microsoft.SharePoint.SPSqlClient.ExecuteQueryInternal(Boolean
retryfordeadlock) at Microsoft.SharePoint.SPSqlClient.ExecuteQuery(Boolean retryfordeadlock) ClientConnectionId:2bb4004c-aa75-470e-b11e-dbf1c476aaed
5b7e05f7-49df-42ca-b7c9-8ae5b06b464f
03.12.2014 15:21:25.45 PowerShell.exe (0x1620)
0x11F4 SharePoint Foundation
Database ad194
High ExecuteQuery failed with original error 0x80131904
5b7e05f7-49df-42ca-b7c9-8ae5b06b464f
03.12.2014 15:21:25.45 PowerShell.exe (0x1620)
0x11F4 SharePoint Foundation
Database 8z23
Unexpected Unexpected query execution failure in navigation query, HResult -2146232060. Query text (if available): "BEGIN TRAN DECLARE @abort int SET @abort = 0 DECLARE @EidBase int,@EidHome int SET @EidBase
= 0 SET @EidHome = NULL IF @abort = 0 BEGIN EXEC @abort = proc_NavStructAllocateEidBlockWebId @wssp0, @wssp1, @wssp2, @wssp3, @EidBase OUTPUT SELECT @wssp4 = @EidBase, @wssp5 = @abort END IF @abort = 0 BEGIN EXEC @abort = proc_NavStructAddNewNodeByUrl '6323DF8A-5C57-4D3E-A477-09AA8B66100A','7AE114DF-9D52-4B08-AFFA-8C544CBC27B6',1,2072,-1,0,N'sites/impact/default.aspx',N'PersonSøk',N'PersonSøk',NULL,0,0,0,NULL,@EidBase,@EidHome
OUTPUT SELECT @wssp6 = @abort END IF @abort = 0 BEGIN EXEC proc_NavStructLogChangesAndUpdateSiteChangedTime @wssp7, @wssp8, NULL END IF @abort <> 0 BEGIN ROLLBACK TRAN END ELSE BEGIN COMMIT TRAN END IF @abort = 0 BEGIN EXEC proc_UpdateDiskUsed
'6323DF8A-5C57-4D3E-A477-09AA8B66100A' END "
5b7e05f7-49df-42ca-b7c9-8ae5b06b464f
03.12.2014 15:21:25.45 PowerShell.exe (0x1620)
0x11F4 SharePoint Foundation
General 8kh7
High <nativehr>0x8107140d</nativehr><nativestack></nativestack>An unexpected error occurred while manipulating the navigational structure of this Web.
5b7e05f7-49df-42ca-b7c9-8ae5b06b464f
03.12.2014 15:21:25.45 PowerShell.exe (0x1620)
0x11F4 SharePoint Foundation
General aix9j
High SPRequest.AddNavigationNode: UserPrincipalName=i:0).w|s-1-5-21-2030300366-1823906440-2562684930-2106, AppPrincipalName= ,bstrUrl=http://im-sp1/sites/impact ,bstrName=PersonSøk ,bstrNameResource=<null> ,bstrNodeUrl=/sites/impact/default.aspx
,lType=0 ,lParentId=2072 ,lPreviousSiblingId=-1 ,bAddToQuickLaunch=False ,bAddToSearchNav=False
5b7e05f7-49df-42ca-b7c9-8ae5b06b464f
03.12.2014 15:21:25.45 PowerShell.exe (0x1620)
0x11F4 SharePoint Foundation
General ai1wu
Medium System.Runtime.InteropServices.COMException: <nativehr>0x8107140d</nativehr><nativestack></nativestack>An unexpected error occurred while manipulating the navigational structure of this
Web., StackTrace: at Microsoft.SharePoint.Navigation.SPNavigationNode.AddInternal(Int32 iPreviousNodeId, Int32 iParentId, Boolean bAddToQuickLaunch, Boolean bAddToSearchNav) at Microsoft.SharePoint.Navigation.SPNavigationNodeCollection.AddInternal(SPNavigationNode
node, Int32 iPreviousNodeId) at ImpactSharePoint.ConfigureSharePointInstance.NavigationConfig.<ConfigureQuickLaunchBar>b__0() at Microsoft.SharePoint.SPSecurity.<>c__DisplayClass5.<RunWithElevatedPrivileges>b__3()
at Microsoft.SharePoint.Utilities.SecurityContext.RunAsProcess(CodeToRunElevated secureCode) at Microsoft.SharePoint.SPSecurity.RunWithElevatedPrivileges(WaitCallback secureCode, Object param) at Microsoft.SharePoint.SPSecurity.RunWithElevatedPrivileges(CodeToRunElevated
secureCode) at ImpactSharePoint.ConfigureSharePointInstance.NavigationConfig.ConfigureQuickLaunchBar() at ImpactSharePoint.Features.Pages.PagesEventReceiver.FeatureActivated(SPFeatureReceiverProperties properties)
at Microsoft.SharePoint.SPFeature.DoActivationCallout(Boolean fActivate, Boolean fForce) at Microsoft.SharePoint.SPFeature.Activate(SPSite siteParent, SPWeb webParent, SPFeaturePropertyCollection props, SPFeatureActivateFlags activateFlags, Boolean
fForce) at Microsoft.SharePoint.SPFeatureCollection.AddInternal(SPFeatureDefinition featdef, Version version, SPFeaturePropertyCollection properties, SPFeatureActivateFlags activateFlags, Boolean force, Boolean fMarkOnly) at Microsoft.SharePoint.SPFeature.ActivateDeactivateFeatureAtWeb(Boolean
fActivate, Boolean fEnsure, Guid featid, SPFeatureDefinition featdef, String urlScope, String sProperties, Boolean fForce) at Microsoft.SharePoint.SPFeature.ActivateDeactivateFeatureAtScope(Boolean fActivate, Guid featid, SPFeatureDefinition
featdef, String urlScope, Boolean fForce) at Microsoft.SharePoint.PowerShell.SPCmdletEnableFeature.UpdateDataObject() at Microsoft.SharePoint.PowerShell.SPCmdlet.ProcessRecord() at System.Management.Automation.CommandProcessor.ProcessRecord()
at System.Management.Automation.CommandProcessorBase.DoExecute() at System.Management.Automation.Internal.PipelineProcessor.SynchronousExecuteEnumerate(Object input, Hashtable errorResults, Boolean enumerate) at System.Management.Automation.PipelineOps.InvokePipeline(Object
input, Boolean ignoreInput, CommandParameterInternal[][] pipeElements, CommandBaseAst[] pipeElementAsts, CommandRedirection[][] commandRedirections, FunctionContext funcContext) at System.Management.Automation.Interpreter.ActionCallInstruction`6.Run(InterpretedFrame
frame) at System.Management.Automation.Interpreter.EnterTryCatchFinallyInstruction.Run(InterpretedFrame frame) at System.Management.Automation.Interpreter.EnterTryCatchFinallyInstruction.Run(InterpretedFrame frame)
at System.Management.Automation.Interpreter.Interpreter.Run(InterpretedFrame frame) at System.Management.Automation.Interpreter.LightLambda.RunVoid1[T0](T0 arg0) at System.Management.Automation.DlrScriptCommandProcessor.RunClause(Action`1
clause, Object dollarUnderbar, Object inputToProcess) at System.Management.Automation.CommandProcessorBase.DoComplete() at System.Management.Automation.Internal.PipelineProcessor.DoCompleteCore(CommandProcessorBase commandRequestingUpstreamCommandsToStop)
at System.Management.Automation.Internal.PipelineProcessor.SynchronousExecuteEnumerate(Object input, Hashtable errorResults, Boolean enumerate) at System.Management.Automation.Runspaces.LocalPipeline.InvokeHelper()
at System.Management.Automation.Runspaces.LocalPipeline.InvokeThreadProc() at System.Management.Automation.Runspaces.PipelineThread.WorkerProc() at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext,
ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext
executionContext, ContextCallback callback, Object state) at System.Threading.ThreadHelper.ThreadStart()
5b7e05f7-49df-42ca-b7c9-8ae5b06b464f
03.12.2014 15:21:25.45 PowerShell.exe (0x1620)
0x11F4 SharePoint Foundation
Feature Infrastructure 88jm
High Feature receiver assembly 'ImpactSharePoint, Version=1.1.0.0, Culture=neutral, PublicKeyToken=3f4d824fecc0071e', class 'ImpactSharePoint.Features.Pages.PagesEventReceiver', method 'FeatureActivated' for feature
'd8aabd95-076a-4650-a8a6-0aa5bd8ac8d1' threw an exception: Microsoft.SharePoint.SPException: An unexpected error occurred while manipulating the navigational structure of this Web. ---> System.Runtime.InteropServices.COMException: <nativehr>0x8107140d</nativehr><nativestack></nativestack>An
unexpected error occurred while manipulating the navigational structure of this Web. at Microsoft.SharePoint.Library.SPRequestInternalClass.AddNavigationNode(String bstrUrl, String bstrName, String bstrNameResource, String bstrNodeUrl, Int32
lType, Int32 lParentId, Int32 lPreviousSiblingId, Boolean bAddToQuickLaunch, Boolean bAddToSearchNav, String& pbstrDateModified) at Microsoft.SharePoint.Library.SPRequest.AddNavigationNode(String bstrUrl, String bstrName, String bstrNameResource,
String bstrNodeUrl, Int32 lType, Int32 lParentId, Int32 lPreviousSiblingId, Boolean bAddToQuickLaunch, Boolean bAddToSearchNav, String& pbstrDateModified) --- End of inner exception stack trace --- at Microsoft.SharePoint.SPGlobal.HandleComException(COMException
comEx) at Microsoft.SharePoint.Library.SPRequest.AddNavigationNode(String bstrUrl, String bstrName, String bstrNameResource, String bstrNodeUrl, Int32 lType, Int32 lParentId, Int32 lPreviousSiblingId, Boolean bAddToQuickLaunch, Boolean bAddToSearchNav,
String& pbstrDateModified) at Microsoft.SharePoint.Navigation.SPNavigationNode.AddInternal(Int32 iPreviousNodeId, Int32 iParentId, Boolean bAddToQuickLaunch, Boolean bAddToSearchNav) at Microsoft.SharePoint.Navigation.SPNavigationNodeCollection.AddInternal(SPNavigationNode
node, Int32 iPreviousNodeId) at ImpactSharePoint.ConfigureSharePointInstance.NavigationConfig.<ConfigureQuickLaunchBar>b__0() at Microsoft.SharePoint.SPSecurity.<>c__DisplayClass5.<RunWithElevatedPrivileges>b__3()
at Microsoft.SharePoint.Utilities.SecurityContext.RunAsProcess(CodeToRunElevated secureCode) at Microsoft.SharePoint.SPSecurity.RunWithElevatedPrivileges(WaitCallback secureCode, Object param) at Microsoft.SharePoint.SPSecurity.RunWithElevatedPrivileges(CodeToRunElevated
secureCode) at ImpactSharePoint.ConfigureSharePointInstance.NavigationConfig.ConfigureQuickLaunchBar() at ImpactSharePoint.Features.Pages.PagesEventReceiver.FeatureActivated(SPFeatureReceiverProperties properties)
at Microsoft.SharePoint.SPFeature.DoActivationCallout(Boolean fActivate, Boolean fForce)
5b7e05f7-49df-42ca-b7c9-8ae5b06b464f
The code:
using System.Diagnostics;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Navigation;
namespace ImpactSharePoint.ConfigureSharePointInstance
public class NavigationConfig
public void ConfigureQuickLaunchBar(SPWeb web)
SPSecurity.RunWithElevatedPrivileges(delegate
//Delete All Links
web.AllowUnsafeUpdates = true;
for (int i = web.Navigation.QuickLaunch.Count - 1; i > -1; i--)
web.Navigation.QuickLaunch[i].Delete(); // -> Deleting all the links in quick launch
web.QuickLaunchEnabled = true;
EventLog.WriteEntry("Sharepointfeature","Starter");
//Adding Links
SPNavigationNodeCollection nodes = web.Navigation.QuickLaunch;
var sokNode = new SPNavigationNode("Søk", null, false);
nodes.AddAsFirst(sokNode);
sokNode.Update();
EventLog.WriteEntry("Sharepointfeature", "Lagt til søk");
// Personsøk
var personSokNode = new SPNavigationNode("Deltakere", "/sites/impact/default.aspx", false); //TODO: fix hardkoding
sokNode.Children.AddAsFirst(personSokNode);
personSokNode.Update();
EventLog.WriteEntry("Sharepointfeature", "Lagt til node personsøk");
// Udb-søk
var udbSokNode = new SPNavigationNode("UDB-Søk", "/sites/impact/udbsok.aspx", false); //TODO: fix hardkoding
sokNode.Children.AddAsLast(udbSokNode);
udbSokNode.Update();
EventLog.WriteEntry("Sharepointfeature", "Lagt til node udbsøk");
// Kommuner
var kommuneNode = new SPNavigationNode("Kommuner", "/sites/impact/kommunesearch.aspx", false); //TODO: fix hardkoding
sokNode.Children.AddAsFirst(kommuneNode);
kommuneNode.Update();
EventLog.WriteEntry("Sharepointfeature", "Lagt til node kommunesøk");
// Organisasjoner
var virksomhetNode = new SPNavigationNode("Organisasjoner", "/sites/impact/virksomhetsearch.aspx", false); //TODO: fix hardkoding
sokNode.Children.AddAsFirst(virksomhetNode);
virksomhetNode.Update();
EventLog.WriteEntry("Sharepointfeature", "Lagt til node kommunesøk");
// NIR
var nirNode = new SPNavigationNode("Nir", null, false); //TODO: fix hardkoding
nodes.AddAsLast(nirNode);
nirNode.Update();
EventLog.WriteEntry("Sharepointfeature", "Lagt til node Nir");
// Tilskudd
var tilskuddNode = new SPNavigationNode("Tilskudd", "/sites/impact/", false);
nodes.AddAsLast(tilskuddNode);
tilskuddNode.Update();
EventLog.WriteEntry("Sharepointfeature", "Lagt til node Tilskudd");
// Kjøringsoversikt
var showkjoringerNode = new SPNavigationNode("Kjøringsoversikt", "/sites/dev/kjoringoversikt.aspx", false); //TODO: fix hardkoding
tilskuddNode.Children.AddAsFirst(showkjoringerNode);
showkjoringerNode.Update();
EventLog.WriteEntry("Sharepointfeature", "Lagt til node showkjoringerNode");
web.Update();
EventLog.WriteEntry("Sharepointfeature", "Etter update");
//Setting homepage
SPFolder folder = web.RootFolder;
folder.WelcomePage = "default.aspx";
folder.Update();
EventLog.WriteEntry("Sharepointfeature", "Etter homepage");
web.AllowUnsafeUpdates = false;i think you need to debug your code, lookalike the values you trying insert already exist in the database.
these two IDs (6323df8a-5c57-4d3e-a477-09aa8b66100a, 7ae114df-9d52-4b08-affa-8c544cbc27b6).
i would try to run the select command against the content db.
SELECT TOP * FROM [DB Name].[dbo].[NavNodes] where id = '6323df8a-5c57-4d3e-a477-09aa8b66100a'
Please remember to mark your question as answered &Vote helpful,if this solves/helps your problem. ****************************************************************************************** Thanks -WS MCITP(SharePoint 2010, 2013) Blog: http://wscheema.com/blog -
Trusted source Object Reconciliation Mapping for act_key - 11g Realease2
Hi all,
I have defined Trusted Source object for trusted reconciliation(from design consolw) and then created a process where I did the attribute mappings for reconciliation. I know that act_key is required field and coresponds to Organizations.Key. For my trusted source how I can define and map this attribute? Any help is strongly appreciated..
Thanks in advance,
BR
AliyeI am developping a custom connector, I did the following :
1. Create trusted RO from design console, defined the recon attributes.
2. Created process for my RO from design console and did the recon mappings.
3. Created a Recon Rule for my RO from design console and defined the recon rule.
4. Developed a scheduled task where I get the data from the trusted system and fire recon event.
The code to fire rocon event is below:
ReconOperationsService recObject = Platform.getService(ReconOperationsService.class);
PBSBean resourceData = (PBSBean)object;
Map<String,Object> params = new HashMap<String,Object>();
params.put(AttributeConstants.TCMB.ADI, resourceData.getName());
params.put(AttributeConstants.TCMB.CALISMADURUMKODU, resourceData.getCalismDurumKodu());
params.put(AttributeConstants.TCMB.CALISMADURUMU, resourceData.getCalismaDurumu());
params.put(AttributeConstants.TCMB.IMZAYETKISI, resourceData.getImzaYetkisi());
params.put(AttributeConstants.TCMB.SICIL, resourceData.getSicil());
params.put(AttributeConstants.TCMB.SIRANO, resourceData.getSiraNo());
//params.put(AttributeConstants.TCMB.SONDEGISIM, resourceData.getSonDegisim());
params.put(AttributeConstants.TCMB.SOYADI, resourceData.getSoyadi());
params.put(AttributeConstants.TCMB.UNVAN, resourceData.getUnvan());
params.put("Role", "Consultant");
params.put("OrganizationName", "Xellerate Users");
params.put("XellerateType", "End-User");
params.put("DisplayName", resourceData.getName()+" "+resourceData.getSoyadi());
long result = recObject.createReconciliationEvent("TCMB_PBS_TRUSTED", params, true);
TCMB_PBS_TRUSTED is my RO
After all when I run my job I get The error below, I thout it is because I have missed some required attr, but all are in there... Thanks for your help....
Caused by: oracle.iam.reconciliation.exception.ConfigNotFoundException: Invalid Profile - TCMB_PBS_TRUSTED
at oracle.iam.reconciliation.impl.config.CoreProfileManagerImpl$ProfileMarshaller.unMarshal(CoreProfileManagerImpl.java:521)
at oracle.iam.reconciliation.impl.config.CoreProfileManagerImpl$ProfileMarshaller.unMarshal(CoreProfileManagerImpl.java:504)
at oracle.iam.reconciliation.impl.config.CoreProfileManagerImpl$ProfileMarshaller.access$100(CoreProfileManagerImpl.java:454)
at oracle.iam.reconciliation.impl.config.CoreProfileManagerImpl.readProfileFromXML(CoreProfileManagerImpl.java:411)
at oracle.iam.reconciliation.impl.config.CoreProfileManagerImpl.getProfileFromMDS(CoreProfileManagerImpl.java:391)
at oracle.iam.reconciliation.impl.config.CoreProfileManagerImpl.getProfile(CoreProfileManagerImpl.java:381)
at oracle.iam.reconciliation.impl.config.ProfileManagerImpl.getProfile(ProfileManagerImpl.java:163)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
at oracle.iam.platform.utils.DMSMethodInterceptor.invoke(DMSMethodInterceptor.java:25)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy369.getProfile(Unknown Source)
at oracle.iam.reconciliation.impl.ReconOperationsServiceImpl.getProfile(ReconOperationsServiceImpl.java:2119)
... 86 more
Caused by: javax.xml.bind.UnmarshalException
- with linked exception:
[org.xml.sax.SAXParseException: cvc-minLength-valid: Value '' with length = '0' is not facet-valid with respect to minLength '1' for type 'matchingRuleType'.]
at javax.xml.bind.helpers.AbstractUnmarshallerImpl.createUnmarshalException(AbstractUnmarshallerImpl.java:315)
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.createUnmarshalException(UnmarshallerImpl.java:522)
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:334)
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:305)
at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:107)
at oracle.iam.reconciliation.impl.config.CoreProfileManagerImpl$ProfileMarshaller.unMarshal(CoreProfileManagerImpl.java:512)
Maybe you are looking for
-
Re: Satellite U400-Joo: Number appears instead of letter
Ive recently bought a Satellite U400 joo laptop. On my keyboard above the number 9 there is a little light with a square with little dots in. It has appeared and now when I type letters numbers now come up . How do I take this feature off??? Example,
-
Extra fm-ditafile tag is generated in book file after generating FM
I'm using Adobe FrameMaker 8 in Tech Comm Suite 1 in Windows XP. When we generated our book files from ditamaps, we seem to be getting an extra fm-ditafile tag in each chapter. We have been unwrapping these extra tags, but then we have to reapply al
-
Combobox as Datagrid Item editor
Hi there, i'm trying to use a combobox as an itemEditor for a datagridcolumn, and i'm having some difficulties in doing this. I'm using the code below to define the column, so far so good the itemeditor appears and selects the item accordingly to the
-
When I save a Pages document as a pdf and then try to email the document, it loads as an application octet-stream dat file instead of a pdf and recipients can't open it. Some load correctly, but about half don't load as a pdf. What's happening?
-
I have to migrate data from one table to another where one of the columns is the same in both tables. e.g. ID COLUMN Is there a way to migrate data such that I can update all rows in the ID column in table 2 with corresponding values from ID column i