Talk:Swordfish Documentation: Flight Reservation Tutorial
- 1 Swordfish:Flight Reservation Tutorial Discussion Page
- 1.1 Team Members
- 1.2 Use Case Scenarios
- 1.3 Problems Found
- 1.4 Workaround
Swordfish:Flight Reservation Tutorial Discussion Page
Use Case Scenarios
Non stable work during execution BPEL and jaxws partner services on same Target Platform.
Flight Reservation jaxws service creates two endpoints
- internal nmr cxf provider endpoint (1. on diagram)
- external http consumer endpoint (2. on diagram) bound with above mentioned cxf endpoint.
Flight Booking BPEL process during deployment creates more endpoints several of them (not full list):
- internal nmr bpel provider endpoint (3. on diagram)
- external http consumer endpoint to execute http call to partner Payment Processing service (4. on diagram)
- external http consumer endpoint to execute http call to partner Flight Reservation service (5. on diagram)
Now take a closer look on endpoints 1 and 5 as long same FlightReservation.wsdl file was used while jaxws service generation (wsdl first approach) and during Flight Booling BPEL modeling we have exactly same properties set for both endpoints: service name, port name, target namespace. In this circumstances Endpoint Resolver might choose wrong endpoint when both Flight Reservation and Flight Booking (and also Payment Processing) service are executing on same JVM and same Target Platform.
Possible solution is:
We need to make CXF enpoint unique some how. For this purpose we could add some prefix for some endpoint's property during jaxws process generation with Swordfish Tooling. For example it could be serviceName property, we could add "CXF" prefix to it.