Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve web discovery to get more results #123

Open
mdutoo opened this issue Jul 12, 2012 · 0 comments
Open

Improve web discovery to get more results #123

mdutoo opened this issue Jul 12, 2012 · 0 comments
Assignees

Comments

@mdutoo
Copy link
Member

mdutoo commented Jul 12, 2012

1. add some WS samples to web discovery home :

http://footballpool.dataaccess.eu/data/info.wso => http://footballpool.dataaccess.eu/data/info.wso?WSDL
http://webservices.daehosting.com/services/
http://services.unitedplanet.de/blz/BlzService.asmx?WSDL

(and a few others from https://predic8.com/svn/membrane/registry/trunk/servicelist.text )

2. improve scraping :

In ScrapingStrategy, also check whether found links match a (LATER configurable) compiled regexp and then add to found services the url with an added ending ?WSDL.
Regexp must match : .wso, .asmx

3. LATER add smart (local) spidering :

  • (first see if there's not an existing lib doing that, or a better way to merge it in ScrapingStrategy)
  • remember scraped pages (including linked found services)
  • applications : In ContextStrategy, add a map of (LATER configurable) compiled regexp to replaces, and if browsed URL matches the regexp, apply the replace and scrape it (NB. stay local i.e. no host change) : ^/nuxeo/.* => add webservices/ , ^/alfresco/.* => add api/
  • LATER engines : try scraping (configurable) /cxf/ , /WS/
  • LATER all architecture async

Read https://github.com/easysoa/EasySOA/wiki/Service-finder-strategies-reference

support HTTP anchor (#)

by not scraping those links and rather using the top level page url.

Suggest better names in more cases

For now, it only extracts from WSDL the "name". If none, try getting service/@name , portType/@name (or binding/@name) ().

LATER Support interfaces-only or buggy wsdl

See examples at http://www.w3.org/2002/ws/ra/ . Ex. : missing version, web discovery gets back HTML or XSD instead of WSDLs.

LATER with new model, separate interface (signature) from endpoint (and binding = technology).
LATER also get and store .xsd (schemas).

Buggy wsdl :

  • validate it (with EasyWSDL...) and store this information in the new model
  • make our tools (SOAPUI, Scaffolder, JWT...) check it but also more robust against buggy wsdl. Ex. for now, SOAPUI explodes on WSDLs from http://www.w3.org/2002/ws/ra/ .
@ghost ghost assigned wilfried2006 Jul 12, 2012
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants