Как назначить текущую дату в WSO2 BPEL?

Я не нашел способа назначить текущую дату в WSO2 BPEL. Я пробовал это:

$ ode: currentEventDateTime

<bpel:from expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0">
<![CDATA[$ode:currentEventDateTime]]>
</bpel:from>

Это вызывает ошибку:

[UndeclaredVariable] Попытка ссылаться на необъявленную переменную currentEventDateTime при развертывании

fn: current-dateTime или current-dateTime ()

<bpel:from expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0">
<![CDATA[fn:current-dateTime]]>
</bpel:from>

Имя ошибки {http: //docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailure
Сообщение об ошибке {http: //docs.oasis-open.org/wsbpel/2.0/process/executable} selectionFailure: Выражение R-значения "{OXPath10Expression fn: current-dateTime}" не выбрало никаких узлов.
Данные об ошибке Нет данных.

<bpel:from expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0">
<![CDATA[fn:current-dateTime()]]>
</bpel:from>

поднимает:

ОШИБКА {org.wso2.carbon.bpel.ui.fileupload.BPELUploadExecutor} - Ошибка компиляции процесса BPEL.
org.apache.ode.utils.NSContext $ NSContextException: во время развертывания не найдено пространство имен для префикса «fn».

<bpel:from expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0">
<![CDATA[current-dateTime()]]>
</bpel:from>

Имя ошибки {http: //docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailure
Сообщение об ошибке {http: //docs.oasis-open.org/wsbpel/2.0/process/executable} selectionFailure: возникла исключительная ситуация при оценке "{OXPath10Expression current-dateTime ()}": нет такой функции current-dateTime
Данные об ошибке Нет данных.


person Eduard Nickel    schedule 13.04.2015    source источник


Ответы (1)


Я нашел решение, используя преобразование xsl
BPEL:

<bpel:copy> 
<bpel:from>bpel:doXslTransform("datetime.xsl", $variable.part)</bpel:from>
<bpel:to part="parameters" variable="var"></bpel:to>
</bpel:copy>

XSL:

<xsl:stylesheet version="1.0">
<xsl:template match="/">
<!--variable structure--> 
<cmism:deliveryDate><xsl:value-of select="current-dateTime()"/>
</cmism:deliveryDate>
</xsl:template>
</xsl:stylesheet>
person Eduard Nickel    schedule 23.04.2015