Hi  Pradeep,

in your staring mail

> 3.since the current implementation uses dom element this mechanism
> results in a double parsing when its a WSDL20.possible solution is
> using
> Axiom instead of dom so that when namespace checking it does not parse
> the entire WSDL.

         I agree with this  Axiom based approach to identify the
version of  WSDL document.


>  The way you are suggesting seems to
> be based on Exception handling. So once the Exception is thrown from
> this(if the WSDL is 1.1) then we have to
> parse it again to a *wsdl4j.definition* in order to feed the
> WSDL11ToAxisServiceBuilder. So problem is not addressed.

not exactly , what I'm suggesting is  use your  Axiom based approach
to identify  the the version of WSDL not using
Exception handling . Then if it is a WSDL 1.1 you could parse it with
WSDL4J reader and in the  case of WSDL 2.0 use Woden reader instead of
serialize it to get it as a InputStream.

Because once you provide a InputStream to   WSDL20ToAxisServiceBuilder
it will parse it again to get org.apache.woden.wsdl20.Description my
point is to eliminate this extra serialization step  as follows

1. Identify the version  of the WSDL using your Axiom approach.
2. if it is wsdl1.1 call wsdl4j reader ....and so on
3. if it is a wsdl2.0 call woden reader to get
org.apache.woden.wsdl20.Description and pass this Description to
WSDL20ToAxisServiceBuilder as a constructor argument. ( same way as
WSDL11ToAxisServiceBuilder)


Further you may use Woden's  OMWSDLReader implementation , because
it's also  based on Axiom.

Thanks ,


Sagara Gunathunga

Blog - http://ssagara.blogspot.com
Web - http://sagaras.awardspace.com/

Reply via email to