BPEL Email Notification Services Broken By JDeveloper When Updating A Composite From 11.1.1.5 To 11.1.1.7 (Doc ID 1668915.1)

Last updated on MARCH 08, 2017

Applies to:

Oracle SOA Suite - Version 11.1.1.7.0 and later
Information in this document applies to any platform.

Symptoms

 

1. Develop a composite in 11.1.1.5 that contains a BPEL which has an email activity which sends an email.
2. Deploy this in a 11.1.1.5 SOA server and confirm it works.
3. Open this composite in JDeveloper 11.1.1.7 (It will prompt to update the project)
4. Load the BPEL
5. Deploy the composite to a 11.1.1.7 server and send an email - you will note it works as normal
6. Double click on the Email activity in the BPEL and make a change. e.g. change the email address *
7. Close the dialog and press OK.
8. Try and deploy the composite. JDeveloper will hang at the validating composite stage:

scac:
[scac] Validating composite
"H:\JDev_11_1_1_7_0\mywork\SOA_Current\XXIC_ErrorNotifyAsync\composite.xml"


Adding value for FromUserName and deploying project again and you will get compilation error :

Error(100): The XPath segment "child::ns1:FromUserName" cannot be resolved.

<copy>
<from>string('blub')</from>
<to variable="varNotificationReq" part="EmailPayload">
<query>ns1:FromUserName</query>
</to>
</copy>


Notification.xsd :
~~~~~~~~~~~~~

<xsd:complexType name="EmailPayloadType">
<xsd:sequence>
<xsd:element name="FromAccountName" minOccurs="0" type="xsd:string"/>
<xsd:element name="To" type="xsd:string" minOccurs="0"/>
<xsd:element name="ReplyToAddress" minOccurs="0" type="xsd:string"/>
<xsd:element name="Subject" type="xsd:string"/>
<xsd:element name="Content" type="ContentType"/>
<xsd:element name="EmailHeaders" type="ArrayOfEmailHeaderType" minOccurs="0"/>
<xsd:element name="Cc" minOccurs="0" type="xsd:string"/>
<xsd:element name="Bcc" minOccurs="0" type="xsd:string"/>
<xsd:element name="NotificationContext" type="NotificationContextType"/>
</xsd:sequence>
</xsd:complexType>

 

Checking BPEL code :
~~~~~~~~~~~~~~~~~~~~~~~

BPEL code before the changes :

<sequence name="Sequence1">
<assign name="EmailParamsAssign">
<copy>
<from>string('Default')</from>
<to variable="varNotificationReq" part="EmailPayload"><query>ns1:FromAccountName</query></to>
</copy>
<copy>
<from>string('')</from>
<to variable="varNotificationReq" part="EmailPayload"><query>ns1:Bcc</query></to>
</copy>
<copy>

BPEL code after changes :

<sequence name="Sequence1">
<assign name="EmailParamsAssign">
<copy>
<from>string('Default')</from>
<to variable="varNotificationReq" part="EmailPayload">
<query>ns1:FromAccountName</query> </to>
</copy>
<copy>
<from>string('')</from>
<to variable="varNotificationReq" part="EmailPayload">
<query>ns1:FromUserName</query> </to>
</copy>
<copy>
<from>string('')</from>
<to variable="varNotificationReq" part="EmailPayload">
<query>ns1:Bcc</query> </to>
</copy>


This variable FromUserName is not defined in Notification.xsd for the
EmailPayloadType

<xsd:complexType name="EmailPayloadType">
<xsd:sequence>
<xsd:element name="FromAccountName" minOccurs="0" type="xsd:string"/>
<xsd:element name="To" type="xsd:string" minOccurs="0"/>
<xsd:element name="ReplyToAddress" minOccurs="0" type="xsd:string"/>
<xsd:element name="Subject" type="xsd:string"/>
<xsd:element name="Content" type="ContentType"/>
<xsd:element name="EmailHeaders" type="ArrayOfEmailHeaderType" minOccurs="0"/>
<xsd:element name="Cc" minOccurs="0" type="xsd:string"/>
<xsd:element name="Bcc" minOccurs="0" type="xsd:string"/>
<xsd:element name="NotificationContext" type="NotificationContextType"/>
</xsd:sequence>
</xsd:complexType>

 

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms