[jbosstools-issues] [JBoss JIRA] Commented: (JBIDE-7116) BPEL Editor not seeing message structure when imported into WSDL

Robert (Bob) Brodt (JIRA) jira-events at lists.jboss.org
Thu Sep 30 11:36:39 EDT 2010


    [ https://jira.jboss.org/browse/JBIDE-7116?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12554399#action_12554399 ] 

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:import>
    <bpel:import namespace="http://eclipse.org/bpel/sampleArtifacts" location="PolicyQuoteProcessArtifacts.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"></bpel:import>

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

        


More information about the jbosstools-issues mailing list