WSDL settings problem when production server in DMZ

5
I need to edit the locations of the WSDL's of webservices in a DTAP environment. The acceptance environment uses a different WSDL than the production environment. Setting the WSDL for production means opening the project on a development server, editing the WSDL-locations and saving the project. The problem is that the production servers are placed in a DMZ, and a firewall is prohibiting me to fetch the production-WSDL from a development server which is not in the DMZ. Therefore the WSDL can not be changed to the WSDL used in the production environment. The only way to set the correct WSDL in the project is to open the project on the production server. This is not an acceptable solution. Is there any other way to set the WSDL? Can I prevent the Modeller from trying to retrieve the WSDL? Can I manually upload the WSDL and set the URL? BTW: upgrading to a newer version of the modeller is not an option. Thanks for any help.
asked
2 answers
5

Why exactly would the WSDL's be different? If you mean they use different locations you can use constant to specify where the server is located. This way you can have your development application using all the development webservices and on production you can enter the constants in your application.conf so that it uses the production servers. You can also do this with usernames and passwords.

Though this does mean that the WSDL has to be the same, just pointing to different servers.

The WSDL is only used to download what the different webservices do and require. Once you have this you can use the Location Constant in your imported webservice to point it to a different server that uses that same WSDL to actually call the webservices.

answered
3

What exactly changes in your wsdl or what do you want to change for both environments? Because all url's, usernames and passwords can be configured in the modeler and in the application.conf as well.
So anything I can think of is configurable. Like Robert says imported webservice url's can be configured using constants. Just define a constant which you set with the url for your development/test webservice then you have to configure a constant in the application.conf of your production server something like this:

The name of the constant in the modeler is:   WSURL_webserviceHolidayCheck
This is line should be added to the application.conf
Constant_WSURL_webserviceHolidayCheck = http://www.27seconds.com/Holidays/US/Dates/USHolidayDates.asmx

Furthermore you can change the url that is shown in the wsdl as location for the port bindings. That url should be the url where your client applications can call the webservice (without the /ws/wsdl stuff) This property should already be in your application.conf

 ApplicationRootUrl = http://my.first.application.com/
answered