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

Add wsdl #10

Open
victornoel opened this issue Apr 24, 2015 · 14 comments
Open

Add wsdl #10

victornoel opened this issue Apr 24, 2015 · 14 comments
Assignees
Milestone

Comments

@victornoel
Copy link

Hi,

Could we add wsdl schemas to this module?

I know wsdl 1 is not a w3c schema (http://schemas.xmlsoap.org/wsdl/) but wsdl 2 is (http://www.w3.org/ns/wsdl).

Still if version 1 could be added to it would be useful and not completely strange to have it here :)

Thanks!

@highsource highsource added this to the 1.1.1 milestone Apr 24, 2015
@highsource highsource self-assigned this Apr 24, 2015
@highsource
Copy link
Owner

Sure. There's already an issue for soap-envelope.

Is there a list of WSDL/SOAP-relevant schemas somewhere?

@victornoel
Copy link
Author

Hi, great.

I would say first there is this one: http://www.w3.org/2002/ws/desc/ with wsdl, soap, http, rpc and extensions.
Also there is http://www.w3.org/ns/wsdl-instance but I'm not really clear what it is about :)

Then for wsdl11, I was wrong, it is also w3c: http://www.w3.org/TR/wsdl even though the namespace is not w3c.org. All the related schemas are at the bottom of the page.
You also have to complete wsdl11
http://schemas.xmlsoap.org/wsdl/soap12
http://schemas.xmlsoap.org/soap/encoding (soap11)
http://www.w3.org/2003/05/soap-encoding (soap12)
http://schemas.xmlsoap.org/soap/envelope/ (soap11)
http://www.w3.org/2003/05/soap-envelope (soap12)

Well, I have to say, I got that list from a project of ours that contain these, but I'm not sure if there is more and how they are all related to each others… :)

@victornoel
Copy link
Author

And I forgot that also: http://www.w3.org/TR/sawsdl/
And there is more here: http://www.w3.org/standards/techs/wsdl#w3c_all

@victornoel
Copy link
Author

And that: http://www.w3.org/TR/#tr_SOAP ! So many things…

@highsource highsource modified the milestones: 1.1.2, 1.1.1 Jun 13, 2015
@highsource highsource modified the milestones: 1.2.x, 1.1.2 Jul 5, 2015
@victornoel
Copy link
Author

Hi,

