After trying your process, I have several bad news  :-|

1) The function name is actually "domToString"  (lower-case "d");  my
mistake, sorry!

2) The compiler uses the expressionLanguage instead of queryLanguage when
evaluating assignments; this is apparently a known issue but I don't think
it's been officially reported, nor documented, before.   I'll file a bug and
add to our non-compliance list;  the workaround is to set the
expressionLanguage to XPath 2.0 as well.

3) There's an error in the function itself which make it throw an
IndexOutOfBoundsException for your case; I'll file a bug.

Three ducks in a row.  Ouch.  I can fix #3 quickly to get you going.  #2
will take more time.

alex


On Tue, Aug 12, 2008 at 5:43 PM, Jagan Mohan Kaveripakam <
[EMAIL PROTECTED]> wrote:

> Alex,
>
> Please find the attached project directory, which contains the entire set
> of WSDL's, XSD's and BPEL..
>
> Please let me know if you require other information...
>
> regards
> Jagan
> --- On *Tue, 8/12/08, Alex Boisvert <[EMAIL PROTECTED]>* wrote:
>
> From: Alex Boisvert <[EMAIL PROTECTED]>
> Subject: Re: How to use Custom Function (DomToString) in ODE
> To: [EMAIL PROTECTED]
> Cc: [email protected]
> Date: Tuesday, August 12, 2008, 5:07 PM
>
>
>  Can you provide a full BPEL (w/ WSDL, XSD, ...) so I can reproduce this?
>
> alex
>
>
> On Tue, Aug 12, 2008 at 12:47 PM, Jagan Mohan Kaveripakam <
> [EMAIL PROTECTED]> wrote:
>
>>   Alex,
>>
>> When add to the process the below error coming at compile time itself.. My
>> Process declaration isa as below:
>>
>>
>> <
>>
> bpws:process exitOnStandardFault="yes" name="ProviderReferenceService"
>
> suppressJoinFailure="no"
>
> targetNamespace="
> http://clinical.uhg.com/cis/service/ProviderReferenceService/v0.1";
>
> xmlns:bpws="http://docs.oasis-open.org/wsbpel/2.0/process/executable";
>
> queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0"
>
> expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0"
>
> xmlns:ns="http://clinical.uhg.com/cis/messages/NotificationService/v0.1";
>
> xmlns:ns0="http://clinical.uhg.com/cis/audit/service/AuditService/1";
>
> xmlns:ns1="http://clinical.uhg.com/cis/audit/ws/message/1";
>
> xmlns:ns2="http://tempuri.org/";
>
> xmlns:tns="
> http://clinical.uhg.com/cis/service/ProviderReferenceService/v0.1";
>
> xmlns:xs1="http://clinical.uhg.com/cis/1";
> xmlns:xsd="http://www.w3.org/2001/XMLSchema";>
> The compile time error is *expressionLanguage attribute refers to an
> unsupported language URI urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0*
> **
> ** <[email protected]>
> When I add the expressionLangauge to <bpws:from> then getting this warning
> while compilation and thowring different excepiton while at runtime..  cannot
> be checked - no expression validator has been registered for language
> urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0. If i add to form then the
> below exception is coming at runtime.
>
>
>
> 8/12/08 14:43:10:328 CDT] 00000035 SystemOut O DEBUG -
> GeronimoLog.debug(66) | INPUTMSG: 20.SearchProviders: MSG RCVD keys=[]
> mySessionId=null partnerSessionId=null
>
> [8/12/08 14:43:10:328 CDT] 00000035 SystemOut O DEBUG -
> GeronimoLog.debug(66) | INPUTMSG: 20.SearchProviders: routing failed,
> CREATING NEW INSTANCE
>
> [8/12/08 14:43:10:343 CDT] 00000035 SystemOut O DEBUG -
> GeronimoLog.debug(66) | BpelRuntimeContextImpl created for instance 24602.
> INDEXED STATE={}
>
> [8/12/08 14:43:10:359 CDT] 00000035 SystemOut O DEBUG -
> GeronimoLog.debug(66) | SELECT: PickResponseChannel#9: USING CORRELATOR
> 20.SearchProviders
>
> [8/12/08 14:43:10:359 CDT] 00000035 SystemOut O DEBUG -
> GeronimoLog.debug(66) | SELECT: PickResponseChannel#9: CHECKING for NEW
> INSTANCE match
>
> [8/12/08 14:43:10:359 CDT] 00000035 SystemOut O DEBUG -
> GeronimoLog.debug(66) | INPUTMSGMATCH: Changing process instance state from
> ready to active
>
> [8/12/08 14:43:10:375 CDT] 00000035 SystemOut O DEBUG -
> GeronimoLog.debug(66) | SELECT: PickResponseChannel#9: FOUND match for NEW
> instance mexRef={MyRoleMex#hqejbhcnphr3i9o8ml8hvx [Client
> hqejbhcnphr3i9o8ml8hvw] 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 14:43:10:390 CDT] 00000035 SystemOut O ERROR -
> GeronimoLog.error(108) | Method "run" in class
> "org.apache.ode.bpel.runtime.ASSIGN" threw an unexpected exception.
>
> java.lang.VerifyError
>
> at
> org.apache.ode.bpel.elang.xpath20.runtime.XPath20ExpressionRuntime.evaluate(
> *XPath20ExpressionRuntime.java:94*)
>
> at org.apache.ode.bpel.runtime.ExpressionLanguageRuntimeRegistry.evaluate(
> *ExpressionLanguageRuntimeRegistry.java:80*)
>
> at org.apache.ode.bpel.runtime.ASSIGN.evalRValue(
> *ASSIGN.java:196*)
>
> at org.apache.ode.bpel.runtime.ASSIGN.copy(
> *ASSIGN.java:348*)
>
> at org.apache.ode.bpel.runtime.ASSIGN.run(
> *ASSIGN.java:81*)
>
> at sun.reflect.GeneratedMethodAccessor42.invoke(Unknown Source)
>
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> *DelegatingMethodAccessorImpl.java:43*)
>
> at java.lang.reflect.Method.invoke(
> *Method.java:615*)
>
> at org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(
> *JacobVPU.java:451*)
>
> at org.apache.ode.jacob.vpu.JacobVPU.execute(
> *JacobVPU.java:139*)
>
> at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(
> *BpelRuntimeContextImpl.java:835*)
>
> at org.apache.ode.bpel.engine.PartnerLinkMyRoleImpl.invokeNewInstance(
> *PartnerLinkMyRoleImpl.java:197*)
>
> at org.apache.ode.bpel.engine.BpelProcess.invokeProcess(
> *BpelProcess.java:204*)
>
> at org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(
> *BpelProcess.java:372*)
>
> at org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(
> *BpelEngineImpl.java:326*)
>
> at org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(
> *BpelServerImpl.java:373*)
>
> at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(
> *SimpleScheduler.java:337*)
>
> at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(
> *SimpleScheduler.java:336*)
>
> at org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(
> *SimpleScheduler.java:174*)
>
> 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*)
>
> [8/12/08 14:43:10:406 CDT] 00000035 SystemOut O ERROR -
> GeronimoLog.error(108) | Scheduled job failed;
> jobDetail={mexid=hqejbhcnphr3i9o8ml8hvx, pid={
> http://clinical.uhg.com/cis/service/ProviderReferenceService/v0.1}ProviderReferenceService-142<http://clinical.uhg.com/cis/service/ProviderReferenceService/v0.1%7DProviderReferenceService-142>,
> type=INVOKE_INTERNAL}
> *
>
> java.lang.RuntimeException
> *: java.lang.VerifyError
>
> at org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(
> *JacobVPU.java:464*) at org.apache.ode.jacob.vpu.JacobVPU.execute(
> *JacobVPU.java:139*)
>
>
> --- On *Tue, 8/12/08, Alex Boisvert <[EMAIL PROTECTED]>* wrote:
>
> From: Alex Boisvert <[EMAIL PROTECTED]>
> Subject: Re: How to use Custom Function (DomToString) in ODE
> To: [EMAIL PROTECTED]
> Cc: [email protected]
> Date: Tuesday, August 12, 2008, 2:27 PM
>
>
>  Actually, the expressionLanguage attribute should go on your <from>
> element, not the <assign>.
>
> Alternatively, you can place it on the <process> element to change it
> globally.
>
> alex
>
>
> On Tue, Aug 12, 2008 at 12:22 PM, Jagan Mohan Kaveripakam <
> [EMAIL PROTECTED]> wrote:
>
>>   I was using the expression langague for XPath 2.0 in the invoke
>> activity as below.. but still the same excepiton.. Please look at the below
>> assign activity
>>
>>
>> <
>>
> bpws:assign name="Assign_Provider_Reference_Search_Details" validate="no"
> expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0" >
>
> <bpws:copy>
>
> <bpws:from>
>
> <bpws:literal>
>
> <q0:ProviderSearch2 xmlns:q0="http://tempuri.org/";>
>
> <q0:requestXML/>
>
> </q0:ProviderSearch2>
>
> </bpws:literal>
>
> </bpws:from>
>
> <bpws:to part="parameters" variable="ProviderServiceRequest"/>
>
> </bpws:copy>
>
> <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>
> </bpws:assign>
>   Thanks
>  Jagan
>
>
> --- On *Tue, 8/12/08, Alex Boisvert <[EMAIL PROTECTED]>* wrote:
>
> From: Alex Boisvert <[EMAIL PROTECTED]>
> Subject: Re: How to use Custom Function (DomToString) in ODE
> To: [email protected], [EMAIL PROTECTED]
> Date: Tuesday, August 12, 2008, 2:11 PM
>
>  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
>
>
>
>
>
>
>

Reply via email to