Petals Studio

Replace Wsdl4J by EasyWSDL

Details

  • Description:
    Hide

    The studio currently uses EasyWSDL in the BPEL tools, plus Wsdl4J and Apache Woden for the core of the Petals plug-ins.
    These last two libraries should be removed from the studio, and EasyWSDL should be used instead.
    In fact, EasyWSDL should be packaged in its own bundle and shared by all the plug-ins which need it.

    Show
    The studio currently uses EasyWSDL in the BPEL tools, plus Wsdl4J and Apache Woden for the core of the Petals plug-ins. These last two libraries should be removed from the studio, and EasyWSDL should be used instead. In fact, EasyWSDL should be packaged in its own bundle and shared by all the plug-ins which need it.
  • Environment:
    All.

Issue Links

Activity

Hide
Vincent Zurczak added a comment - Thu, 16 Dec 2010 - 18:07:55 +0100

This is not an emergency anymore because WSDL 2.0 is no more supported by EasyWSDL.

Show
Vincent Zurczak added a comment - Thu, 16 Dec 2010 - 18:07:55 +0100 This is not an emergency anymore because WSDL 2.0 is no more supported by EasyWSDL.
Hide
Vincent Zurczak added a comment - Tue, 9 Aug 2011 - 16:11:29 +0200

OK. In fact, I think there is no interest in supporting WSDL 2.0 in the studio for the moment. Petals does not support it anymore. And we have a lot of specific utilities in the studio for that.

  • Remove WSDL4J and Woden from the studio.
  • Remove all our useless utilities for WSDL (at least 2 or 3 classes).
  • Create a specific bundle for EasyWSDL (*.common.libs.easywsdl). Use the version 3.0-alpha.
  • Migrate the rest of the code to use EasyWSDL.
Show
Vincent Zurczak added a comment - Tue, 9 Aug 2011 - 16:11:29 +0200 OK. In fact, I think there is no interest in supporting WSDL 2.0 in the studio for the moment. Petals does not support it anymore. And we have a lot of specific utilities in the studio for that.
  • Remove WSDL4J and Woden from the studio.
  • Remove all our useless utilities for WSDL (at least 2 or 3 classes).
  • Create a specific bundle for EasyWSDL (*.common.libs.easywsdl). Use the version 3.0-alpha.
  • Migrate the rest of the code to use EasyWSDL.
Hide
Vincent Zurczak added a comment - Tue, 4 Oct 2011 - 16:55:34 +0200

EasyWSDL 3.0 40M1 appears to be less mature than expected:

  • JARs remain used in memory, which leads to JAR locking.
  • The API does not cross file imports.
  • The writer does rewrite namespaces for every mark-up and does not format the code. The workaround is to use the pretty formatter from EasyCommons, but this does not work with cross-file modifications.


Consequently, this migration is delayed indefinitely.
The removal of Woden is confirmed. Wsdl4j will be kept instead.

Show
Vincent Zurczak added a comment - Tue, 4 Oct 2011 - 16:55:34 +0200 EasyWSDL 3.0 40M1 appears to be less mature than expected:
  • JARs remain used in memory, which leads to JAR locking.
  • The API does not cross file imports.
  • The writer does rewrite namespaces for every mark-up and does not format the code. The workaround is to use the pretty formatter from EasyCommons, but this does not work with cross-file modifications.

Consequently, this migration is delayed indefinitely. The removal of Woden is confirmed. Wsdl4j will be kept instead.
Hide
Vincent Zurczak added a comment - Fri, 21 Oct 2011 - 13:54:33 +0200

Actually, it seems that Wsdl4j does not support cross-file inclusions too.
But the parsing is done in such a way, and the examples we use are made in such a way, that we did not see it earlier.

To check it:
+ Have 2 WSDL, one importing the other.
+ Make the importer declare the service.
+ Make the imported declare the port type.
+ Parse it with the studio: it works because we search the services first. But in the code, try to get all the port types. You won't get any.

Show
Vincent Zurczak added a comment - Fri, 21 Oct 2011 - 13:54:33 +0200 Actually, it seems that Wsdl4j does not support cross-file inclusions too. But the parsing is done in such a way, and the examples we use are made in such a way, that we did not see it earlier. To check it: + Have 2 WSDL, one importing the other. + Make the importer declare the service. + Make the imported declare the port type. + Parse it with the studio: it works because we search the services first. But in the code, try to get all the port types. You won't get any.

People

Dates

  • Created:
    Tue, 24 Aug 2010 - 12:08:17 +0200
    Updated:
    Wed, 30 Nov 2011 - 19:06:18 +0100
    Resolved:
    Tue, 4 Oct 2011 - 16:55:34 +0200