You need to use XPath 2.0 as the expression language in your process to use this function extension.
e.g. you need to add expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0" to your process or on your assign activity. alex On Tue, Aug 12, 2008 at 11:57 AM, Jagan Mohan Kaveripakam < [EMAIL PROTECTED]> wrote: > > Thanks very much Alex.. > > I exact requirement is i will get an xml message, that i need to convert it > as a String which will be XML message and need to call an external > webservice.. Here is my XML message to ODE > <message><request><SearchProvidersRequest xmlns=" > http://clinical.uhg.com/cis/messages/NotificationService/v0.1" xmlns:q0=" > http://clinical.uhg.com/cis/messages/NotificationService/v0.1" xmlns:q1=" > http://clinical.uhg.com/cis/1" xmlns:soapenv=" > http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd=" > http://www.w3.org/2001/XMLSchema" xmlns:xsi=" > http://www.w3.org/2001/XMLSchema-instance"> > <ProviderName> > <PersonName xmlns="http://clinical.uhg.com/cis/1"> > <FirstName/> > <LastName>HARTFORD</LastName> > </PersonName> > </ProviderName> > <PostalCode/> > <City/> > <StateCode>CT</StateCode> > <RadiusBegin>1</RadiusBegin> > <RadiusEnd>1</RadiusEnd> > <ProviderPlatform>T</ProviderPlatform> > <PageStart>1</PageStart> > <PageSize>2</PageSize> > <MaximumRecords>5</MaximumRecords> > </SearchProvidersRequest></request></message> > > And Iam using Copy as below.. as i need convert into String which is in XML > message > > <bpws:copy> > <bpws:from xmlns:ext="http://www.apache.org/ode/type/extension > ">ext:DomToString( > > <![CDATA[concat('<PrvRequest>','<platformCd>',$SearchProvidersRequest.request/ns:ProviderPlatform,'</platformCd><lastName>',$SearchProvidersRequest.request/ns:ProviderName/xs1:PersonName/xs1:LastName,'</lastName><firstName></firstName><prvType>',2,'</prvType><PhoneNbr><AreaCd></AreaCd><Phone></Phone></PhoneNbr><specialty></specialty><city></city><County></County><stateCd>',$SearchProvidersRequest.request/ns:StateCode,'</stateCd><zipCd></zipCd><zipSuffix></zipSuffix><PlatformInfo><UNetPrvInfo><ProviderType>',2,'</ProviderType><MktNbr></MktNbr><FacilityTypeCd></FacilityTypeCd></UNetPrvInfo></PlatformInfo></PrvRequest>')]]>)</bpws:from> > <bpws:to part="parameters" variable="ProviderServiceRequest"> > <bpws:query > queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"><![CDATA[/ns2:requestXML]]></bpws:query> > </bpws:to> > </bpws:copy> > > Wile running this iam getting the below excepiton > > > [8/12/08 13:49:18:843 CDT] 0000002d SystemOut O DEBUG - > GeronimoLog.debug(66) | Routed: svcQname { > http://clinical.uhg.com/cis/service/ProviderReferenceService/v0.1}ProviderReferenceService<http://clinical.uhg.com/cis/service/ProviderReferenceService/v0.1%7DProviderReferenceService>--> > BpelProcess[{ > http://clinical.uhg.com/cis/service/ProviderReferenceService/v0.1}ProviderReferenceService-139<http://clinical.uhg.com/cis/service/ProviderReferenceService/v0.1%7DProviderReferenceService-139> > ] > [8/12/08 13:49:18:859 CDT] 0000002d SystemOut O DEBUG - > GeronimoLog.debug(66) | invoke() EPR= null ==> BpelProcess[{ > http://clinical.uhg.com/cis/service/ProviderReferenceService/v0.1}ProviderReferenceService-139<http://clinical.uhg.com/cis/service/ProviderReferenceService/v0.1%7DProviderReferenceService-139> > ] > [8/12/08 13:49:18:859 CDT] 0000002d SystemOut O DEBUG - > GeronimoLog.debug(66) | Commiting ODE MEX {MyRoleMex#hqejbhcnphr3i9hdpvdkfg > [Client hqejbhcnphr3i9hdpvdkff] calling { > http://clinical.uhg.com/cis/service/ProviderReferenceService/v0.1}ProviderReferenceService.SearchProviders(...)<http://clinical.uhg.com/cis/service/ProviderReferenceService/v0.1%7DProviderReferenceService.SearchProviders%28...%29> > } > [8/12/08 13:49:18:875 CDT] 0000002d SystemOut O DEBUG - > GeronimoLog.debug(66) | Commiting transaction. > [8/12/08 13:49:18:906 CDT] 00000036 SystemOut O DEBUG - > GeronimoLog.debug(66) | >> > handleWorkEvent(jobData={mexid=hqejbhcnphr3i9hdpvdkfg, pid={ > http://clinical.uhg.com/cis/service/ProviderReferenceService/v0.1}ProviderReferenceService-139<http://clinical.uhg.com/cis/service/ProviderReferenceService/v0.1%7DProviderReferenceService-139>, > type=INVOKE_INTERNAL}) > [8/12/08 13:49:18:906 CDT] 00000036 SystemOut O DEBUG - > GeronimoLog.debug(66) | InvokeInternal event for mexid > hqejbhcnphr3i9hdpvdkfg > [8/12/08 13:49:18:921 CDT] 00000036 SystemOut O DEBUG - > GeronimoLog.debug(66) | GET MEX property org.apache.ode.bpel.myRoleSessionId > = null > [8/12/08 13:49:18:921 CDT] 00000036 SystemOut O DEBUG - > GeronimoLog.debug(66) | GET MEX property org.apache.ode.bpel.myRoleSessionId > = null > [8/12/08 13:49:18:937 CDT] 00000036 SystemOut O DEBUG - > GeronimoLog.debug(66) | GET MEX property > org.apache.ode.bpel.partnerRoleSessionId = null > [8/12/08 13:49:18:937 CDT] 00000036 SystemOut O DEBUG - > GeronimoLog.debug(66) | INPUTMSG: 20.SearchProviders: MSG RCVD keys=[] > mySessionId=null partnerSessionId=null > [8/12/08 13:49:18:937 CDT] 00000036 SystemOut O DEBUG - > GeronimoLog.debug(66) | INPUTMSG: 20.SearchProviders: routing failed, > CREATING NEW INSTANCE > [8/12/08 13:49:18:953 CDT] 00000036 SystemOut O DEBUG - > GeronimoLog.debug(66) | BpelRuntimeContextImpl created for instance 24003. > INDEXED STATE={} > [8/12/08 13:49:18:968 CDT] 00000036 SystemOut O DEBUG - > GeronimoLog.debug(66) | SELECT: PickResponseChannel#9: USING CORRELATOR > 20.SearchProviders > [8/12/08 13:49:18:968 CDT] 00000036 SystemOut O DEBUG - > GeronimoLog.debug(66) | SELECT: PickResponseChannel#9: CHECKING for NEW > INSTANCE match > [8/12/08 13:49:18:968 CDT] 00000036 SystemOut O DEBUG - > GeronimoLog.debug(66) | INPUTMSGMATCH: Changing process instance state from > ready to active > [8/12/08 13:49:18:984 CDT] 00000036 SystemOut O DEBUG - > GeronimoLog.debug(66) | SELECT: PickResponseChannel#9: FOUND match for NEW > instance mexRef={MyRoleMex#hqejbhcnphr3i9hdpvdkfg [Client > hqejbhcnphr3i9hdpvdkff] calling { > http://clinical.uhg.com/cis/service/ProviderReferenceService/v0.1}ProviderReferenceService.SearchProviders(...)<http://clinical.uhg.com/cis/service/ProviderReferenceService/v0.1%7DProviderReferenceService.SearchProviders%28...%29> > } > [8/12/08 13:49:19:000 CDT] 00000036 SystemOut O ERROR - > GeronimoLog.error(104) | Assignment Fault: { > http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailure,lineNo=50,faultExplanation=An<http://docs.oasis-open.org/wsbpel/2.0/process/executable%7DselectionFailure,lineNo=50,faultExplanation=An>exception > occured while evaluating "{OXPath10Expression ext:DomToString( > concat('<PrvRequest>','<platformCd>',$SearchProvidersRequest.request/ns:ProviderPlatform,'</platformCd><lastName>',$SearchProvidersRequest.request/ns:ProviderName/xs1:PersonName/xs1:LastName,'</lastName><firstName></firstName><prvType>',2,'</prvType><PhoneNbr><AreaCd></AreaCd><Phone></Phone></PhoneNbr><specialty></specialty><city></city><County></County><stateCd>',$SearchProvidersRequest.request/ns:StateCode,'</stateCd><zipCd></zipCd><zipSuffix></zipSuffix><PlatformInfo><UNetPrvInfo><ProviderType>',2,'</ProviderType><MktNbr></MktNbr><FacilityTypeCd></FacilityTypeCd></UNetPrvInfo></PlatformInfo></PrvRequest>'))}": > No Such Function DomToString > [8/12/08 13:49:19:015 CDT] 00000036 SystemOut O DEBUG - > GeronimoLog.debug(66) | ProcessImpl completed with fault '{ > http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailure<http://docs.oasis-open.org/wsbpel/2.0/process/executable%7DselectionFailure> > ' > [8/12/08 13:49:19:031 CDT] 00000036 SystemOut O DEBUG - > GeronimoLog.debug(66) | Processing an async reply from service { > http://clinical.uhg.com/cis/service/ProviderReferenceService/v0.1}ProviderReferenceService > [8/12/08<http://clinical.uhg.com/cis/service/ProviderReferenceService/v0.1%7DProviderReferenceService%5B8/12/08>13:49:19:171 > CDT] 00000036 SystemOut O WARN - GeronimoLog.warn(96) | > connectionErrorOccurred called with null > java.sql.SQLException: A truncation error was encountered trying to shrink > VARCHAR 'An exception occured while evaluating "{OXPath10Expression e&' to > length 255. > at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown > Source) > at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source) > at > org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown > Source) > at > org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown > Source) > at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown > Source) > at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown > Source) > at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown > Source) > at > org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(Unknown > Source) > at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeUpdate(Unknown > Source) > at > org.tranql.connector.jdbc.PreparedStatementHandle.executeUpdate(PreparedStatementHandle.java:103) > at > org.apache.openjpa.lib.jdbc.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:269) > at > org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator$LoggingConnection$LoggingPreparedStatement.executeUpdate(LoggingConnectionDecorator.java:864) > at > org.apache.openjpa.lib.jdbc.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:269) > at > org.apache.openjpa.jdbc.kernel.JDBCStoreManager$CancelPreparedStatement.executeUpdate(JDBCStoreManager.java:1398) > at > org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.executeUpdate(PreparedStatementManagerImpl.java:151) > at > org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flushAndUpdate(PreparedStatementManagerImpl.java:120) > at > org.apache.openjpa.jdbc.kernel.BatchingPreparedStatementManagerImpl.flushAndUpdate(BatchingPreparedStatementManagerImpl.java:82) > at > org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flushInternal(PreparedStatementManagerImpl.java:89) > at > org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flush(PreparedStatementManagerImpl.java:72) > at > org.apache.openjpa.jdbc.kernel.ConstraintUpdateManager.flush(ConstraintUpdateManager.java:543) > at > org.apache.openjpa.jdbc.kernel.ConstraintUpdateManager.flush(ConstraintUpdateManager.java:106) > at > org.apache.openjpa.jdbc.kernel.BatchingConstraintUpdateManager.flush(BatchingConstraintUpdateManager.java:56) > at > org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:89) > at > org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:72) > at > org.apache.openjpa.jdbc.kernel.JDBCStoreManager.flush(JDBCStoreManager.java:549) > at > org.apache.openjpa.kernel.DelegatingStoreManager.flush(DelegatingStoreManager.java:130) > at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:2007) > at org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:1905) > at > org.apache.openjpa.kernel.BrokerImpl.beforeCompletion(BrokerImpl.java:1823) > at > org.apache.geronimo.transaction.manager.TransactionImpl.beforeCompletion(TransactionImpl.java:514) > at > org.apache.geronimo.transaction.manager.TransactionImpl.beforeCompletion(TransactionImpl.java:498) > at > org.apache.geronimo.transaction.manager.TransactionImpl.beforePrepare(TransactionImpl.java:400) > at > org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionImpl.java:257) > at > org.apache.geronimo.transaction.manager.TransactionManagerImpl.commit(TransactionManagerImpl.java:238) > at > org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:181) > at > org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:335) > at > org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:332) > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:284) > at java.util.concurrent.FutureTask.run(FutureTask.java:138) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690) > at java.lang.Thread.run(Thread.java:797) > Caused by: > ERROR 22001: A truncation error was encountered trying to shrink VARCHAR > 'An exception occured while evaluating "{OXPath10Expression e&' to length > 255. > at org.apache.derby.iapi.error.StandardException.newException(Unknown > Source) > at org.apache.derby.iapi.types.SQLChar.hasNonBlankChars(Unknown Source) > at org.apache.derby.iapi.types.SQLVarchar.normalize(Unknown Source) > > --- On Tue, 8/12/08, Jagan Mohan Kaveripakam <[EMAIL PROTECTED]> > wrote: > > From: Jagan Mohan Kaveripakam <[EMAIL PROTECTED]> > Subject: How to use Custom Function (DomToString) in ODE > To: [email protected] > Date: Tuesday, August 12, 2008, 12:57 PM > > > > > > > > Any body can tell me how to use the Custom Function or any example for > DomToString.. > > Thanks > Jagan > > > > > > >
