that is interesting - in other words you almost have WSDL 1.1 to WSDL2 converter and in future when all arrows are implemented there will be generic WSDL1.1 (subset) <-> WSDL2 roundtrip mapping

i am not sure if it is needed though but it is nice feature :)

the other possibility would be to have WOM API consisting of interfaces and set of factory/builders specific for WSDL 1.1 and WSDL2 (they actually read and maintain XML infoset that is specific to WSDL2 and WSDL1.1) that both implement WOM API.

then you can do full roundtrip but only WSDL1.1->WSDL1.1 and WSDL2->WSDL2, editing limited to WOM API but no conversion and you actually do not need serializer if in-memory you have actual WSDL 1.1 or WSDL2 infoset (this is just XML infoset no need to bring scary names such as metadata store) ... of course generic serializers working on WOM API could still be still be written so you could do the same lossy WSDL1.1->WOM->WSDL2 and WSDL2->WOM->WSDL1.1 conversion but *only* if you wanted to.

i think that is a viable architectural alternative that may be very attractive if you have services/API clients that need to peek under cover and process whole WSDL 1.1 with its extensions (thinking about WSIF ...)

best,

alek.

Ajith Ranabahu wrote:

Hi all,
Few of us got together and discussed a bit about what's left in WSDL handling. Here's a summary of our discussion and all are welcome to express their opinion :) As a starter, here's how the WSDL handling takes place now. (take a look at the picture that would be a replacement of the next 100 words :)) The WSDL Object Model (WOM) is based on the WSDL 2.0 specification and it can be built using any representation of WSDL (theoretically). However the WSDL 1.1 needs some translation (Unfortunately which is lossy) when populating a WSDL 2.0 compliant model. The current translation happens through WSDL4J which has excellent facilities to handle WSDL 1.1 documents. The current implementation has only one pump from WSDL 1.1 to WOM (marked in blue in the picture). Our intention is to write the wom to WSDL 1.1 serializer but it seems that there are some issues regarding the serialization.

* When converting the WSDL 1.1 document to the WOM, some information is lost (information about messages etc). In other words when converting back from WOM to WSDL 1.1 the original WSDL 1.1 document cannot be recreated! There are several alternatives i. Forget about preserving the original WSDL. The WSDL serializer cares only about the WOM when writing the WSDL. This results in only a specific subset of WSDL's (doc/lit) ii. introduce a meta data store (mds) to the WOM. The extra information will be stored in the mds and would be used as needed by the pumps.

We've opted for the first alternative (No mds. just convert the WOM). It's partly due to the simplicity (second alternative needs the mds populated as well, which means tweaking the builders). However WSDL 1.1 is established very well and it's doubtful whether WSDL 2.0 will replace it soon enough, which means that we need to support WSDL 1.1 for some time. Lossy conversions may be a problem!

* WSDL 2.0 pumps can wait! But as Tom suggests WSDL 2.0 needs implementations and WOM is half way there. We might as well go the other half and finish it but for the time being, WSDL 1.1 seems to be of higher priority.

thoughts any one ?






--
The best way to predict the future is to invent it - Alan Kay

Reply via email to