Error using custom xpath function with XSL transformations in BPM
Hi,
We have created a custom xpath function for use with SOA Suite and BPM. This has been built as per specified within the http://docs.oracle.com/cd/E29597_01/dev.1111/e10224/bp_appx_functs.htm#SOASE11100. We have also reviewed the Oracle Sample for mapper-107-ExtensionFunctions (sample demonstrates the use of user-defined extension functions). This has been registered with jDeveloper and SOA within the oracle.soa.ext_11.1.1 (run ant to include in oracle.soa.ext.jar)
We ideally want to use this is BPM within an xsl. However when consuming this function is either BPEL or BPM using an xsl, the xsl fails with an error such as:
XPath expression failed to execute. An error occurs while processing the XPath expression; the expression is ora:doXSLTransformForDoc("xsl/Transformation_1.xsl", $inputVariable.payload). The XPath expression failed to execute; the reason was: javax.xml.transform.TransformerException: oramds:/deployed-composites/default/gwCustomXpathUtil_rev1.0/xsl/Transformation_1.xsl<Line 9, Column 113>: XML-22043: (Error) Extension function error: Method not found 'getWeekDayDate'. Check the detailed root cause described in the exception message text and verify that the XPath query is correct.
In an Assign it operates fine and returns the expected result. We have included a combination of both of the Config files (ext-mapper-xpath-functions-config.xml and ext-soa-xpath-functions-config.xml) in the META-INF folder, however neither allow the use of this function in the XSL.
I believe there may be an issue getting the custom xpath functions within XSL files. Hence I have also raised an SR. Has anyone experiences of this?
Our SOA / BPM suite environment is using 11.1.1.6.4 and has the following patches applied:
13801175
14406487 (11.1.1.6.4 SOA Bundle)
13896993
13088538
Regards Dave
Edited by: DavidGaskell on Mar 14, 2013 10:08 PM
Hi All,
I am also facing the same issue...Experts can you please help us.
hi DavidGaskell, did you find any resolution, if so can you share it with me.....
Thanks,
RR
Similar Messages
-
Error using the XPath function id()
I am using BDBXML 2.2.13. When I submit the following query the execution fails because of the following failed assertion on line 681 of DbXmlNodeImpl.cpp.
collection('test.dbxml')id(/site/people/person[@id='person1']/watches/watch/@open_auction)
DBXML_ASSERT(nt->getInterface(DbXmlNodeTest::gDbXml) != 0);
The failure does not happen if the arguments passed to id are constant, for example the following query works just fine:
collection('test.dbxml')id('person0')/name
The problem seems to be that the function arguments are represented by Pathan objects instead of DbXml objects that are cast back and forth when using the different interfaces.
Is this a know bug in the database or is my query not properly formated?DB XML 2.2.13 is quite old now. Does that same problem occur with DB XML 2.3.10?
Using the id() function is not going to do what you want it to anyhow, since DB XML does not provide typing information for the XML tree. You'll need to use conventional navigation to get the node that you want.
John -
Custom XPath Function not working - ORABPEL-09503 error
I wrote a simple date conversion custom xpath function.
1. Implemented IXPathFunction as mentioned in Clemens and Antony Reynolds blog.
2. Also changed the xpath-functions.xml kept at C:\product\10.1.3.1\OracleAS_1\bpel\system\config\xpath-functions.xml and also at C:\product\10.1.3.1\OracleAS_1\bpel\domains\default\config\xpath-functions.xml (Not sure why this xml is in two places)
3. Placed my class file at C:\product\10.1.3.1\OracleAS_1\bpel\system\classes and also made a jar and placed in C:\product\10.1.3.1\OracleAS_1\j2ee\home\applib.
But when I run the process which uses this custom function, it is throwing the following error
<Faulthttp://schemas.xmlsoap.org/soap/envelope/>
<faultcode>env:Server</faultcode>
<faultstring>ORABPEL-09503 Invalid xpath expression. Error while parsing xpath expression "o2c:formatDateString('10/30/2007', 'MM/DD/yyyy', 'YYYY-MM-DD');", the reason is Error in expression: 'o2c:formatDateString('10/30/2007', 'MM/DD/yyyy', 'YYYY-MM-DD');'.. Please verify the xpath query "o2c:formatDateString('10/30/2007', 'MM/DD/yyyy', 'YYYY-MM-DD');" which is defined in BPEL process. </faultstring>
</Fault>
Can somebody help me to resolve this.My bad. I had a semi-colon after the expression. Now I am getting a different error
<Faulthttp://schemas.xmlsoap.org/soap/envelope/>
<faultcode>env:Server</faultcode>
<faultstring>ORABPEL-09500 XPath expression failed to execute. Error while processing xpath expression, the expression is "o2c:formatDateString('10/30/2007', 'MM/DD/YYYY', 'YYYY-MM-DD')", the reason is FOTY0001: type error. Please verify the xpath query. </faultstring>
</Fault> -
Use of X Queries in custom Xpath functions ?
Hi all,
I have used java classes in custom x path functions, similarly can we use x query in custom Xpath functions instead of java ? I mean can we use XQuery in domain level rather than project level ?
Thank YouYes. In 10.1.2 BPEL install, $ORACLE_HOME\integration\orabpel\samples\demos\XSLMapper\ExtensionFunctions describes how to write extension functions for the XSL processor.
-
Bpel Server Does Not Catch Exceptions Thrown By Custom Xpath Functions
Hi.
I am using some custom xpath functions in a bpel process and whenever they fail I get an XPathExecutionError with summary:
XPath expression failed to execute.
Error while processing xpath expression, the expression is "<my function>", the reason is FOTY0001: type error.
Please verify the xpath query.
I am forcing my function to fail by giving a wrong input, which should result in an XPathFunctionException("Input does not respect format").
There is a note on Metalink with ID 458434.1 on this subject which says that patch 5926809 should fix my problem.
Patch 5926809 fixes Bug 5926809 - ORA:PARSEESCAPEDXML XPATH EXPRESSION FAILED TO EXECUTE FOTY0001: TYPE ERROR.
I am using it, but it does not work :(
I am using version 10.1.3.3.0 of App Server with various patch sets, including fix for bug 5926809.
Has anyone suggestions on how to overcome this problem?
ThanksHello,
I am trying to add a custom xpath function to the BPEL server, and I see that you made it work. I am using Oracle SOA Suite 10.1.3.3 and jDeveloper 10.1.3.4. I am using this function inside an xsl mapping file, although I am able to compile and deploy the Bpel Process to the server, it stops mapping where I placed the function and I have not seen any meaningful message from the domain/log/ files.
Can you tell me how you did it?
I think you will tell me faster than Oracle support, I already placed an SR but they just give me superficial advice.
I appretiate your time and advice,
Guillermo -
OSB: class not found in custom xpath function
Hi,
This week I was struggling with custom xpath functions in OSB. First I created a jar file that contained the class and the complete functionality including logging. It contains a class that does a DVM Lookup from the database. As a standalone function, called from JUnit test cases it functions perfectly. I use Apache commons logging with the libraries from the Weblogic installation.
But when I put this OSB Util Services jar in the osb-home/config/xpath-function, it turns out that somehow the Weblogic Console gets a conflict with the commons-logging libraries. So I deployed it just as an application library in weblogic console, to solve this breakage.
Then I created a simple separate class that only calls the method in the deployed library. I packaged that as a custom-osb-functions.jar for the osb-home/config/xpath-function. I managed to get if visible in OEPE. But when I test the xquery transformation resource on the server, I get:
Error executing the XQuery transformation: {http://www.bea.com/wli/common/xquery}XQueryException: Error invoking custom xquery java function: java.lang.reflect.InvocationTargetException
java.lang.reflect.InvocationTargetException
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 com.bea.wli.sb.stages.functions.XQueryExternalFunction.execute(XQueryExternalFunction.java:111)
at com.bea.wli.sb.stages.functions.XQueryExternalFunction.init(XQueryExternalFunction.java:61)
at weblogic.xml.query.iterators.FirstOrderIterator.open(FirstOrderIterator.java:169)
at weblogic.xml.query.runtime.typing.SeqTypeMatching.open(SeqTypeMatching.java:129)
at weblogic.xml.query.iterators.FirstOrderIterator.open(FirstOrderIterator.java:167)
at weblogic.xml.query.runtime.core.ExecutionWrapper.open(ExecutionWrapper.java:58)
at com.bea.wli.common.xquery.iterators.XQueryVariableMapper.getObjects(XQueryVariableMapper.java:459)
at com.bea.wli.common.xquery.iterators.XQueryVariableMapper.getObjects(XQueryVariableMapper.java:447)
at com.bea.wli.sb.test.transform.XQueryProcessor.invoke(XQueryProcessor.java:165)
at com.bea.wli.sb.test.TestServiceImpl.invoke(TestServiceImpl.java:172)
at com.bea.wli.sb.test.client.ejb.TestServiceEJBBean.invoke(TestServiceEJBBean.java:167)
at com.bea.wli.sb.test.client.ejb.TestService_sqr59p_EOImpl.__WL_invoke(Unknown Source)
at weblogic.ejb.container.internal.SessionRemoteMethodInvoker.invoke(SessionRemoteMethodInvoker.java:40)
at com.bea.wli.sb.test.client.ejb.TestService_sqr59p_EOImpl.invoke(Unknown Source)
at com.bea.wli.sb.test.client.ejb.TestService_sqr59p_EOImpl_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:667)
at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:230)
at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:522)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:146)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:518)
at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:252)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
Caused by: java.lang.NoClassDefFoundError: nl/darwin-it/osb/dvm/DomainValueMap
at nl.darwin-it.osb.xpath.DomainValueMapLookup.lookupDVM(DomainValueMapLookup.java:35)
... 28 more
Caused by: java.lang.ClassNotFoundException: nl.darwin-it.osb.dvm.DomainValueMap
at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:297)
at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:270)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:179)
... 29 more
Can any one explain to me how I can get the OSB Util Services jar library in the same classpath as the custom-xpath-functions jar, without having it put along the custom-xpath-functions jar in the osb-home/config/xpath-functions folder (since that somehow breaks the weblogic console)?
How does the OSB classpath/classloading mechanisms work in this?
Thanks in advance,
Regards,
MartienI am running the plugin registration utility but it generates the error mentioned below. I have verified the structure of my zip file and the structure of zip file is:
-> SelfRegisterUserCustomValidator.zip
->Plugin.xml
->/lib/SelfRegisterUserCustomValidator.jar
->/resources/
Following our contents of plugin.xml:
<?xml version="1.0" encoding="UTF-8"?>
<oimplugins>
<plugins pluginpoint="oracle.iam.request.plugins.RequestDataValidator">
<plugin pluginclass= "com.infotech.tra.CustomValidator.SelfRegisterUserCustomValidator" version="1.0.0" name="SelfRegisterUserCustomValidator">
</plugin>
</plugins>
</oimplugins>
Following is the error being generated:
Enter name (complete file name with path) of the plugin file:
/u01/oracle/Middleware/Oracle_IDM1/server/plugin_utility/SelfRegisterUserCustomValidator.zip
[java] Java Result: 1
[echo] Exception in thread "main" java.lang.NoClassDefFoundError: oracle/iam/platformservice/utils/PluginUtility
[echo] Caused by: java.lang.ClassNotFoundException: oracle.iam.platformservice.utils.PluginUtility
[echo] at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
[echo] at java.security.AccessController.doPrivileged(Native Method)
[echo] at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
[echo] at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
[echo] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
[echo] at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
[echo] Could not find the main class: oracle.iam.platformservice.utils.PluginUtility. Program will exit. -
Is it possible to throw a BPELFault from a custom xpath function?
I'm probably revealing my lack of java chops here, but I'd like to know if there's a way to throw a BPELFault from the "call" method within a custom xpath function.
The interface for IXPathFunction seems to dictate that "call" throws only an XPathFunctionException and the bpel server doesn't handle this exception properly. It records the exception in the logs but then the process just dies.
Right now I have this (simplified code):
public Object call(IXPathContext context,
List args) throws XPathFunctionException
if (args.size() == 1)
// do some stuff and return a value
throw new XPathFunctionException( "hexToInt() requires one string argument." );
What I want to have is something like this:
public Object call(IXPathContext context,
List args) throws BPELFault
if (args.size() == 1)
// do some stuff and return a value
BPELFault fault = new BPELFault(
new javax.xml.namespace.QName("http://schemas.xmlsoap.org/ws/2003/03/business-process/",
"selectionFailure"));
fault.setPart("code", "intToHex");
fault.setPart("summary", "hexToInt() requires one string argument.");
throw fault;
If I do this, the compiler rejects it saying that "call" must throw XPathFunctionException. Is there a way to extend the IXPathFunction interface to allow it to throw a useful fault?
Thanks!
SeanYeah, I'm using that patch (otherwise the process just crashes and you don't have a chance to catch the fault, even in a catchAll). Within the catchAll you can get the details from the error with something like this:
<copy>
<from expression="concat(ora:getFaultName(),'')"/>
<to variable="processFault" part="payload" query="/ns4:summary"/>
</copy>
<copy>
<from expression="concat(ora:getFaultAsString(),'')"/>
<to variable="processFault" part="payload" query="/ns4:detail"/>
</copy> -
Can't use voice/video functionality with external domain connected users through federation
Hello All,
Hope you keeping well..!!
We are communicating with external customers lync server through federation option setup on our corporate lync server. We have received the federation setting from the customer with SIP address which has been setup on our corporate lync servers after
that we were able to browse the customer contact through corporate lync account.
We were also able to chat with external customer but however voice/video functionality are not working through same session. Whenever we try to dial out external customer lync account it ended with error message "call ended due to network issue".
We have checked the setting from corporate lync servers and network point of view but doesn't find any issue which cause the disconnection to voice/video over lync. Could you pl help or guide with the way to resolve the issue.
Thanks, MKThanks for your reply.<o:p></o:p>
Audio/Video works fine within corporate when dial any lync contact. We only have issue while trying to use the same functionality with any other
external lync contact configured over federation option.<o:p></o:p>
We already checked the security rules and all required ports are open, as confirmed by local resolver group.<o:p></o:p>
We have checked with external parties and according to them their systems are hosted by Microsoft as part of office 365 suite and they already have
federation option for 17 different customers which works fine. Which means issue must be your local end.<o:p></o:p>
Is there any tool available to identify the issue from client end?<o:p></o:p>
Also I have a question here....In my corporate environment...client is sitting in India and lync servers are hosted in UK and users connect to it
over MPLS route. In Client lync configuration we have internal/external servers configured .....so when i tried to make a voice call with external lync users then I see from netstat -a command that traffic hitting to multiple public IP addresses
directly from my machine..<o:p></o:p>
Does it mean that client required internet connectivity with specific open media ports to connect with external parties for video/voice? or in ideal
case all request should handle by corporate internal server which should took UK internet path to connect with external lync contact?
Thanks, MK -
Osb-custom xpath function in 11g
is it possible to place osb-custom.xml in some other locations other than C:\<middlewarehome>\oracle_osb1\config\xpathfunctions and refer it during server startup as we have only read access to oracleOSB1 in production environments???
I understand your reply and we are already doing that.
the osb installation is common across the domains .but i need these custom xpath function reflected only for my domain.
so my query is "whether we can set/overwrite any -D property at server startup or any server/domain level settings rather than updating the installation path?"
I am just trying to understand whether we can avoid conflicts with multiple domains sharing the same installation. -
i am creating custom xpath function in jdeveloper(10g).i hav followed every step given in http://prsync.com/oracle/custom-xpath-function-in-bpel--7718.even after configuring jdeveloper,the custom function is nt there in the list of functions.also if anyone can explain the functionality of the mapping(what each element is doing) given in PreBuiltExtensionFunctions.xml file.thanx.
.When I remove entry from $ORACLE_HOME/bpel/system/config/xpath-functions.xml . (
<function id="getTimeDifference" arity="2">
<classname>ajr.TimeDifference</classname>
<comment>
<![CDATA[The signature of this function is <i>ajr:getTimeDifference(time1, time2)</i>.
The arguments to the function:
<ol type="1">
<li>time1 - String or element containing the datetime of the start of the interval</li>
<li>time2 - String or element containing the datetime of the end of the interval</li>
</ol>
Returns: an XML duration formatted string]]>
</comment>
<property id="namespace-uri">
<value>http://ajr/utilities/xpath</value>
<comment>Namespace URI for this function</comment>
</property>
<property id="namespace-prefix">
<value>ajr</value>
<comment>Namespace prefix for this function</comment>
</property>
</function>)
Everything works fine!
Deploying to http://localhost:8888 domain: default. Please wait....
[10:37:58 AM] Please check Ant log to determine whether the project deployed successfully. -
I have a team site collection and I want to add a new App of type Issue Tracking list. so I did the following:-
From the site collection I created a new App of type issue tracking.
Then from the site collection I created a new Content type named “CustomIssue” which has its parent as “Issue” content type.
I went to the Issue tracking list and I changed the default content type from Issue , to the new “CustomeIssue” content type.
I open the site collection using SP designer and I created a new Create form for my Issue tracking list based on the "CustomIssue" content type and I select to have the Create form as the default form when creating an item.
Everything till this point worked well. But when I open the “customIssue” content type , and I re-order the columns and I hide some columns, this was not reflected inside the custom Create form …
although when using the default content type and the default create form you can control the order of the fields and to specify if certain fields hold be hidden inside the Create form.. so can anyone advice on this please?Hi,
According to your post, my understanding is that you lost the ability to order and hide site columns if i use custom content type with a custom Create Form.
I try to reproduce the issue, the result is the same as yours.
As a workaround, if I modify the custom content type form the site setting, and then change the NewForm as the default form, it will change the column orders.
However, if I use the new created form as the default form, it will remain the original orders.
I recommend that you modify the custom content type form the site setting, and then reset the NewForm as the default form.
The result is as below:
Best Regards,
Linda Li
Linda Li
TechNet Community Support
ok thanks for the explanation ,, but what if i want to change the order and hidde some fields in the future ,, do i have to chnage the defualt create form again ... -
Custom XPath function & customize XPath expression builder
Hi,
I have made several custom XPath functions and apparently it is not possible to customize the UI and add these functions to the XPath expression builder.
Could someone confirm this ?
ThanksNobody knows the answer?
I just have the same question. -
i need to know also how to represent this transfer function in labview, try to send me example. answer me at my mail
"st" wrote:
> answer me at my mail
give a valid e-mail first, and your name, we don't like to help anonymous
people
> try to send me example.
how much do you pay ?
> i have transefer function like (1/(s^2+s+5)) and i have a square wave
> input , i want to use this transfer function with this input to see
> the output , how can i do that
First you have to know what you are doing, like an engineer : you have a
Laplace, continuous time transfer function but LabView handles discrete
signals only. Use matlab/simulink if you want to simulate continuous time
systems easily...
If you definitely want to use LabView, the first step is to discretize your
continuous-time transfer function, i.e. decide a sampling rate and convert
it to a "z transfor
m". Then you can directly use the "IIR Filter.vi" as I
said earlier.
Philippe Guglielmetti - www.dynabits.com me at my mail -
My Illustrator freezes when trying to use the reflect function of the transform tool.
My Illustrator CC freezes when I try to use the reflect function of the transform tool. I am on MAC OS 10.9.5. I have restarted several times, trashed the preferences, moved the applications folder etc. I am currently working on projects where I need this function, help please!!!
Transform panel? Transform effect?
Please show the artwork? -
Need help using the "skatter" function with brushes.
I'm using Photoshop 7 right now. I want to use the scatter function with one of the standard brushes to make a star trail, but the problem is that the stars are too thick, there's too many of them. How do I tell it to draw less instances of the brush when I'm in scatter mode? So that it's only dropping 5 at a time or so?
I have a control bar for "Master Diameter" but I can't find anything that says "spacing."
Maybe you are looking for
-
Apple Help Center Menu Error Message
This is about the "Help Center". When I click on it from an application or from the Finder, I get an error message "The selected topic is currently unavaliable. Make sure you're connected to the Internet. For help connecting ..." etc. This happe
-
Error 2032 in communication between Flex Client and WCF
Hi All, I'm trying to establish communication between Flex Client and WCF service. WCF service accepts gZip compressed data and returns gZip compressed results. So I used Flex ByteArray.compress() and ByteArray.uncompress() for this purpose. However,
-
My iphone is possessed. Lockscreen lights alone
I received a new iphone 4 (the previous was broken) I installed the ios 7.1.1 and restored my icloud apps. When I lock the screen, 10 to 20 seconds after, the screen turns on and 1 seconds after turns off. This happens continuously until the battery
-
Error upgarde 4.2 plugin Add Value Selectlist
Till the upgrade on 4.2 the plugin Add Value Selectlist issue the error below Please help me with that case Error in PLSQL code raised during plug-in processing. ORA-06550: Ligne 2, colonne 10737 : PLS-00302: Le composant 'C_APEX_VERSION' doit être d
-
I'm using firefox 1.0.6 on a Mac OSX 10.3. Firefox is crashing and freezing frequently. I've heard that My firefox version is too old to update and I should get a new computer. I can't upload art to my website. News articles freeze constantly. Firefo