I am a software engineer working with an outside development group. This group enforces SOA at the bank and works on our ESB layer/service provider. We are a Java development team working with more modern frameworks like Spring 4/Spring WS for consumption of web services. Our builds are all through Maven.
This team has been less than helpful with what I feel should be a rather simple request from a services group. To produce our service client we require from them the WSDL file that we can use to generate Java proxies for talking to their service. We wish to bring this WSDL snapshot into our project source code and then use the Maven JAX-WS plugin to generate our proxy source code based on this project relative WSDL file, it is basically part of our build process. This team is strictly waterfall so development of this service probably wont happen for another 6-9 months, they are accommodating our need for the service contract ahead of their implementation so that we can mock their service and continue in our development ahead of them.
The problem is that they gave us a non-inline WSDL with multiple nested imports to remote HTTP urls. We tried to ask them for a truly inline WSDL with all declared XML schemas and additional WSDL imports in a single document. Their are two problems with what they delivered:
- Our build is now dependent on the uptime of an outside system that is frankly proven in the past to be an unreliable mess (Terrible IBM product).
- Historical builds will no longer be possible. Product support wouldn't be able to fetch a release tag from source control and be able to build it, those remote HTTP urls are probably going to be a later version of the service.
This basically breaks Maven.
On multiple attempts to explain to this team why this is a problem and why we need a truly inline WSDL, they seem like they still don't quite understand. They are not Java developers, they are used to using IBM WID and visual drag and drop service orchestration tools. Apart from the lack of understanding, they do not know how to actually get WID or IIB to generate for them an inline WSDL. They just don't know how and I don't know how their IBM toolsets work to explain to them how to do it.
So basically it is falling on us to take their specific WSDL, manually fetch every imported resource down the tree, and probably build a local folder layout of the resources to import within our project, and then change all of the locations of the imports to project relative file paths. Then validate to make sure we didn't screw something up.
What I am looking for
I am looking for a tool that can take a WSDL with many levels of nested imports and complicated schemas, and basically either generate a completely inline WSDL file or a folder with all of the remote resources laid out properly with imports being file path relative.
OS: Windows 7 (Preferred), Linux (Stretch goal)
My organization does not allow developers to have local administrator rights. The software cannot have an installation that requires local administrator.
- A zip/tar extract, ready to run (Eg. simple .exe, Java program)
- Can be installed to a Users directory
- Eclipse Plugin
- Browser Plugin/Addon (Chrome, Firefox, etc..)
- Online web or cloud SaaS
- No MSI installers
- No admin/root only installs
No other requirements.