Insert Node into XML using XPATH
Hi,
I'm having problems inserting a node into a XML. After getting some attributes from the CRC result i'd like to store them in a temp xml variable.
After that the parent node of the attributes should be inserterd in a goal XML with a repeating node structure.
Whats the right way to set a node to a certain position in the goal XML?
Now the only thing i'm getting is erros about transaction:
Caused by: javax.resource.ResourceException: Transaction is not active: tx=TransactionImple < ac, BasicAction: a307d1e:fd15:4d35c503:1351f50 status: ActionStatus.ABORT_ONLY >
at org.jboss.resource.connectionmanager.TxConnectionManager.getManagedConnection(TxConnectio nManager.java:304)
at org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnec tionManager2.java:396)
Etc..
Thx!
You can always append new nodes which has a unique tag name (this won't get overwritten).
Which means, each time when you add a node, it should have tag name which has not already present within the same parent node.
Later you can replace the tag name with the actual name by using XSL transformations.
I've tried this in one of my project and worked fine.
Nith
Similar Messages
-
Count multiple nodes in XML using xPath
Hi',
How to count the CUSTSERIAL node in the below XML using xPath.
<missingICCRec>
<MissingField xmlns="http://www.Google.com/MissingFields/v1.0">
<CUSTSERIAL xmlns="http://Google.com/InboundService">23809002RN</CUSTSERIAL>
<CUSTSERIAL xmlns="http://Google.com/InboundService">23809003RN</CUSTSERIAL>
<CUSTSERIAL xmlns="http://Google.com/InboundService">23809004RN</CUSTSERIAL>
</MissingField>
</missingICCRec>
Thanks
YatanYatan,
I created a simple BPEL with assign to count the node. Using ora:countNodes() function is throwing exception but when i tried with count() it works.
XSD seems to be valid. Only you need to have the function as below.
count(bpws:getVariableData('inputVariable','payload','/client:process/client:missingICCRec/client:MissingField/client:CUSTSERIAL'))
XSD Used:
<?xml version="1.0" encoding="UTF-8"?>
<schema attributeFormDefault="unqualified" elementFormDefault="qualified"
targetNamespace="http://xmlns.oracle.com/PIMtoRPASAmendment/BPLENodeCount/BPLENodeCount"
xmlns="http://www.w3.org/2001/XMLSchema">
<element name="process">
<complexType>
<sequence>
<element name="missingICCRec">
<complexType>
<sequence>
<element name="MissingField">
<complexType>
<sequence>
<element name="CUSTSERIAL" maxOccurs="unbounded" type="string"/>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
<element name="processResponse">
<complexType>
<sequence>
<element name="result" type="string"/>
</sequence>
</complexType>
</element>
</schema>
This works !!!
Please let me know if this helps.
Thanks,
Vijay -
How to extract node value by using xpath in orchestration shape
i want extract the node value by using xpath in expression shape in orch, then assign to variable.
then decide shape in if branch im using check condition based nodevalue .
str = xpath(Message_3, ("string(/*[local-name()='Root' and namespace-uri()='http://BizTalk_Server_ProjectRNd2.Schema3']/*[local-name()='no' and namespace-uri()=''])"));
but i got below error:
xlang/s engine event log entry: Uncaught exception (see the 'inner exception' below) has suspended an instance of service 'BizTalk_Server_ProjectRNd2.BizTalk_Orchestration1(f3c581d3-049f-8a8a-9316-fc1235b03f99)'.
The service instance will remain suspended until administratively resumed or terminated.
If resumed the instance will continue from its last persisted state and may re-throw the same unexpected exception.
InstanceId: 020779be-713d-408c-9ff4-fd1462c2e52c
Shape name: Expression_1
ShapeId: b865a3e1-7ebe-410d-9f60-8ad2139ad234
Exception thrown from: segment 1, progress 10
Inner exception: There is an error in the XML document.
Exception type: InvalidOperationException
Source: System.Xml
Target Site: System.Object Deserialize(System.Xml.XmlReader, System.String, System.Xml.Serialization.XmlDeserializationEvents)
The following is a stack trace that identifies the location where the exception occured
at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)
at Microsoft.XLANGs.Core.Part.XPathLoad(Part sourcePart, String xpath, Type dstType)
at BizTalk_Server_ProjectRNd2.BizTalk_Orchestration1.segment1(StopConditions stopOn)
at Microsoft.XLANGs.Core.SegmentScheduler.RunASegment(Segment s, StopConditions stopCond, Exception& exp)
Additional error information:
<no xmlns=''> was not expected.
Exception type: InvalidOperationException
Source: System.Xml
Target Site: System.Object Read_string()
The following is a stack trace that identifies the location where the exception occured
at System.Xml.Serialization.XmlSerializationPrimitiveReader.Read_string()
at System.Xml.Serialization.XmlSerializer.DeserializePrimitive(XmlReader xmlReader, XmlDeserializationEvents events)
at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)Hi,
as per your code i got below error
Uncaught exception (see the 'inner exception' below) has suspended an instance of service 'BizTalk_Server_ProjectRNd2.BizTalk_Orchestration1(f3c581d3-049f-8a8a-9316-fc1235b03f99)'.
The service instance will remain suspended until administratively resumed or terminated.
If resumed the instance will continue from its last persisted state and may re-throw the same unexpected exception.
InstanceId: f5fffb05-e6d6-4765-83da-4e6c9696dd8a
Shape name: Expression_1
ShapeId: b865a3e1-7ebe-410d-9f60-8ad2139ad234
Exception thrown from: segment 1, progress 10
Inner exception: There is an error in the XML document.
Exception type: InvalidOperationException
Source: System.Xml
Target Site: System.Object Deserialize(System.Xml.XmlReader, System.String, System.Xml.Serialization.XmlDeserializationEvents)
The following is a stack trace that identifies the location where the exception occured
at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializat
this is my schema:
<?xml version="1.0" encoding="utf-16"
?>
<xs:schema xmlns="http://BizTalk_Server_ProjectRNd2.Schema3" xmlns:b="http://schemas.microsoft.com/BizTalk/2003"
xmlns:ns0="https://BizTalk_Server_ProjectRNd2.PropertySchema" targetNamespace="http://BizTalk_Server_ProjectRNd2.Schema3" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:annotation>
<xs:appinfo>
<b:imports>
<b:namespace
prefix="ns0" uri="https://BizTalk_Server_ProjectRNd2.PropertySchema" location=".\PropertySchema.xsd"
/>
</b:imports>
</xs:appinfo>
</xs:annotation>
<xs:element name="Root">
<xs:annotation>
<xs:appinfo>
<b:properties>
<b:property
name="ns0:no" xpath="/*[local-name()='Root' and namespace-uri()='http://BizTalk_Server_ProjectRNd2.Schema3']/*[local-name()='no' and namespace-uri()='']"
/>
</b:properties>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element
name="no" type="xs:string" />
<xs:element
name="name" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema> -
Insert Nodes into Hierarchy via ABAP Program
Hello,
I want to create ABAP program to insert nodes into a hierarchy.
I got a class CL_RSSH_HIERMAINTAIN_FRONT with method INSERT_NODES_HIERARCHY .
But the method is private and cannot be used in the ABAP call.
I also don't want a pop up which asks for the action on duplicate nodes.
Can anyone guide me a bit here ?
Any help would be appreciated.
Varunpl check following
http://www.scribd.com/doc/7300428/Structure-of-a-Flat-Hierarchy-File-for-Loading-Using-a-PSA -
How to retrieve data from catsdb table and convert into xml using BAPI
How to retrieve data from catsdb table and convert into xml using BAPI
Points will be rewarded,
Thank you,
Regards,
Jagrut BharatKumar ShuklaHi,
This is not your requirment but u can try this :
CREATE OR REPLACE DIRECTORY text_file AS 'D:\TEXT_FILE\';
GRANT READ ON DIRECTORY text_file TO fah;
GRANT WRITE ON DIRECTORY text_file TO fah;
DROP TABLE load_a;
CREATE TABLE load_a
(a1 varchar2(20),
a2 varchar2(200))
ORGANIZATION EXTERNAL
(TYPE ORACLE_LOADER
DEFAULT DIRECTORY text_file
ACCESS PARAMETERS
(FIELDS TERMINATED BY ','
LOCATION ('data.txt')
select * from load_a;
CREATE TABLE A AS select * from load_a;
SELECT * FROM A
Regards
Faheem Latif -
Hi,
I have a problem. I need to WRITE a XML using XPath.
Supose that XPath String : "/clients/client/name"
Equivalent XML :
<clients>
<client>
<name></name>
</client>
<clients>
Please, helpme ...
The XPath Strings are dinamic, there are lot of combinations.
Is there an API (free ?) that support this ?
ThankzNormally XPath is used for searching existing XML documents, not for creating new ones. So it's unlikely that anything exists to do what you ask. But not impossible, people do the strangest things. Have you searched Google?
Of course you realize you can't use arbitrary XPath expressions here, for example what would you do with a predicate? -
Inserting data into database using service callout
Hi,
Im using 3 service callout for calling 3 database projects in osb. Im getting output from first two service call outs. In last service callout i have to insert data into data base which is output from service callout. im getting fault while inserting data. Can any body help me with any samples for inserting data into data base which is output from another service callout
BEA-382513: OSB Replace action failed updating variable "body": com.bea.wli.common.xquery.XQueryException: Error parsing XML: {err}XP0006: "element {http://www.w3.org/2003/05/soap-envelope}Body { {http://www.w3.org/2004/07/xpath-datatypes}untypedAny }": bad value for type element {http://xmlns.oracle.com/pcbpel/adapter/db/POC/NRICHMENT/}OutputParameters { {http://www.w3.org/2001/XMLSchema}anyType }Hi prabu,
I tried with several inputs but im getting same error. How to map to data base input of third service call out with output values of second service call out?
Any sample blogs -
How to insert fragment into xml column generated from query
I'm trying to generate xml from some relational data and then insert a sub node into an xml column. Here's some sample code that obviously doesn't work. I'm trying to figure out the syntax where the ???? exist.
/* create test tables*/
DECLARE @person TABLE
id int NOT NULL PRIMARY KEY CLUSTERED,
info xml NULL
DECLARE @roles TABLE
id int NOT NULL,
role_name varchar(20) NOT NULL,
PRIMARY KEY
id,
role_name
/* insert test values */
INSERT INTO @person (id, info)
VALUES (1, '<person><name><first_name>Joe</first_name><last_name>Smith</last_name></name></person>'),
(2, '<person><name><first_name>Tim</first_name><last_name>Jones</last_name></name></person>');
INSERT INTO @roles (id, role_name)
VALUES
(1,'Admin'),
(1,'User'),
(2,'Editor'),
(2,'User');
/* make sure that xml comes back correctly*/
SELECT
role_name AS name
FROM @roles AS role
WHERE id = 1 -- works for each id
FOR XML AUTO, ROOT ('roles');
UPDATE p
SET info.modify('insert ???? as last into (/person)[1]')
FROM @person p
INNER JOIN @roles r
ON p.id = r.id
/* desired output in the info column for id = 1*/
<person>
<name>
<first_name>Joe</first_name>
<last_name>Smith</last_name>
</name>
<roles>
<role name="Admin" />
<role name="User" />
</roles>
</person>
Any ideas?this?
DECLARE @person TABLE
id int NOT NULL PRIMARY KEY CLUSTERED,
info xml NULL
DECLARE @roles TABLE
id int NOT NULL,
role_name varchar(20) NOT NULL,
PRIMARY KEY
id,
role_name
/* insert test values */
INSERT INTO @person (id, info)
VALUES (1, '<person><name><first_name>Joe</first_name><last_name>Smith</last_name></name></person>'),
(2, '<person><name><first_name>Tim</first_name><last_name>Jones</last_name></name></person>');
INSERT INTO @roles (id, role_name)
VALUES
(1,'Admin'),
(1,'User'),
(2,'Editor'),
(2,'User');
/* make sure that xml comes back correctly*/
SELECT
role_name AS name
FROM @roles AS role
WHERE id = 1 -- works for each id
FOR XML AUTO, ROOT ('roles');
UPDATE p
SET info.modify('insert sql:column("x") as last into (/person)[1]')
FROM @person p
CROSS APPLY(SELECT role_name FROM @roles WHERE id = p.id FOR XML PATH(''),ROOT('roles'),TYPE)r(x)
select * from @person
Please Mark This As Answer if it solved your issue
Please Vote This As Helpful if it helps to solve your issue
Visakh
My Wiki User Page
My MSDN Page
My Personal Blog
My Facebook Page -
Error While Inserting Data into table using OAF
Hi Experts,
I am learning OAF; i am trying into insert the data into table using OAF. I followed the below procedure.
My table(OLF_TEST_TBL) Columns:
EmpID (Number), Ename(VARCHAR2 100), Sal Number, and who columns.
1. created Application Module (AM).
package: oracle.apps.mfg.simplepg.server
name: oaf_test_tbl_am
2. created simple page
name:EmployeePG
package:oracle.apps.mfg.simplepg.webui
3. Assigned the Application Module to Page
4. Created Entity Object(EO)
name:oaf_test_tbl_eo
package:oracle.apps.mfg.simplepg.schema.server
schema:apps
table:OLF_TEST_TBL
note:
1. EMPID column is selected as primary key
2. selected create method, remove method and validation method.
3.checked generate default view object
VO:
name:olf_test_tbl_vo
note: Entity Object was assigned to VO
Coming To page:
page main region:EmployeeMainRN
1.under main region i created one more region using wizard
selected AM and VO, region style-default single column
2. under main region i created one more region
region style- pagebuttonbar, ID:pagebutoonsRN
3. under pagebuttonRN, created two submit buttons(ID:SUBMIT, ID:CANCEL).
In AM java page:
created a method to insert row and for commit.
Insert Method:
public void insertrow(){
OAViewObject vo=(OAViewObject)getoaf_test_tbl_vo1();
if(!vo.isPreparedForExecution()){
vo.executeQuery();
Row row=vo.createRow();
vo.insertRow(row);
row.setNewRowState(Row.STATUS_INITIALIZED);
Commit Method:
public void savaDataTooaftesttable(){
getDBTransaction().commit();
In EmployeeMainRN, created a controller.
In this controller process request method, 'insertrow' method was called.
import oracle.apps.fnd.framework.OAApplicationModule;
public void processRequest(OAPageContext pageContext, OAWebBean webBean)
super.processRequest(pageContext, webBean);
if (!pageContext.isFormSubmission())
OAApplicationModule am = pageContext.getApplicationModule(webBean);
am.invokeMethod("insertrow");
To commit the transaction when SUBMIT button pressed, commit method was called in process form request method.
import oracle.apps.fnd.framework.OAViewObject;
public void processformRequest(OAPageContext pageContext, OAWebBean webBean)
super.processFormRequest(pageContext, webBean);
OAApplicationModule am = pageContext.getApplicationModule(webBean);
if (pageContext.getParameter("SUBMIT") != null)
am.invokemethod("savaDataTooaftesttable");
Error After clicking the submit button_
I ran the page, page was opened successfully. Once i enter data and click submit button, it's giving the following error.
The requested page contains stale data. This error could have been caused through the use of the browser's navigation buttons (the browser Back button, for example). If the browser's navigation buttons were not used, this error could have been caused by coding mistakes in application code. Please check Supporting the Browser Back Button developer guide - View Object Primary Key Comparison section to review the primary causes of this error and correct the coding mistakes.
Cause:
The view object oaf_test_tbl_am.oaf_test_tbl_vo1700_oaf_test_tbl_vo1_practice_test_prc1_oracle_apps_mfg_simplepg_server_oaf_test_tbl_am.oaf_test_tbl_vo1 contained no record. The displayed records may have been deleted, or the current record for the view object may not have been properly initialized.
To proceed, please select the Home link at the top of the application page to return to the main menu. Then, access this page again using the application's navigation controls (menu, links, and so on) instead of using the browser's navigation controls like Back and Forward.
Experts, Kindly help me why i am getting this error.
Awating your replies.
Thanks in advance.If you dont want to create message. You can throw exception like below as well
throw new OAException("Emp Id is "+empId+" and employee name is "+empName, OAException.CONFIRMATION);Thanks
--Anil -
Hi ALL,
I have a xml as follows:
<AAA>
<BBB>
<CCC>xyz</CCC>
<DDD>abc</DDD>
</BBB>
</AAA>
Now using any of the java class, i just need read the value of "CCC" as follows:
(i.e using xpath i need to read the value)
String val = x.somemethod("/AAA/BBB/CCC");
Thanks!In case you're curious - here's the dom4j equivalent of dvohra09's sample code.
SAXReader saxReader = new SAXReader("org.apache.xerces.parsers.SAXParser");
Document doc = saxReader.read(source); //Where source is your file, input source, input stream, reader, or url
String value = doc.valueOf("//AAA/BBB/CCC"); //Result given the xml from OP = 'xyz'OK - not much difference with this simple example but if you haven't settled on an API, dom4j is worth looking at (IMHO).
∞ brewman ∞ -
In JSF framework application how to Insert data into DB using entitymanager
Dear friends,
I am developing a web application using JSF framework. In that i using entity class. In ManagedBean class i want to insert the data using entitymanager persist method. But it will not working. And don't show any errors. give me the suitable methode to insert data into the database using EntityManager.Persist() method.Yes, Panky_p,
i have attached the code for which i using in given below. In that am getting the data from database but only the problem is not inserting into the database.Give me the possible solution for that.Thank you
public String ValidUser(String username, String password) {
List<User> us = new ArrayList();
EntityManager em = getEntityManager();
try {
us = em.createNamedQuery("User.findAll").getResultList();
if (us != null) {
Iterator i = us.iterator();
while (i.hasNext()) {
User use = (User) i.next();
if (username.equals(use.getHmsusrloginName()) && password.equals(use.getHmsusrpassWord())) {
utx.begin();
Logindetail lo = new Logindetail();
lo.setHmslogusrId(use.getHmsusrusrId());
lo.setHmslogloginName(use.getHmsusrloginName());
lo.setHmslogtimeIn(getCurrentDate());
em.persist(lo);
utx.commit();
return "success";
return "failure";
} else {
return "failure";
} catch (Exception ex) {
System.out.println("Exception in GetConnection " + ex);
return "failure";
} -
Hi,
I wanted to know if an XML Document created in the Database using xPaths. I mean, I don't want to creat any XML file on the OS in the first place. I want to create an XML using a table containing xPaths. Can this be done in XDB ?
Thanks in Advance,
PiyushHi Piyush
I don't see how you can create a XML document via xpath!?!? xpath it's only used to reference data in an XML document...
Chris -
Hello,
I want to creat XML document using Dom and XPath, as per my knowledge goes I can't create it using XPath {I may b wrong, if I am then pls tell me know :-) }.
If there doesn't exists any thing like this I am thinkin of wrapping a class {say its XPathProcesserDom} which takes the XPath querry and internaly creates XML Document and returns on request. Is this a good idea :-)
waiting for comments :-)....
thanks and regards,
MaheshPujariHi Piyush
I don't see how you can create a XML document via xpath!?!? xpath it's only used to reference data in an XML document...
Chris -
Rounding of decimal values into XML using DOM
I want to roundoff 10.456 to 10.4(while generating the xml) using DOM.
Please let me know how to handle this?
Thanks in advanceread the java.lang.Math API
there are rounding functions there
and next time please just use a search engine -
Validations when inserting records into database using table control?
hi , guru's.
iam inserting records into database table through table control when i press insert i want check which record is existing and which is not . so please give me any sample code
regards,
satheesh.hi , arjun.
please check this code.
WHEN 'INSERT'.
data: g_vcontrol_itab1 like table of zcust_call_rec,
g_vcontrol_wa1 like g_vcontrol_wa.
SELECT * FROM zcust_call_rec
INTO CORRESPONDING FIELDS OF TABLE g_vcontrol_itab1
FOR ALL ENTRIES IN g_vcontrol_itab
WHERE kunnr = g_vcontrol_itab-kunnr AND budat = g_vcontrol_itab-budat.
loop at g_vcontrol_itab into g_vcontrol_wa.
read table g_vcontrol_itab1 into g_vcontrol_wa1
with table key g_vcontrol_wa-kunnr = kunnr and g_vcontrol_wa-budat = budat.
if sy-subrc = 0.
delete g_vcontrol_itab.
endif.
endloop.
LOOP AT g_vcontrol_itab INTO g_vcontrol_wa.
INSERT into zcust_call_rec values g_vcontrol_wa.
ENDLOOP.
with this iam getting error message like this.
<b>g_vcontrol_wa-budat is not expected.</b>
Maybe you are looking for
-
Not able to Render more than two asset type in a drop zone on page
Hi All, I have created two different assets by making two different flex family. I need to render these two assets in a single drop zone on a page. Can some one tell me how is it possible to make a drop zone on page which will be able to take two dif
-
Resource bundle in shared library?
Is it possible to create a resource bundle in a shared library so you can use the same resource bundle in different application? We are creating different ADF application and each of them should use the same resource bundle. I tried creating a new pr
-
How can I return to Win 8.1 from Win 10
I've updated to Windows 10 TP from win 8.1 few weeks ago, but I didn't backup anything. I find win 10 slow at startup. I want to return to windows 8.1, I've tried using Win 8.1 ISO file but Windows says "Windows 8.1 setup has failed". Is there any an
-
[SOLVED]Creative Zen V - libmtp regular user cant access
Anyone know how to configure libmtp so that a regular user (not root) can access the device? I have searched the forum/wiki but didnt find anything usefull. When I run mtp-detect as root it prints alot of info about the device, so I guess its working
-
File name conversions Windows Mac OS X
Hello! I have just switch from Windows XP to Mac OS X. In fact, I did it two days ago, and I feel I am still mostly lost. I wonder if you can help with a newbie/switcher question: I have moved all my files to the Mac, but I have notice that, though t