Custom XSLT Functions Throw Exception

Hi,
I have following requirement-
1. I have defined and configured some custom XSLT functions in Jdev and BPEL, which throw exception in case of an error.
2. Now I want to catch that exception in my BPEL process
3. In My BPEL process I have defined transformation step ( which is using those Custom XSLT functions) in a scope and added a catch branch to that
4. But even XSLT java function throw an exception , it is not being catch by catch branch.
Could you please help me regarding this and tell me any other way to catch an exception in BPEL process thrown by Custom XSLT function within transformation step?
Thanks.

Hi,
Its the problem with the date. In the configuration file i used dateTime for java.util.Date, because of this i cant see "User Defined" option in Jdeveloper component pallete. I checked at XML data types i had seen dateTime for java.util.Date Class, but its not working.
Do anyone created a custom xslt function which has date as parameter or return type?, If so wht they had used as data type for xml and java.
Thanks,
RR

Similar Messages

  • PDFLPrintDoc function throw exception on Mac in PDF Lib 10

    Hi,
    Currently I'm doing the work of upgrading a xcode project on Mac from PDF lib from 8.1 to 10.
    After change to use PDF lib 10 framework, and build project, I found it throw an exception when calling function PDFLPrintDoc to print PS type, error message saying An internal error occured.
    However, on Win platform, it is ok.
    I read from release note that since PDF lib 9,  
    PDFLPrintDoc() honors only default values for tilingMode (kPDNoTiling)
    In the previous code, the  flattenInfo variable in PDPrintParams is a null porinter, so I manuall add code to set PDFlattenTilingMode to be kPDNoTiling.
    But the problem is, now when running ,it still throw exception saying "An internal error occured" , nothing changed.
    Has anybody here encountered such problem?
    Please give me an answer, thanks~

    Since this is PDFL, you have a license from either Adobe or Datalogics.  Please contact their support directly.

  • Custom Indirection Container throwing exception in constructor

    Hi I've following the how-to and implemented my own custom indirection container. However, when reading an object from the database I'm getting the following exception. I'm guessing that it could be related to having null references stored as 0 in id columns. Any help would be greatly appreciated.
    Thanks,
    Jon
    Exception thrown in main Exception [TOPLINK-152] (OracleAS TopLink - 10g (9.0.4.8) (Build 050712)):
    oracle.toplink.exceptions.DescriptorException
    Exception Description: The operation [buildContainer constructor (null) Failed: java.lang.NullPointe
    rException] is invalid for this indirection policy [oracle.toplink.internal.indirection.ContainerInd
    irectionPolicy@cc0e01].
    Mapping: oracle.toplink.mappings.OneToOneMapping[ryFromMail]
    Descriptor: Descriptor(com.peoplesoft.crm.omk.design.PsRyedocVar --> [DatabaseTable(PS_RYEDOC_VAR)])
    Local Exception Stack:
    Exception [TOPLINK-152] (OracleAS TopLink - 10g (9.0.4.8) (Build 050712)): oracle.toplink.exceptions
    .DescriptorException
    Exception Description: The operation [buildContainer constructor (null) Failed: java.lang.NullPointe
    rException] is invalid for this indirection policy [oracle.toplink.internal.indirection.ContainerInd
    irectionPolicy@cc0e01].
    Mapping: oracle.toplink.mappings.OneToOneMapping[ryFromMail]
    Descriptor: Descriptor(com.peoplesoft.crm.omk.design.PsRyedocVar --> [DatabaseTable(PS_RYEDOC_VAR)])
    at oracle.toplink.exceptions.DescriptorException.invalidIndirectionPolicyOperation(Descripto
    rException.java:669)
    at oracle.toplink.internal.indirection.ContainerIndirectionPolicy.buildContainer(ContainerIn
    directionPolicy.java:62)
    at oracle.toplink.internal.indirection.ContainerIndirectionPolicy.valueFromQuery(ContainerIn
    directionPolicy.java:254)
    at oracle.toplink.mappings.ForeignReferenceMapping.valueFromRow(ForeignReferenceMapping.java
    :898)
    at oracle.toplink.mappings.OneToOneMapping.valueFromRow(OneToOneMapping.java:1302)
    at oracle.toplink.mappings.DatabaseMapping.readFromRowIntoObject(DatabaseMapping.java:876)
    at oracle.toplink.internal.descriptors.ObjectBuilder.buildAttributesIntoObject(ObjectBuilder
    .java:164)
    at oracle.toplink.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:322)
    at oracle.toplink.queryframework.ObjectLevelReadQuery.buildObject(ObjectLevelReadQuery.java:
    242)
    at oracle.toplink.queryframework.ReadObjectQuery.execute(ReadObjectQuery.java:368)
    at oracle.toplink.queryframework.DatabaseQuery.execute(DatabaseQuery.java:510)
    at oracle.toplink.queryframework.ReadQuery.execute(ReadQuery.java:125)
    at oracle.toplink.publicinterface.Session.internalExecuteQuery(Session.java:1962)
    at oracle.toplink.publicinterface.Session.executeQuery(Session.java:1086)
    at oracle.toplink.internal.indirection.NoIndirectionPolicy.valueFromQuery(NoIndirectionPolic
    y.java:254)
    at oracle.toplink.mappings.ForeignReferenceMapping.valueFromRow(ForeignReferenceMapping.java
    :898)
    at oracle.toplink.mappings.OneToOneMapping.valueFromRow(OneToOneMapping.java:1302)
    at oracle.toplink.mappings.DatabaseMapping.readFromRowIntoObject(DatabaseMapping.java:876)
    at oracle.toplink.internal.descriptors.ObjectBuilder.buildAttributesIntoObject(ObjectBuilder
    .java:164)
    at oracle.toplink.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:322)
    at oracle.toplink.queryframework.ObjectLevelReadQuery.buildObject(ObjectLevelReadQuery.java:
    242)
    at oracle.toplink.queryframework.ReadObjectQuery.execute(ReadObjectQuery.java:368)

    Clients of your class might not like you throwing
    exceptions from the ctor. If they're checked
    exceptions it'll mean try/catch blocks. If there are
    LOTS of checked exceptions that'll mean lots of catch
    blocks. Could get messy fast. You could catch in the
    ctor and wrap in a subclass of
    java.lang.RuntimeException. Those are unchecked, like
    java.lang.IllegalArgumentException.I would strongly advise against making your checked exceptions unchecked just so that the caller's code will compile without try/catch blocks. Either way--checked or unchecked--if I do Foo foo = new Foo();
    foo.doStuff(); I won't get to doStuff() if the ctor threw an exception.
    You'd throw unchecked exceptions in those cases where it's appropriate--e.g., the caller passed you invalid args (bad code on the caller's part, appropriated for unchecked exception), or the VM couldn't get enough memory to create your object (probably not something the caller can do anything about, so, again, appropriate for unchecked).
    But if, for example, he's passing you database login parameters that an end user provided, and the password is wrong or the host is unreachable, then you'd want to throw a checked exception, because it's not bad code on the caller's part, and there might be something he can do to recover.
    Note that the example of the incorrect password above is quite different from the "invalid args" example in the previous paragraph. Your method would throw IllegalArgumentException if the caller passed args that violate your method's precondition--e..g. lie outside some range of numbers. That is, it's a value that your method simply can't use. A bad password for a db login, on the other hand, is legal as far as your method is concerned, it just failed authentication in the db.
    @%: I know you're aware of the proper use of checked/unchecked exceptions, but the way you worded you post kind of sounded like you were saying, "just use unchecked if you find the caller has too many try statements."
    ¶

  • Custom XSLT Functions - Unable to access in Mediator ExpressionBuilder

    I have created some custom functions, I am able to access them within the xslt mapper, but when I open Mediator Expression Builder I cannot access them. Is this by design, bug, enhancement request, trick to get get it work?

    yes was able to activate the functions, no error, but i dont want to build everything and in the end when tested in the schema and found out that wasnt able to call the codes, would rather pre-emp during the build

  • Custom adapter module throwing exception

    Hi,
         We have written an adapter module (EJB) to convert a file structure into XML for conversion in XI. Using file adapter(FTP), we are getting the files converted into XML without any problem. However, when there is no file in the directory the module is throwing an exception and writing an entry into the log (polling interval is 1 minute).
    The requirement is when there is no file in the directory, the adapter should keep on polling, but without generating any exception or making an entry in the log.
    Can anyone help out with this please?

    strange...
    if a file is not found in the specified directory where your file adapter is polling, it is not possible that the control comes to the adapter module you have specified in the module chain.
    have you done something unusual in your CC config i.e. added only your module in the module chain and removed CallSAPAdapter

  • RemoveAllElements function throws Exception

    Hi ,
    Have got a strange pbm
    I have to implement a JList component in my application. I have used DefaultList Model with it.
    But when I call ,list.clearSelection() or any other function to empty the list, application throughs Array Index out of bound exception.
    I m waiting for Ur sugesstions...
    Thanks for the advicers...
    Sapna

    Inorder to refresh the list contents try following code:
    DefaultListModel dlm = new DefaultListModel();
    JList jlist = new JList(dlm);
    //processing...
    //CODE FOR REFRESHING JLIST
    //if elements are present in List, remove them.
    if (dlm.size() > 0)
      dlm.removeAllElements();
    //add all elements in model one by one.
    for(int i = 0; i < al.size(); i++)
      dlm.addElement(al.get(i));
    if (dlm.size() > 0)
       if(!jlist.isSelectionEmpty()) jlist.clearSelection();
      //now if the defaultlistmodel has got any elements then select first
      //element
      jlist.setSelectedIndex(0);
    }Manish.

  • Groupwise Custom Field Creation throws exception

    Hi,
    When I am trying to create a new field definition (String type) using the object API (8.0.1)(gwoapi_800.h), I got the following exception
    System Message #1: "An error occurred in allocating memory.", System Message #2: "Error Message: "Exception occurred.", Source "FieldDefinitions.Object"",
    IGWFieldDefinitionPtr pDIGWFieldDefinitions;
    pIGWFieldDefinitions->Add()
    Is this a known API issue?
    Thanks.

    I put a fix to 8.0.3 and the next major release
    or GroupWise. The problem was there is a custom
    field table that gets created. If the user had
    no custom fields, there was a problem creating
    the first custom field.
    You can get around the problem (until the fix
    is available) by first creating a custom field
    using the GW Client.
    Preston
    >>> On Tuesday, June 15, 2010 at 1:28 PM, Preston
    Stephenson<[email protected]> wrote:
    > I created a bug to investigate the issue.
    > I'll get to it when time permits.
    >
    > Thanks.
    > Preston
    >
    >>>> On Tuesday, June 15, 2010 at 12:46 PM,
    > pranov2001<pranov2001@no‑mx.forums.novell.com> wrote:
    >
    >> Preston
    >> Thanks a lot for your response. Here is the snapshot of the code that I
    >> am trying to achieve.
    >>
    >> _COM_SMARTPTR_TYPEDEF(DIGWAddressBooks, DIID_DIGWAddressBooks);
    >> _COM_SMARTPTR_TYPEDEF(IGWAddressBooks2, IID_IGWAddressBooks2);
    >> _COM_SMARTPTR_TYPEDEF(IGWAccount4, IID_IGWAccount4);
    >> _COM_SMARTPTR_TYPEDEF(DIGWCAddressBook, DIID_DIGWCAddressBook);
    >> _COM_SMARTPTR_TYPEDEF(IGWCAddressBook2, IID_IGWCAddressBook2);
    >>
    >> _COM_SMARTPTR_TYPEDEF(DIGWFieldDefinitions,IID_DIG WFieldDefinitions);
    >> _COM_SMARTPTR_TYPEDEF(IGWFieldDefinitions,
    >> IID_IGWFieldDefinitions);
    >> _COM_SMARTPTR_TYPEDEF(DIGWFieldDefinition,
    >> DIID_DIGWFieldDefinition);
    >>
    >> DIGWAddressBooksPtr pDIGWAddressBooks;
    >> IGWAddressBooks2Ptr pIGWAddressBooks;
    >> IGWAccount4Ptr pIGWAccount;
    >> LPCTSTR AddrBookName = _T("Test Contacts");
    >> CComVariant vName(AddrBookName);
    >> DIGWCAddressBookPtr pDIGWCAddressBook;
    >> HRESULT hr;
    >> DIGWFieldDefinitionsPtr pDIGWFieldDefinitions;
    >> IGWFieldDefinitionsPtr pIGWFieldDefinitions;
    >> DIGWFieldDefinitionPtr pDIGWFieldDefinition;
    >> IGWCAddressBook2Ptr pIGWCAddressBook;
    >> LPCTSTR FieldName = _T("AliasName");
    >>
    >> //Opening an Addressbook
    >> pIGWAccount‑>get_AddressBooks(&pDIGWAddressBooks );
    >>
    >>
    >
    pDIGWAddressBooks‑>QueryInterface(IID_IGWAddress Books2,((LPVOID*)&pIGWAddr
    > essBo
    >> oks));
    >> hr = pIGWAddressBooks‑>Item(vName, &pDIGWCAddressBook);
    >> if (hr>=0)
    >>
    >>
    >
    pDIGWCAddressBook‑>QueryInterface(IID_IGWCAddres sBook2,((LPVOID*)&pIGWCAdd
    > ressB
    >> ook));
    >>
    >> //Adding the field to the Addressbook
    >> pIGWCAddressBook‑>get_FieldDefinitions(&pDIGWFie ldDefinitions);
    >>
    >>
    >
    pDIGWFieldDefinitions‑>QueryInterface(IID_IGWFie ldDefinitions,((LPVOID*)&p
    > IGWFi
    >> eldDefinitions));
    >> _bstr_t btFieldName(FieldName);
    >> pIGWFieldDefinitions‑>Add(btFieldName, 1, &pDIGWFieldDefinition);
    >>
    >> The interesting fact is, it works in one worstation and not in other,
    >> even if there is no OS or Groupwise client version difference between
    >> those workstations.
    >>
    >> Preston Stephenson;1987092 Wrote:
    >>> The error is reporting something missing.
    >>> Can you support more of your code that you
    >>> are trying to use?
    >>> A small test app would be even better.
    >>>
    >>> Thanks.
    >>> Preston
    >>>
    >>> >>> On Thursday, June 10, 2010 at 3:26 PM,
    >>> pranov2001<pranov2001@no‑mx.forums.novell.com> wrote:
    >>>
    >>> > Hi,
    >>> >
    >>> > When I am trying to create a new field definition (String type)
    >>> using
    >>> > the object API (8.0.1)(gwoapi_800.h), I got the following exception
    >>> >
    >>> > System Message #1: "An error occurred in allocating memory.", System
    >>> > Message #2: "Error Message: "Exception occurred.", Source
    >>> > "FieldDefinitions.Object"",
    >>> >
    >>> > IGWFieldDefinitionPtr pDIGWFieldDefinitions;
    >>> > ....
    >>> > pIGWFieldDefinitions‑>Add()
    >>> >
    >>> > Is this a known API issue?
    >>> >
    >>> > Thanks.

  • 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!
    Sean

    Yeah, 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>

  • Function module JOB_CLOSE throwing exception

    Hello,
    We have a batch job which has 2 steps:
    1) Step 1 uses job_open, job_submit and job_close and immediately schedules batch job A/P_ACCOUNTS which in turn creates batch input sessions A/P_ACCOUNTS.
    2) Step 2 Processes A/P_ACCOUNTS sessions created yesterday or today.
    In few cases, job_close is throwing exception job_close_failed. I believe that error is coming due to non availability of work processes. Job A/P_Accounts is defined as a class C batch job. There is a check in the FM job_close which does the following check:
    - if the class of a batch job is B or C, it calculates the number of free work processes. If there are no work processes available then JOB_CLOSE throws JOB_CLOSE_FAILED exception. 
    - If the class is u2018Au2019, it skips this check.
    We have an option of changing the class of batch job to A but there are some system critical jobs that are running as class A.
    My question is:
    In the code, JOB_CLOSE has been called for scheduling the job A/P_ACCOUNTS with parameter start immediately. Can anyone please let me know what will happen if function JOB_CLOSE is not called with start immediately option? Will the batch job A/P_ACCOUNTS wait till the time work processes are available?
    Or, can anything else be done to solve the issue?
    Regards,
    Siddharth

    HI,
    This is my experience with job_close..
    when i was working in zprograms then i was able to scedule it any time i wanted..
    but in my standard program when i tried it didn't worked....
    so i have to use that option of starting it immediately..
    and then it is working fine..
    now if i schedule 5 jobs... one after another..
    its get queued up...and once the processor is free...its working..
    my code of job close
      CALL FUNCTION 'JOB_CLOSE'
        EXPORTING
          jobcount             = job_count
          jobname              = job_name
          strtimmed            = yes " yes = 'X'
        IMPORTING
          job_was_released     = job_released
        EXCEPTIONS
          cant_start_immediate = 1
          invalid_startdate    = 2
          jobname_missing      = 3
          job_close_failed     = 4
          job_nosteps          = 5
          job_notex            = 6
          lock_failed          = 7
          invalid_target       = 8
          OTHERS               = 9.
    regards,
    Yadesh

  • Including customized xquery functions in XQuery/XSLT expression Editor-OSB

    Hi,
    I have written a customized xquery function. I want this to be included in the List of Xquery Functions which is displayed by Oracle Service Bus in the XQuery/XSLT
    Expression Editor. OSB displays the built in xquery functions in the XSLT/Xquey Expression Editor. Is there any way to add the customised xquery to this list, so that it can be dragged and dropped later?
    Thanks,
    Balaji.

    I doubt if that is exposed out side of Oracle Engineering (Not public/documented). Please raise a support ticket for enhancement. If PM should concur you might get the steps that need to be performed for this feature.
    Thanks
    Manoj
    Edited by: Manoj Neelapu on Jun 8, 2010 8:37 AM

  • 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?
    Thanks

    Hello,
    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

  • Faxing of SAPScript throwing exception

    Dear All,
    I am facing problem while sending Sales Order output through FAX. It is throwing exception in OPEN_FORM function module as FAX_NOT_VALID. I debugged and found that actually system is failing FM SX_NUMBER_TO_DEVTYPE which in turn showing that the exception has occured due to Node not found. Is it a configuaration issue? I tried to configure through SPRO but could not find any relevent place. Looking for your valuable suggestion.
    Any suggestion!
    Thanks and regards,
    Atanu

    Make sure are you entering the correct fax number in the recepient.
    Go to transaction SBWP - > create new message and try to send it as FAX. It you are not able to send fax via Business workplace then it implies that some setting is required form the BASIS.
    Otherwise the parameters passed to the OPEN_FORM needs to be investigated.

  • Count() function throws error in EQL query for metric

    Hi
    I am trying to use count function in EQL query for Metric Bar to show the number of occurrences of a record.
    When the record type doesn't exist i expect the function to return count as 0. Instead the function throws a runtime exception and the whole Metric Bar portlet fails, with error No Results Available. Even though other components in the metric bar have valid results.
    2013-02-21 13:03:51,216 WARN [MetricsBarQueryProcessor] The EQL query does not return any results.
    2013-02-21 13:03:51,216 ERROR [MetricsBarQueryProcessor] The EQL query does not return any results.
    2013-02-21 13:03:51,216 WARN [MetricsBarResultsProcessor] No statement results to process.
    The EQL query i am using is
    RETURN NUMBER_OCCURS AS SELECT COUNT(EMP_ID) AS NUMBER_OCCURS where EMP_NAME IS NOT NULL group;
    I tried using COALESCE but that doesn't help.
    Can some one please suggest a workaround to this?

    Srikanth,
    Two statements are used here because the original question was pertaining to the null set (where there are employees in the nav state but no employees that fit the special analytics criteria in the navigation state). The question/answer has nothing to do with what is in the COUNT parentheses clause as Counting a null set will always give you NULL, not 0, no matter what you put in there.
    What we're really doing, in the second part of the query, is writing a query over a set of data that is not the null set (i.e. the current navigation state). This allows the 0 value to come through in the case where the first analytics statement is evaluated over a null set of records. If there were truly no records in the navigation state, this too would return a null set and not zero.
    Hope that makes sense, feel free to respond (either on here or offline) if it's unclear.
    Regards,
    Patrick Rafferty
    http://branchbird.com

  • Using Starts-with XSLT function with XI

    Hi All,
    Any help is apperciated. I am using the starts-with xslt function and when i do so the message gets stucks in the queue. If i run code without the starts-with then is works??
    <xsl:for-each select="receipt/prod">
         <xsl:for-each select="carrier/carrier_detail/carrier">
               <xsl:choose>
                   <xsl:when test="carrier_type='CASE'">
                        <xsl:choose>
                             <xsl:when test="starts-with(carrier_barcode, '00')">
                                                   do something
                                            </xsl:when>
                                           <otherwise>
                                                 do something
                                           </otherwise>
    so on..
    when i try to process messsage using this xslt format it gets sysfail in the queue, but without it, it works fine.
    I need to a special format if the condition of barcode starts with 00

    Chirag,
    Create xslt on abap mapping using transaction SXLT_TOOL on XI abap stack. Copy paste same xslt code and run with test file. You can debug code or most likely you can see error message too.
    Actually your mapping raising an exception which result in sys-fail.
    Hope this will help.
    Nilesh

  • 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>

Maybe you are looking for