Hi,
The build in FB-actions “web service” & “web service iterator” does not capture changes to a consumed web service with a push of the load button design time. The fix is to close FB, open FB and try again. Could a reload service be provided?
I took a quick look at the code, it’s generating in a client assembly on the fly for the service and then caching it per service url, so we need to figure out what the impact is of changing this. I’ve logged this for investigation.
Thank you, for looking in to this. Web services i a very productive way to extend the value of FinalBuilder. Therefore, we develop web services alongside the development of our build scripts. So a solution to this will be appreciated.
/Jesper
Hi Jesper,
Great news the latest build of FinalBuilder has the updates to the Webservice actions you requested.
http://downloads.finalbuilder.com/downloads/finalbuilder/700/FB700_3135.exe
Hi Jason,
I have just installed 7.0.0.3135 and tested reload of an altered web service. A push of the Load button, does still not reflect new or altered methods. I’ll still have to close FB and try again to retrieve new or altered methods
/Jesper
Hi Jesper,
Interesting. It worked here, there must be something I am missing. Let me reassess and get back to you. Should have something before I leave today.
Hi Jesper,
I re-ran the test I had here with a webservice I could alter on the fly. Sadly I haven’t been able to reproduce what your seeing. Currently I have a simple web service I am running in IIS Express. I compile in a method (e.g. GetClientData(int Number)) run it up and load this through FinalBuilder. While FinalBuilder is still running I bring down the web service and alter the method (e.g. GetClientData(int Number, int Number2)).
On running up the service again, and pressing the load button in FinalBuilder I now see the new method definition.
I have noted that we are not clearing a selected method which has been removed from the web service, this is something I will look at fixing now.
Would you be able to send an example web service method change which your performing. Only require a sample method definition, no actual contents. Something like the following:
“[WebMethod(CacheDuration = 30,
Description = “Returns an array of Clients.”)]
public ClientData[] GetClientData(int Number, int Number2, int Number3, int Number4)”
If you could send that to support@finalbuilder.com that would be very helpful.
Another question I have is whether there is any proxying or extra caching being performed on the methods? Note that in my example above I only have a cache of 30 seconds. This means I only return the same result for a given request during a 30 second period from the first request.
Thanks.
Hi Jason,
I have .net web service wich i publish directly from visual studio (web-deploy) .
When I tested, i added an extra very simple method:
[OperationContract]
string testReload();
implemented like:
public string testReload(){return “true”;}
I published it to ISS, and tested reload.
This had no effect. I tried several times. I even added a new web service Finalbuilder action, added the URI and loaded the service. Still no reflection of the new method.
Then i closed Finalbuilder IDE ,
reopened the Finalbuilder IDE and there it was.
there is no proxying or extra caching being performed (to my knowledge at least).
/jesper
Hi Jesper,
If you point your browser at the service do you get the newly added method?
Hi Jason,
Yes, I do get the newly added method. I’ll have to reload the page (F5), and there it is
/Jesper
Hi Jesper,
Would you be able to send an cut down example Visual Studio solution which has this issue occurring. Testing deployment here shows the webservice updating in FinalBuilder.
On a second note, just wondering how your publishing the methods to soap? From memory you have to define the two attributes;
[OperationContract]
[WebGet]
public string MyExposedMethod() { return “Hello”; }
Hi Jason,
I’ll try to fit at cut down example into the schedule Monday. But I’have just tested.
Open FB - Open web service action and point to my service - load methods (all is ok) -
while keeping FB and action open - Add new Method -> Publish to IIS - push load button on web service action (no effect) -
Wait 5 min push load button (no effect) -
Stop/start IIS - push load button. (no effect) -
Add new web service action, point to my web service (no effect) -
close FB, open FB, open action, hit load (Method is visible)
/Jesper
Hi Jason, i have sent a zipped webservide to support@finalbuilder.com att: to you. You can simply add an extra method or delete one of the existing to test the issue.
/Jesper
Hi Jesper,
Thanks for that. I have tested it here and sent you a response.
When I first tried “http://localhost:7741/WebService/Service1.svc” I was getting the same issue as yourself. Then trying “http://localhost:7741/WebService/Service1.svc?wsdl” I would get the update while FinalBuilder was running.
Let me know if that works for you.
Hi Jason,
It looks to me as if you are addressing the service to the one deployed from within visual studio. I deploy the service to my actual local IIS, and I address it like http://localhost/WebApplication1/Service1.svc?wsdl in the Finalbuilder action.
But still its is very odd.
/Jesper
Hi Jesper,
The “http://localhost:7741” is a separate website on my local IIS. Through testing a number of things I have a few test websites.
Out of interest, what version of visual studio and IIS are you using?
I will see if I can reproduce your issue further today. Sadly even with the test service I have only been able to reproduce your issue with using the service reference rather than the soap reference.
Hi Jesper,
I another updated build for you try. The build is same as the official release with a few updates for this issue.
http://downloads.finalbuilder.com/downloads/finalbuilder/700/FB700_3144.exe
Let us know how this goes for you.
Hi Jason,
I have tried your latest special build 3144, and i works like a charm. Total luxury reload, right in the eye of the action.
Thx
/Jesper
Hi Jason,
Out of curiosity, what did the trick?
/Jesper
I’m running
IIS: 7.5.7600.16385
VS: 11.0.61030.00 update 4
.NET Framework: 4.5.50938
/Jesper