Grouping in XSLT2.0: BPEL 11g
Hi All,
I have a requirement to group an incoming xml data(read from DB) and pass the groups separately to another BPEL process. Now I have written the below xsl file which when tested from Jdeveloper using an input source.xml file is working fine and giving me desired results in target.xml
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://xmlns.oracle.com/pcbpel/adapter/db/Select_Groupid_Revpro">
<xsl:output method="xml"/>
<xsl:template match="Select_Groupid_RevproOutputCollection">
<root>
<xsl:for-each-group select="Select_Groupid_RevproOutput"
group-by="ARR_ID">
<xsl:sort select="current-grouping-key()"/>
<Select_Groupid_RevproOutputCollection>
<xsl:copy-of select="current-group()">
<xsl:apply-templates/>
</xsl:copy-of>
</Select_Groupid_RevproOutputCollection>
</xsl:for-each-group>
</root>
</xsl:template>
</xsl:stylesheet>
However when I use this in my BPEL code using a transform activity
<assign name="Transform">
<bpelx:annotation>
<bpelx:pattern>transformation</bpelx:pattern>
</bpelx:annotation>
<copy>
<from expression="ora:processXSLT('xsl/Transformation_1.xsl',bpws:getVariableData('Invoke_RevproDB_Select_Groupid_Revpro_OutputVariable','Select_Groupid_RevproOutputCollection'))"/>
<to variable="tmpvar"/>
</copy>
</assign>
It fails with :
empty variable/expression result. The XPath variable or expression ora:processXSLT('xsl/Transformation_1.xsl',bpws:getVariableData('Invoke_RevproDB_Select_Groupid_Revpro_OutputVariable','Select_Groupid_RevproOutputCollection')) is empty at line 178. An attempt to read or copy data referenced or computed by the XPath expression either had invalid data, according to the XML schema, or did not contain certain optional data. Ensure that the variable or expression result named in the error message is not empty. Enable XML schema validation of related variables to ensure the run-time data is valid.
Any suggestions on what can be checked to fix this error.
Regards
Subhankar
Hi
Thanks for your reply.
We tried by assigning the static text, this text successfully comes at run time.
We have only issue when mapping from source to target. None of the values are getting mapped to target from source.
- Ravi
Similar Messages
-
Dear all,
My customer is using BPEL 11g for current project. They have a legacy user database (Oracle DB 11g) which store all accounts info.
Now we want to connect BPEL with this database as identity service and pick up the users and groups as approver. I saw following graph from below link, but I don't know how to implement it. It seems a huge change in BPEL 11g.
Can you give me an idea on it? Any suggestions are welcome.
http://download.oracle.com/docs/cd/E12839_01/integration.1111/e10224/bp_workflow.htm#BABEIHDD
Thanks in advance.repost
-
How delimited by header and footer from Source file in BPEL 11g
Hi Friends,
I have source data below like This..
SOFTWARE COMPONENTS:
BPEL 11G,
J DEVELOPER(11.1.1.3)
FILE READ ADAPTER
WEB LOGIC EM SERVER(10.3.3.0)
1|10005|857896|BR |0000 |6544|kantro|54635
1|10265|69875|.36544|2456112|00000|000000|00000|SE|5456|466554|789745|54.325|KVM|56476.32
1|10235|JA|5456|4565|56|656|5855|5555|55445|5444|D|45457|0000|KIL|6555|55566|4454544|45669
1|10235|JA|5456|4565|56|656|5855|5555|55445|5444|D|45457|0000|KIL|6555|55566|4454544|45664
1|10235|JA|5456|4565|56|656|5855|5555|55445|5444|D|45457|0000|KIL|6555|55776|4454544|45660
1|10235|JA|5456|4565|56|656|5855|5555|55445|5444|D|45457|0000|KIL|6555|55566|4454544|85668
1|10235|JA|5456|4565|56|656|5855|5555|55445|5444|D|45457|0000|KIL|6555|55566|4454544|45666
1|10235|JA|5456|4565|56|656|5855|5555|55445|5444|D|45457|0000|KIL|6555|85876|4454544|45666
1|10235|JA|5456|4565|56|656|5855|5555|55445|5444|D|45457|0000|KIL|6555|55566|4454544|69848
1|10235|JA|5456|4565|56|656|5855|5555|55445|5444|D|45457|0000|KIL|6555|69566|4454544|45666
1|10235|JA|5456|4565|56|656|5855|5555|55445|5444|D|45457|0000|KIL|6555|78966|4454544|85669
1|10255|km|5653|RJ |00000|5557544|13-08-1998
But i need to Delimited and insert the data into table ..Here Header data insert into saperate table and
middlle of the data insert into main table and footer data insert in another table it all happen one attempt by using file read Adapter(11.1.1.1.3)You have a header parameter in the file datastore. You can provide any number to skip rows from top of the file. For footer you can create a filter in staging area.
Filter coould be something like this.
where source_alias.source_column not like '%FOOTER_OR_ANY_VALUE_AS_PER_YOUR_REQ' -
Roll back in Adapter DataBase using Polling | BPEL 11g
Hello Guys,
I'm having a problem with roll back for polling "Update a field in Table(Logical Delete)" in DataBase Adapter BPEL 11g.
My process is:
Does polling in the table from the database changed the value in column from 0 for 1 and then put the message on a JMS queue.
The problem is:
When an exception occurs in the process, for example, exception when posting message in the queue, he does not roll back the database, then the value in the table column is changed to 1 and not 0 as it should.
Adapter Data Base:
Oracle XA
Properties BPEL(Composite):
<binding.jca config="XXXX_db.jca">
<property name="singleton">true</property>
</binding.jca>
<component name="XXXXX" version="2.0">
<implementation.bpel src="XXXXX.bpel"/>
<property name="bpel.config.transaction" type="xs:string" many="false">required</property>
<property name="bpel.config.oneWayDeliveryPolicy">sync</property>
</component>
Properties JCA of Data Base:
<property name="DescriptorName" value="XXXXXXXXX"/>
<property name="QueryName" value="XXXXXXSelect"/>
<property name="MappingsMetaDataURL" value="XXXXXX-or-mappings.xml"/>
<property name="PollingStrategy" value="LogicalDeletePollingStrategy"/>
<property name="MarkReadColumn" value="STATUS"/>
<property name="MarkReadValue" value="1"/>
<property name="MarkReservedValue" value="2${weblogic.Name}-${IP}"/>
<property name="MarkUnreadValue" value="0"/>
<property name="PollingInterval" value="5"/>
<property name="MaxRaiseSize" value="1"/>
<property name="MaxTransactionSize" value="10"/>
<property name="NumberOfThreads" value="1"/>
<property name="ReturnSingleResultSet" value="false"/>
Its roll back?
Could anyone please help me on this.
Tks,
Azevedo, Artur.You need to ensure that your process is working in a single transaction.
You are correctly using the XA datasource.
Next you need to ensure that you do not have a dehydration point in the process and if there is a call to another BPEL process they are in a same transaction. -
Polling from the database view in BPEL 11g
Hi,
We do have a requirement of polling from the database view in BPEL 11g. I am exploring the following polling strategies in our case:
- Delete
- Logical Delete
In case of Delete polling strategy, can we delete the record as the view does not allow deletion. In this case, do we have any other way to achieve this functionality?
In case of Logical Delete, We have to mark the status column with particular value. how could we achieve the same when the view is not updateable.
In 10g, we can override the delete polling strategy with an update statement. Is it possible in 11g?
Thanks & Regards
SivaHi,
I am also doing the same thing what you have done, please help me.
I have used BPEL export utility for exporting my JPDs to BPEL. but it was not a good help, ultimately i m creating a process manually.
the main problem what is the replacement of control(jcx files)
please guide me really it would be great help..
Thanks in advance and hope to hear from you.
my mail id is [email protected]
please send some document if you have... -
New line character is not working in BPEL 11g
I am trying to use new line character in string concat operation in BPEL 11g, but it is not giving new line in output. Any idea why?
We can achive this by embedding html tag break '< br >', something like below.
string('Please click on the URL below to login and open your invoice Worklist.< br >
< br >
<a href="http://localhost:8001/integration/worklistapp"> Invoice Worklist </a< < br <
< br >
Edited by: RaviOrnext on Aug 16, 2012 4:24 AM -
[HELP] [BPEL 11g] Customized BPEL worklist app could not work on JBoss
Dear all,
We are developing the customized Human Worklist app based on BPEL HW API 11g.
The application (some jsp pages) works fine in JDeveloper 11g. However, after deploy to JBoss, it always prompt with "NoClassDefFoundError" exception, although we have already add following 7 jar files into Classpath:
${jdeveloper.home}\Middleware\wlserver_10.3\server\lib\weblogic.jar
${jdeveloper.home}\Middleware\jdeveloper\modules\oracle.jrf_11.1.1\jrf.jar
${jdeveloper.home}\Middleware\jdeveloper\modules\oracle.webservices_11.1.1\wsclient.jar
${bea.home}/AS11gR1SOA/soa/modules/oracle.soa.fabric_11.1.1/bpm-infra.jar
${bea.home}/AS11gR1SOA/soa/modules/oracle.soa.workflow_11.1.1/bpm-services.jar
xml.jar
xmlparserv2.jar
Then we manually copy many other jars (nearly 100) under Weblogic server, but it still prompt lacking of some jar file with "NoClassDefFoundError" exception.
So, does BPEL 11g support deploy HW app outside weblogic, like JBoss? If so, what we need to set at JBoss side to run our app?
Thanks a lot.Not sure it is available yet as I have not seen any doc for 11g.
here is the 10g instructions which may provide some pointers.
http://download-east.oracle.com/docs/cd/B31017_01/web.1013/b25947/deployment_topics012.htm
cheers
James -
How to call the WS in BPEL 11g
Hi,
I have a WS externally provided, which need the following soap header...
<soap:Header><fmw-context xmlns="http://xmlns.oracle.com/fmw/context/1.0"/><wsse:Security soap:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<wsse:UsernameToken>
<wsse:Username>MASKED</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">MASKED</wsse:Password>
</wsse:UsernameToken>
</wsse:Security></soap:Header>
Please let me know how do i call the WS in BPEL 11g.
Please let me know the entire solution, kind of urgent...
Thanks,
RoshHi All,
got the solution.
Its working...
http://soa-howto.blogspot.com/2008/09/how-to-set-security-credentials.html
Thanks,
Rosh -
Email Failure Tracking in BPEL 11g
Hi All,
I am working on BPEL 11g where i am sending a email to some address.and its all working fine.Now my problem is i am unable to track the failure of emails when i send the email to wrong email id.
My requirement is whenever i send an email to a wrong email id the email must bounce back to the same sender with the same subject line.I am unable to find any help so plz help me out if any one has faced or worked on this issue.Its very urgent requirement.
I am using
email client as----->Thunderbird
email server as---->James 2.2.3
SOA suite 11g
JDev 11.1.1.5.0Hi:
I just made a quick test, and there is not reply to the sender, if the receiver mailbox was wrong.
The only way to know if there was an error, is at the log file, or at the EM level, monitoring the Emails Server/Driver.
I know that those are not options for u, but at least I am not seeing any way to capture that error.
best
rolando -
How to Use Oracle Coherence in BPEL 11g
i have a scenario to cache the results some where, so that i can make use of the same for the same request.
I hope this can be done using Oracle Coherence. Could you please let me know how can i use this coherence for cacheing in BPEL 11g (in my bpel process)
thanks for the help in advance.Hi.
U can use the Coherence API within a Spring bean.
Take a look at this https://blogs.oracle.com/jaylee/entry/accessing_coherence_cluster_using_spring
That's one way to do it.
best -
Invoke ODI Scenario (11g) in BPEL (11g)
Hello -
I'm developing a BPEL process to load data from SQL Server to Oracle database using ODI . And after that I'm doing more orchestration in the BPEL process. I'm using
1) Oracle Data Integrator 11g (11.1.1.3)
2) Oracle SOA Suite 11g (Web Logic Server)
Have created a scenario in ODI 11.1.1.3 to read data from SQL Server and load into Oracle Database. I would like call this ODI scenario in BPEL 11g as a FIRST Activity.
Please help me the STEPS I need to
1) To expose the ODI scenario as a web service?
2) And to invoke ODI scenario in BPEL
3) Do I need configure/install public web services or anyother checks I need to do on ODI_server domain(WLS) to ensure it has all the components it need ?
Detailed steps are greatly appreciated
Thanks
BabuI hope you have found your answer but if not here are some pointers when working in the 11g ODI version. As far as I understand all generated scenarios will be exposed as a web service. ODI provides a small set of service methods available via the agent to invoke those services:
invokeStartScen
invokeRestartScen
getSessionStatus
getVersion
To get the WSDL for ODI, simply point your browser or partner descriptor to a running ODI agent: http://agentHost:port/oraclediagent/OdiInvoke?wsdl
For me running on my local host I can access both the Stand Alone or JEE agents on thier running ports:
Stand Alone running on 8886: http://localhost:8886/oraclediagent/OdiInvoke?wsdl
JEE running on 19001 deployed to WLS: http://localhost:19001/oraclediagent/OdiInvoke?wsdl
As you can see there is no difference between the two agents and they both return with the same list of operations:
<wsdl:binding name="InvokeRequestSOAP11Binding" type="odi:requestPortType">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
*<wsdl:operation name="invokeStartScen">*
<soap:operation soapAction="xmlns.oracle.com/odi/OdiInvoke/invokeStartScen" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
*<wsdl:operation name="getSessionStatus">*
<soap:operation soapAction="xmlns.oracle.com/odi/OdiInvoke/getSessionStatus" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
*<wsdl:operation name="getVersion">*
<soap:operation soapAction="xmlns.oracle.com/odi/OdiInvoke/getVersion" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
*<wsdl:operation name="invokeRestartSess">*
<soap:operation soapAction="xmlns.oracle.com/odi/OdiInvoke/invokeRestartSess" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
Once you have this then you can invoke the different methods from what ever tool you are using and here are some samples:
Getting the Version -- No Parameters are Required
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:odi="xmlns.oracle.com/odi/OdiInvoke/">
<soapenv:Header/>
<soapenv:Body>
<odi:getWebServiceVersionRequest/>
</soapenv:Body>
</soapenv:Envelope>
Invoking a Scenario -- Scenario: LD_ODI_CERTS Scenario Version: 5 Context: GLOBAL
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:odi="xmlns.oracle.com/odi/OdiInvoke/">
<soapenv:Header/>
<soapenv:Body>
<odi:OdiStartScenRequest>
<!--You may enter the following 2 items in any order-->
<Credentials>
<!--You may enter the following 3 items in any order-->
<OdiUser>SUPERVISOR</OdiUser>
<OdiPassword>SUPERVISOR</OdiPassword>
<WorkRepository>workrep</WorkRepository>
</Credentials>
<Request>
*<ScenarioName>LD_ODI_CERTS</ScenarioName>*
*<ScenarioVersion>005</ScenarioVersion>*
*<Context>GLOBAL</Context>*
<Synchronous>true</Synchronous>
<SessionName>LD_ODI_CERTS</SessionName>
<Keywords>WebService</Keywords>
<LogLevel>5</LogLevel>
</Request>
</odi:OdiStartScenRequest>
</soapenv:Body>
</soapenv:Envelope>
This is covered in section 14 of the Developers Guide for ODI ([Working with Web Services in Oracle Data Integrator|http://fmwdocs.us.oracle.com/doclibs/fmw/E14571_01/integrate.1111/e12643/web_services.htm#CJAJEBEJ]) and further expanded in section 19.7 ([Running Integration Processes|http://fmwdocs.us.oracle.com/doclibs/fmw/E14571_01/integrate.1111/e12643/running_executions.htm#BABDHJJF]).
If you need additional asistance with the creation of the scenario, well that is another question ;)
Edited by: Sydney on Oct 20, 2010 11:45 AM -
Hi
We are developing EDI 850 Transaction using SOA 11g Environment. We are successfully able to complete the B2B 11g Trading partner setups and able to successfully puch EDI XML to IP_IN_QUEUE.
We developed a 850 EDI BPEL mappings using BPEL 11g (Build JDEVADF_11.1.1.2.0_GENERIC_091029.2229.5536). We received the payload from IP_IN_QUEUE using B2B adapter successfully. After receiving this payload we are trying to map source elements to target schema. For testing we have mapped couple of elements from source to target.
But, Transform activity is not performing the mappings which we mapped and its coming null at run time.
We are not able to find the reason. Could some body let us know what could be issue?
Regards
RaviHi
Thanks for your reply.
We tried by assigning the static text, this text successfully comes at run time.
We have only issue when mapping from source to target. None of the values are getting mapped to target from source.
- Ravi -
Oracle bpel 11g email polling ?
could oracle bpel 11g support email polling(checking inbox of an email account for a defined period time) ?
try to google and find some tutorial to enable email polling in bpel 10g.
but try to implement it and can't find folder BPEL in <SOA_HOME>
now i can utilize email polling from fusion middleware Oracle Service Bus. but it would be more suitable if i can do the polling from my bpel instance.
if someone has experience in this, pls share and will be very appreciated it.using the tutorial from amis.nl, how can i get the sender, subject (email header) from the email that i'm polling ? with an empty body message email.
i'm facing issue the xml that ums adapter poll and send to the bpel process is only the message body part. can not get the header part. -
How to encrypt payload in BPEL 11g,Specific Fileds.
How to encrypt payload in BPEL 11g,Specific Fileds.
By adding a wsm policy to the service and encrypt parts of the payload?
http://download.oracle.com/docs/cd/E12839_01/integration.1111/e10224/sca_policy.htm#CHDHAJIH -
Tracking email failure in BPEL 11g
Hi All,
I am working with email activity in Oracle BPEL 11g and its working fine.But i want to handle the failure of emails. Like whenever i send an email to a wrong email-id then it must bounce back to the From email-id with same subject line as specified prefixing with "Undelivered" word. Please help me if anyone has worked on the same issues.
Thanks in Advance
Irfan ShaikhHi,
I dont think u have any out of the box feature for this....try configuring the watch logs at the server level, Have a luk at the below link:
http://blogs.oracle.com/jamesbayer/entry/weblogic_notifications_watch_t
Maybe you are looking for
-
Web Service Tool - to add the attribute (to get a new TAG) for existing Obj
Hi Gurus I have existing (productive) object name which we use for Letter Templates I need to add the new attribute but when I select it (highlight) the buttom below "Confirm selection" is not active, so when I got to "Maintain Attributes" I can't se
-
Closing seperate browser after cfcontent
Hi all, I would like to get some help on cfcontent. I use cfcontent to open a pdf in a seperate browser, which works.I have a close button on the parent window, along with other information related to the document. When I hit the close button, I woul
-
Displaying a column and sorting on another
See http://htmldb.oracle.com/pls/otn/f?p=24317:90 Common problem, I want the date displayed in a certain format but when I sort-enable the column, I want it sorted by the real date column. I selected both the "raw" date column and the formatted date
-
I have changed and saved my settings several times and still continue to get emails. Where do I go to stop this.
-
Dreamweaver CS5 HTML5 Update Installation failed
Dreamweaver CS5 on Windows 7 64 bit. I tried using the builtin updater and manually downloading the update using Chrome, but the result is always: Dreamweaver CS5 HTML5 Update Installation failed Suggestions?