I would like to start working on that (for now adding the schemas only to the w3c-schemas project), but I have some questions about how to organise things:

  • is that ok that I do it?
  • when a schema is available from many URL (the one pointing to the latest version and the one pointing to the current version for example, as with this one: http://www.w3.org/ns/wsdl/soap):
    • where should I put it in the file tree?
    • should the catalog resolves only the system id? or also the public id?
  • when a w3c schema has not a w3.org namespace (like http://schemas.xmlsoap.org/wsdl/):
    • is that ok to put it in a xmlsoap/ subdirectory, next to the w3c subdirectory?
    • should I make a different catalog file for it? (as the current one is in the w3c subdir)
  • when a schema does not have an official location for the xsd file, just a public namespace which also points to the xsd file on the internet but without the xsd suffix (like for example: http://schemas.xmlsoap.org/wsdl/):
    • is that ok to put it in the xmlsoap subdirectory named as wsdl.xsd?
    • should I only make the catalog resolve the public id since there is no internel system id?

Other more general questions: There is a resources directory and a resources-original directory, if I understood well, schemas should be in the resources-original and then they are copied and patched during the maven execution. Then why are the resources directory present on github? isn't that just generated content in a way?

That's all for now :)

@highsource
Copy link
Owner

Hi,

would be cool if you could address this.

  • Sure.
  • You can only create one directory structure, we won't duplicate schemas (even if different URLs point to the same thing). I normally try to map URLs of schemas in some straightforward manner, but I'm not sure if it is possible here. My suggestion would be: please list the URLs of schemas with their respective specs/versions and we'll figure out how to structure them in files.
  • Catalog should resolve system id, resolving public ids does not work reliably.
  • Yes, xmlsoap directory would be good. But it's not because of the namespace but more because of the location. The directory structure of schemas should be close to the URLs of the schemas. Ideally, this should be 1:1, but it does not seem possible in this case.
  • No, I think, the same catalog.
  • Something like wsdl.xsd would be OK but we'll maybe need to add versions in the structure.
  • I think there will always be system id, there's normally always some URL in xsd:import or not? I'd first try with system ids and only then with public ids as public ids resolution is not reliable.
  • We may also need to patch schemas so that they always use the same URLs to identify the same schemas (and different for different).

You're guessing it right with resources-original and resources. Things are checked in because of diffing with git. Maybe this could be done better, but it works the way it is, so I'm a bit reluctant to invest effort to change it.

BTW, what you'd also need to do is to add new schemas and test cases for them into scripts. So that Jsonix also works with these schemas. That would be actually quite cool, that would enable people to wringe SOAP clients in JS.

Let's start by creating a solid structure of schemas in w3c-schemas/schemas and the continue by adding SOAP schema projects one by one.

Thank you for your contributions, I appreciate them very much.

@victornoel
Copy link
Author

Great,

So for the list of things I plan to introduce for now, we have:

So the plan I had in mind was to have catalog entries with public id only for the schemas that have no location… but maybe it's not the best, I'm not so clear as if they have no location or if it is just the same as the namespace and so without a xsd suffix…

The second idea was to put the xmlsoap ones in a xmlsoap directory like this:

  • src/main/resources/xmlsoap/
    • wsdl.xsd
    • wsdl/
      • http.xsd
      • mime.xsd
      • soap.xsd
      • soap12/
        • wsdl11soap12.xsd
    • soap/
      • encoding.xsd
      • envelope.xsd

For the w3c ones without location, I was thinking of putting them in:

  • src/main/resources/w3c/2003/05/
    • soap-encoding.xsd
    • soap-envelope.xsd

As for the w3c ones with location, I was thinking about using the location for the latest version of the schema (so 2002/ws/desc/ns/... )

Concerning the schemas without apparent location: I couldn't find any example of import with a location. For example if you take a look at http://schemas.xmlsoap.org/wsdl/soap12/ (which is by the way the only xmlsoap schema with a clear location), there is inside an import for http://schemas.xmlsoap.org/wsdl/ and there is no location specified.

I have to verify in details, but I don't think we need to patch anything, everything is clean apparently…

Finally: it's a pleasure, and anyway, I'm doing it as part of my work :) I'm part of the team working on http://petals.ow2.org .

@highsource
Copy link
Owner

Ok, so what we have is:

@highsource
Copy link
Owner

So I'd suggest the following file structure:

  • xmlsoap/wsdl/2003-02-11.xsd
  • xmlsoap/wsdl/soap/2003-02-11.xsd
  • xmlsoap/wsdl/mime/2003-02-11.xsd
  • xmlsoap/wsdl/http/wsdl-http.xsd
  • xmlsoap/wsdl/soap12/wsdl11soap12.xsd
  • xmlsoap/wsdl/soap12/wsdl11soap12-20060302.xsd
  • xmlsoap/wsdl/soap12/wsdl11soap12-20051026.xsd
  • w3/2001/06/soap-encoding.xsd
  • w3/2001/06/soap-envelope.xsd
  • w3/2003/05/soap-encoding.xsd
  • w3/2003/05/soap-envelope.xsd
  • w3/2007/06/wsdl/wsdl20.xsd
  • w3/2007/06/wsdl/wsdl20-instance.xsd
  • w3/2007/06/wsdl/wsdl20-extensions.xsd
  • w3/2007/06/wsdl/soap.xsd
  • w3/2007/06/wsdl/rpc.xsd
  • w3/2007/06/wsdl/http.xsd
  • w3/2002/ws/desc/ns/wsdl20.xsd
  • w3/2002/ws/desc/ns/wsdl-instance.xsd
  • w3/2002/ws/desc/ns/wsdl-extensions.xsd
  • w3/2002/ws/desc/ns/soap.xsd
  • w3/2002/ws/desc/ns/rpc.xsd
  • w3/2002/ws/desc/ns/http.xsd

Almost 1:1 mirror (apart from the http://www.w3.org/2003/05/soap-envelope/ exception).

@victornoel
Copy link
Author

I think there is duplicate in this file hierarchy, for w3/2007/06/wsdl versus w3/2002/ws/desc/ns.
Which one should we keep? I would keep the second one I think, since it is the official location for the latest version… or do you mean to keep both as the latest could change?

And then in the catalog I rewrite the system id relative to the xmlsoap directory:

REWRITE_SYSTEM "http://schemas.xmlsoap.org/" "maven:org.hisrc.w3c:w3c-schemas:jar::!xmlsoap/"

But I think we also need to publish the public id for all the schemas that are not usually imported with the location, because I think nobody knows these url you found (where did you find theme by the way?)
Something like that:

PUBLIC "http://schemas.xmlsoap.org/wsdl/" "maven:org.hisrc.w3c:w3c-schemas:jar::!xmlsoap/2003-02-11.xsd"
PUBLIC "http://schemas.xmlsoap.org/wsdl/soap/" "maven:org.hisrc.w3c:w3c-schemas:jar::!xmlsoap/wsdl/soap/2003-02-11.xsd"
PUBLIC "http://schemas.xmlsoap.org/wsdl/mime/" "maven:org.hisrc.w3c:w3c-schemas:jar::!xmlsoap/wsdl/mime/2003-02-11.xsd"
PUBLIC "http://schemas.xmlsoap.org/wsdl/http/" "maven:org.hisrc.w3c:w3c-schemas:jar::!xmlsoap/wsdl/http/wsdl-http.xsd"
PUBLIC "http://schemas.xmlsoap.org/wsdl/soap12/" "maven:org.hisrc.w3c:w3c-schemas:jar::!xmlsoap/wsdl/soap12/wsdl11soap12.xsd"
PUBLIC "http://schemas.xmlsoap.org/soap/encoding/" "maven:org.hisrc.w3c:w3c-schemas:jar::!w3c/2001/06/soap-encoding.xsd"
PUBLIC "http://schemas.xmlsoap.org/soap/envelope/" "maven:org.hisrc.w3c:w3c-schemas:jar::!w3/2001/06/soap-envelope.xsd"
PUBLIC "http://www.w3.org/2003/05/soap-encoding" "maven:org.hisrc.w3c:w3c-schemas:jar::!/w3c/2003/05/soap-encoding.xsd"
PUBLIC "http://www.w3.org/2003/05/soap-envelope" "maven:org.hisrc.w3c:w3c-schemas:jar::!/w3c/2003/05/soap-envelope.xsd"

@victornoel
Copy link
Author

Any comment @highsource ? Thanks :)

@highsource highsource modified the milestones: 1.3.x, 1.3.1 Sep 12, 2015
@victornoel
Copy link
Author

I think we can also add these three schemas that are used in webservice related things also:

highsource added a commit that referenced this issue Nov 1, 2016
@victornoel
Copy link
Author

@highsource was that really meant to be closed by the xinclude commit?

@highsource highsource reopened this Nov 1, 2016
@highsource
Copy link
Owner

Sorry I referenced the wrong issue, I meant #18.

highsource added a commit that referenced this issue Nov 1, 2016
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