Still no luck and having to manually deploy to multiple envrionments is getting tiring. I downloaded ant 1.7, set ANT_HOME appropriately, but I'm still getting the NullPointerException when I try to extract the deployment plan. My sourceDir is set to the directory the contains my ESB project and deploymentPlanFile is set to the file I want it to write.
Note, however, that my error is at getServiceWsdlURL which makes me think there's something about my project it doesn't like. All I can say is that my project registers fine through both JDev and through this tool.
If it helps, I've discovered it seems to tied to a service that reads from a JMS queue. I took that out of my project and then the extract worked. Furthermore, I created a new empty ESB project and put in just a JMS Inbound Adapter and it started failing with the same stack trace.
It's a good point, you do need to be able to reference libraries etc from SOA Suite, which infers that you have a SOA Suite install on your PC.
It could be that the ideal situation is that all the developers update a source control system and someone keeps a build script upto date. Then all the code could be migrated to the server and loaded from there.
It does seem a bit of a faff though. I've coped by copying the SOA Suite directory from an install to a portable drive where JDev, all my code and ant scripts live. Now I can move this to any PC and develop and deploy. Seems to work!
By the way, do you live in Wellington and did I work with you on an Interconnect project 4 years ago? Just a thought!!
Hi guys. You don't need the complete SOA suite on the client PC. Just JDev, ANT and the custom tasks referenced in this thread.
I thought I had a great solution to my NullPointerException. I decided to remove the offending JMS service, extract a deployment profile for what remained, then hand code in the <serviceDeploymentPlan> tag for the remaining service. It would have almost worked, but when I try to deploy the suitecase I get the identical NullPointerException at getServiceWsdlURL. I'm dead in the water here without some help from the creator of these tasks, so any help would be greatly appreciated!
I discovered that the exception was coming from the tool's attempt to read the following XML fragment from the service's .esbsvc file:
The problem is....that does NOT exist in an inbound JMS adapter service. Instead that service has the URL stored in this fragment
I was able to modify my esbsvc file to put the wsdlURL under <serviceDefinition> and the deployment tool started working perfectly!
I'm assuming at this point that this is a bug in the deployment tool that would only show up with this type of adapter...but I'm going on what little information I have right now. If Doug Gschwind could confirm and post a fix, that would be awesome!
Looks like you are doing good work Richard. Its big help for those that are struggling with this stuff.
I have fianlly managed to get this working but I think I may be missing something or I'm missing the point of this code.
I was hopeing that this code would chnage the WSDL locations for web services, such as BPEL. The only locations that are chnaged (as far as I can see) is the WSDL location of the ESB services. Obviously you can manually chnage the delopment plan, but this will potentially change every time you make a change to the service.
Also is there a way to use this tool for BPEL processes?
Hi Chris. I'll have to answer your first question tomorrow - I'm not in my office today. As for the XML, I just added another <wsdlURL> tag to the XML in the proper place and left everything else there because I wasn't sure if it was needed or not. The important one seems to be service/serviceDefinition/wsdlURL.