This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 95346

Summary: BPEL mapper is qualifying the element name when it should not
Product: soa Reporter: _ gmpatil <gmpatil>
Component: BPEL MapperAssignee: Vladimir Yaroslavskiy <yaroslavskiy>
Status: VERIFIED FIXED    
Severity: blocker CC: pvarghese, supernikita, venuv
Priority: P2    
Version: 5.x   
Hardware: All   
OS: All   
Issue Type: DEFECT Exception Reporter:
Attachments: WSDLs.zip

Description _ gmpatil 2007-02-13 01:41:42 UTC
In latest build (2007/02/12) BPEL Editor/Mapper is qualifying element inside
XPATH expression for Assign, when it should not. This was working 2007/02/08 build.

Local or Non global elements should not be qualified when Schema has
elementFormDefault="unqualified" or when attriibute elementFormDefault is not
present.

Note there is a bug which asks for qualification for global elements.
http://www.netbeans.org/issues/show_bug.cgi?id=93704

Steps to reproduce.
1. Create a BPEL project.
2. Copy attached WSDLs to "Prcoess Files" folder.
3. Creat new Business Process file.
4. Drag and Drop processApplicant.wsdl in to the BPEL editor. Select
"processApplicantPortTypeRole" as myRole.
5. Drag and drop NameParserWsWrapper.wsdl in to the BPEL editor. Select
"NameParserWsRole" as partner Role.
6. Add following activities in sequence, "Recieve", "Assign", "Invoke", "Assign"
and "Reply".
7. LInk Recieve and Reply to PartnerLink1/processApplicantPortTypeRole and
create instance and variables as required.
8. Link Invoke  to PartnerLink2/NameParserWsRole variables as required.
9. Click on Assign1, in the mapper, link ProcessApplicantOperationIn.part1 to
getFirstNameIn.parameters.fullName.
10. Save and switch to Source view.
11. Code generated for Assign is,
        <bpws:assign name="Assign1">
            <bpws:copy>
                <bpws:from variable="ProcessApplicantOperationIn" part="part1"/>
                <bpws:to>$GetFirstNameIn.parameters/ns3:fullName</bpws:to>
            </bpws:copy>
        </bpws:assign>

Note prefix ns3 for element "fullName".

12. In XSD, Element "fullName" is defined as below.
<xs:complexType name="getFirstName"><xs:sequence><xs:element name="fullName"
type="xs:string" minOccurs="0"></xs:element></xs:sequence></xs:complexType>

13. Schema does not contain attribute "elementFormDefault", so default is
"unqualified".
Comment 1 _ gmpatil 2007-02-13 01:43:32 UTC
Created attachment 38411 [details]
WSDLs.zip
Comment 2 Vladimir Yaroslavskiy 2007-02-13 14:07:38 UTC
Related issue http://www.netbeans.org/issues/show_bug.cgi?id=93704
Comment 3 Vladimir Yaroslavskiy 2007-02-13 14:18:46 UTC
The rules have been implemented for qualifying element name:

1. Global element is always qualified.

2. If schema "elementFormDefault" is qualified,
   any element is qualified.

3. If schema "elementFormDefault" is unqualified:

3.1 if local element has qualified form, it is qualified.
3.2 if element is ElementReference, it is qualified.
Comment 4 Oleg Barbashov 2007-05-31 11:04:45 UTC
Build 200705300000. Verified.