Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[bpel-dev] resolveBPELPartnerLinkType() trouble

Hi all,

Working on improving the generation of deployment descriptors for the
ActiveBPEL runtime integration, I have been stuck for a few days trying to
figure out what might be a bug (?). 

Here's the setup:
We have a simple BPEL process with two partnerLinks. One partnerLink refers
to a PLT defined in the automatically generated *Artifacts.wsdl file, which
in turn imports the <processName>.wsdl file to resolve the portType referred
to in its PLT. This PLT will be represented by EMF as a proxy. 

Here's what we are trying to do:
During PDD generation, we need to getPartnerLinkType().getID() or getName(),
etc. The first getter tries to resolve the proxy and return a
PartnerLinkType, but that's where the trouble starts. 

Here's the problem:
The getter makes use of
org.eclipse.bpel.model.util.WSDLUtil.resolveBPELPartnerLinkType(). As we are
dealing with a proxy object, this method decides to inspect the imports.
Problem is (or seems to be), it encounters a bpws:import with a no location
attribute (null), which is represented in our BPEL file by the following
line:
<bpws:import importType="http://schemas.xmlsoap.org/wsdl/";
namespace="http://test.comArtifacts"/>

which, in the BPEL, is followed by:

<bpws:import importType="http://schemas.xmlsoap.org/wsdl/";
location="ArtifactsServiceProcessArtifacts.wsdl"
namespace="http://test.comArtifacts"/>

Now, my understanding is that trying to import the definition indicated by
the first bpws:import above, we encounter a NPE caused by trying to create a
URI on a null location. The effect is that the resolveBPELPartnerLinkType()
method never gets to look at the second import and it all fails miserably. 


Can someone please tell me: 
a) is this a known limitation of the code? 
b) why does our BPEL feature this import with no location attribute? 
c) is there something I am missing here? Is there maybe something the PDD
generation should do before trying to resolve a proxy and I am just being
ignorant?

This is driving me nuts (there is some nice recursion going on - forgot to
mention) and keeping me from making any progress. So please, if anyone could
lend me a few minutes of brainpower, it would be greatly appreciated. 

-- Bruno

______________________________________________
Bruno Wassermann 
           
Research Fellow                
                               
University College London      Tel: +44 (0)20 7679 0369 (Direct Dial)
Dept. of Computer Science      Fax: +44 (0)20 7387 1397
Gower Street		       
London WC1E 6BT                http://www.cs.ucl.ac.uk/staff/B.Wassermann
United Kingdom 
______________________________________________
  



Back to the top