Finding the End(point)

Finding the End(point)

or The Difference Between Deployed and Undeployed BPEL WSDLs

A colleague just complained to me about his inability to create an ADF business object from a BPEL process.  He explained that when he pointed the JDeveloper wizard at the BPEL WSDL is gave an unknown endpoint error.  When I asked if he had pointed it at the file from the JDeveloper BPEL project rather than the WSDL file on the BPEL server he confirmed that this was indeed the case.  Pointing at the WSDL file on the server solved the problem.  Why is quite instructive.

A Tale of Two WSDLs

When you build a new BPEL process, you generally end up with a new WSDL file that defines the inputs and outputs of the BPEL process.  What this WSDL file is lacking however is any endpoint information.  Endpoint information details the logical network name and port number of the server on which the process is running, as well as the path to the process.  This data cannot be filled in until the process is deployed to a specific domain (part of the path of the request) and server (hostname and port number part of the request).  Hence when retrieving the WSDL from the JDeveloper file, you have no location where the process is available and it is this lack of data that the ADF wizard complains about.  When you retrieve the WSDL from the BPEL server then it includes the location information of the process and hence the ADF wizard is happier.
Obvious when you think about it, but it is a problem that plagued many people in the past so I thought I would share it with you.

Comments:

Yes, I'd come across before (the hard way too!) - as you say it's very tempting to just use the local WSDL file. Thanks for explaining it Antony.

Posted by SimonH on May 03, 2008 at 11:58 PM MDT #

Just one question about this which have been creating problems for me:- i am using an external web service as partner link in BPEL. This external web service has TEST and PROD URLs. Is there any way i can make the end point configurable so that I dont have to change the WSDL when a TEST code is moved from one BPEL instance to another? Now I have to replace WSDL and deploy when a process goes from TEST to PROD. Just checking if i have any alternative when it comes to external web services and WSDL..

Posted by Ayyappa Das on May 18, 2008 at 09:45 AM MDT #

Post a Comment:
Comments are closed for this entry.
About

Musings on Fusion Middleware and SOA Picture of Antony Antony works with customers across the US and Canada in implementing SOA and other Fusion Middleware solutions. Antony is the co-author of the SOA Suite 11g Developers Cookbook, the SOA Suite 11g Developers Guide and the SOA Suite Developers Guide.

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today