This week's book giveaways are in the Scala and Android forums.
We're giving away four copies each of Machine Learning Systems: Designs that scale and Xamarin in Action: Creating native cross-platform mobile apps and have the authors on-line!
See this thread and this one for details.
Win a copy of Machine Learning Systems: Designs that scale this week in the Scala forum
or Xamarin in Action: Creating native cross-platform mobile apps in the Android forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic

Automated SOAP Proxy JAR files  RSS feed

Posts: 22
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
My Application
- - - - - - - - - - - - - - - - - - - -
I work on a large web site which has back-end webservices accessible via a SOAP interface. Currently to generate a client, I use Axis to generate the client .java files (using the WSDL as input) and I compile them into a JAR file. In a client application one would create the request bean objects to send into the WebServicesGateway, and then process the response beans accordingly. Note that at any one time we would normally have 2 to 3 different versions of the WSDL depending on how many releases we have in development.

My Objective
- - - - - - - - - - - - - - - - - - - - -
Currently i find myself having to create these client JAR files a lot, and uploading them into my java test client (a web app) for my automated test scripts (i developed this tool which can generically test any JAR file).

What I'd like to be able to do is to update by java test client to be able to automate the JAR file creation - so that instead of being handed a JAR file to test (and then showing the generated forms), it will be handed the WSDL file.

I know there are some testing tools out there (even some that are free) which take a WSDL file, and then present you with a generic test client to test the interface. However, I would like to keep with the same theme of using an autogenerated JAR file (by either Axis or Websphere) to communicate to the SOAP layer.

Possible Solution
- - - - - - - - - - - - - - - - - - - -
I figured I could put the Axis.jar file (and other required jar files) into the classpath of my web application, then invoke the Wsdl2Java class to generate the .java files - then somehow compile the .java files into .class files and compress into a JAR file. I could then create a URLClassLoader to enclose this generated JAR file to display the test client.

My Problem
- - - - - - - - - - - - - - - - - -
Currently this involves compiling .java files, but aside from using the Runtime.exec() method to execute the javac.exe to compile the .java files, i don't know of any other way to compile java files. I have 2 issues with using Runtime.exec()

1) My web page could be deployed in any one of several Operating systems (windows/unix/linux) and web servers (Tomcat/websphere) and thus the precise location of a compatible 'javac.exe' may be unknown.

2) According to my 'Best practices' mandates, I'm not (strictly speaking) allowed to invoke a java process on the Operating systems in the shared hosting environments which the tool will be deployed to.

My Question
- - - - - - - - - - - - - - - - - - - -
1) Is this a stupid/crazy idea - and maybe there's something much better that I could do which would accomplish the same thing?

2) Does anyone know how I can compile .java files into .class files from inside a Java program without directly invoking javac.exe via Runtime.exec()?
Time is mother nature's way of keeping everything from happening at once. And this is a tiny ad:
Rocket Oven Kickstarter - from the trailboss
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!