[
https://jira.jboss.org/browse/JBIDE-7116?page=com.atlassian.jira.plugin.s...
]
Robert (Bob) Brodt commented on JBIDE-7116:
-------------------------------------------
Hi Jeff,
I have (finally!) figured out the cause of the erroneous validation errors being reported
by the BPEL editor: it has to do with the order in which the imported WSDLs are resolved,
and the fact that the validator is comparing the model Object instances when testing for
compatible types - it should be comparing the Object contents instead (this is the same
issue with string comparison in Java, i.e. string1 == string2 does not mean the same thing
as string1.equals(string2))
You can see the effect of this in the project attached to this JIRA; try this:
1. fix the schema location problems as described previously (replace "../schema"
with "schema" in all of the WSDLs)
2. in PolicyQuoteProcess.bpel, reverse the order of these two import elements (in other
words, PolicyQuoteProcessService1.wsdl should appear AFTER
PolicyQuoteProcessArtifacts.wsdl):
<bpel:import
namespace="http://www.pi4soa.org/PolicyQuote"
location="PolicyQuoteProcessService1.wsdl"
importType="http://schemas.xmlsoap.org/wsdl/"></bpel:impo...
<bpel:import
namespace="http://eclipse.org/bpel/sampleArtifacts"
location="PolicyQuoteProcessArtifacts.wsdl"
importType="http://schemas.xmlsoap.org/wsdl/"></bpel:impo...
3. save the editor and you should see at least one of the error messages disappear,
specifically the one about variable "PolicyQuoteRequest" is incompatible with
message type.
This is because PolicyQuoteProcessArtifacts.wsdl ALSO imports
PolicyQuoteProcessService1.wsdl, before it is imported by the BPEL file. The result is
that the java Object which represents the message corresponding to the
PolicyQuoteProcessService port type is DIFFERENT from the Object that represents the BPEL
variable's message, even though they are one and the same message type.
This explains a lot of the "odd behavior" that the editor is exhibiting, but it
does not (in this case) explain why the problem goes away when you restart the eclipse
workbench.
I'm hoping that changing the validation code to look at the contents of the two
Objects being compared will fix this problem (although there may be other places in the
editor where this is still an issue). This should also fix the compatibility type checking
in <assign> (i.e. <from> and <to> type incompatibility being incorrectly
reported if the source and target parts are in different message types).
BPEL Editor not seeing message structure when imported into WSDL
----------------------------------------------------------------
Key: JBIDE-7116
URL:
https://jira.jboss.org/browse/JBIDE-7116
Project: Tools (JBoss Tools)
Issue Type: Bug
Components: bpel
Affects Versions: 3.2.0.M2
Environment: JBTools3.2Beta1 Eclipse 3.6 on Mac
Reporter: Jeff DeLong
Assignee: Robert (Bob) Brodt
Fix For: 3.2.0.Beta2
Attachments: PolicyQuoteProcessService.zip, Variables.tiff
Original Estimate: 0 minutes
Remaining Estimate: 0 minutes
I have a WSDL generated from Savara. It looks like this:
<wsdl:definitions name="PolicyQuoteProcessService"
targetNamespace="http://www.pi4soa.org/PolicyQuote"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:tns="http://www.pi4soa.org/PolicyQuote"
xmlns:pcs="http://www.example.org/policyQuoteCalculationService"
xmlns:pol="http://www.example.org/policyQuote"
xmlns:pes="http://www.example.org/policyQuoteEntityService"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:cred="http://creditagency.com/creditCheck"
xmlns:pps="http://www.example.org/policyQuoteProcessService"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:dmv="http://dmv.com/drivingRecord">
<types
xmlns="http://schemas.xmlsoap.org/wsdl/">
<schema
xmlns="http://www.w3.org/2001/XMLSchema">
<import
namespace="http://www.example.org/policyQuote"
schemaLocation="../schema/policyQuote.xsd"/>
<import
namespace="http://creditagency.com/creditCheck"
schemaLocation="../schema/creditCheck.xsd"/>
<import
namespace="http://dmv.com/drivingRecord"
schemaLocation="../schema/drivingRecord.xsd"/>
</schema>
</types>
<wsdl:message name="receivePolicyQuoteRequest">
<wsdl:part name="content" element="pol:policyQuote">
</wsdl:part>
</wsdl:message>
...
Where policyQuote schema is imported. When I create a Variable in the BPEL Editor, it
does not see the structure of the message. This is a big problem, since with out the
message details it is impossible to do Assign / Copy. I will attach the project.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira