WCF / ASMX :: Dynamic Add Service Reference In Vs2010
Mar 22, 2011
I have created WCF Application in vs2010 and using it in window application . i have added WCF service reference using "Add Web service Reference" from visual stuio. i want to do it by programming.
How to create an instance of web service without adding web service reference? How to identify the server address/name where the web service is hosted from C# code?
I have a UI that communicates with a service. I made some changes to the service- added some code and a property in the Interface associated with the service. After I made the changes, I updated the service reference in my UI and I couldn't access my newly added property. I also tried deleting the reference and adding in back again, it still doesn't work. I get the following error:
xxxxxxx(filename) does not contain a definition for xxxx(propertyname) and no extension method accepting a first arguement of type xxxxx could be found(are you missing a using directive or an assembly reference?)
When I look in the Reference.cs file, I don't see the newly added property in it.
I have web project and class projects. one of the Class project has web reference. and i am consuming it in web project.Question: can I change class projects web reference url depending on environment DEV, Release, Test?Question: While in runtime why does not web reference's url take value from app.config?(it is taking value from Settings.settings.)
Thing is, when my service is providing result of type string my client .aspx page is working fine and it gives reference in my code. But now I changed my service to provide custom data type and I can't see service reference in my code, intellisense doesn't offer it at all. What am I missing here? WCFTestClient.exe is giving good results but I can't create my own in VS 2008
I am having a strange issue in my C# Console Application:
Name Space: WcfConsoleApp Main Class: Program.cs Name Space: WcfConsoleApp.ServiceReference this namespace contains the WCF service reference
After building the project, the Program.exe avaliable in Debug folder is executing fine as expected.But when i move the exe to Client, where i need to actually run this exe, it works fine up to the line where i am referencing the Service, the line is:
WcfConsoleApp.ServiceReference.ServiceClient service = new WcfConsoleApp.ServiceReference.ServiceClient();
the consoel app crashes on the client machine at this line. (i know this because before this line, i display some mesage on the console)the same .exe and works fine at my development machine.I am sure it has to do some thing with reference path, i think the program is not getting to the path where service reference is avaliable. I have copied the full project folder as it is to the client, but still its is not working.
using the VS(2008) Data configuration wizard, and it found the web service and displayed various items from the service. I want to make a simple call to this web service (mainly to learn how to do it). Here is some sample code I found, but I just don't know how to implement it.
I named my web service reference LiveSearchService. What code do I need to implement, what libraries, to retrieve any information from this web service?
I have an ASMX web service which, in turn, creates a Service Reference which ultimately calls a third party web service. So, in essence, my ASMX is acting as a proxy to the thrid party service. This works fine on my development box.When I deploy to a target server and call my ASMX web service, it fails with an object instance not set error. On closer inspection, it looks as if the failure is in the line of code which creates an instance of the Service Reference - DIM XXX as new ServiceReference.I'm guessing that something has gone missing in the deployment, but can't see what.
I have a webservice - called MyCompany.WebService1
I reference this using a web reference in my ASP.net web application.
Theres a method called "GetDeal" in this web service, that returns a "Deal" Object.
The deal object currently looks (for example) like this:
[code]....
This class is in a different assembly: MyCompany.Model
The web service references this assembly.
In my web app, I can call the GetDeal method. This returns Service1.Deal (service1 is just the name of the web reference)
I can access both properties above. I have now changed the Deal class, and added a couple more properties.
However, I can't see these new properties in my web application. I've updated the web service in the web application. I rebuilt the web service several times, tried removing the MyCompany.Model reference and re-addding it etc...
I can't figure out what has changed... This was working - I have changed the model before, and it's updated the reference correctly...
I am adding a reference of class library in web service in VS2008 and it is not copying the .config file from class library to web service. I have checked the property "Copy to output directory" of .config file and its value is "Copy Always".
when svc.getLookupList(reqobj) will call i get following error.
"There was no endpoint listening at http://rets.newjerseymls.com/rets that could accept the message. This is often caused by an incorrect address or SOAP action."
but when I tried to add the service reference to the silverlight app, the Add Service Reference window would show me that there was a service file, but the node wouldn't expand to show the rest of the files that contain the services and what not. I got this error instead:
"An error occurred during the processing of a configuration file required to service this request. review the specific error details below and modify your configuration file appropriately."
"Parser Error Message:There is no service behavior named 'AdventureWorks_WebServer.Service1Behavior'."
"Metadata contains a reference that cannot be resolved: 'http://localhost:55579/Service1.svc'.
The server did not provide a meaningful reply; this might be caused by a contract mismatch, a premature session shutdown or an internal server error.
If the service is defined in the current solution, try building the solution and adding the service reference again."
we have an existing ASP.net application that is undergoing expansion. The new functionality is all written in Silverlight 4. As part of that expansion I gutted all the old Linq to SQL and put Entity Framework 4 into place. To do this I created a standard .net Class Library and added my edmx files there. Naturally, the business entities created by this cannot be used in Silverlight. So I created a Silverlight Class Library and added all the business entities to that Silverlight Class Library as linked files. I changed the name space to be the same.
So I have the following assembly / namespaces
Company.Project.Dal.csproj / Company.Project.Entities (.net 4 class library)
Company.Project.Entities.csproj / Company.Project.Entities (SL4 class library)
With this architecture I was able to share my business entities with my SL enabled web services, my asp.net projects, my silverlight projects. Really it's a beautiful thing.
Once this was done I added "message" classes to Company.Project.Dal and again shared them with the other entites using linked files. These messages are things like MyObjectRequest; they are classes that have properties that can set to the ID of the record in the database you want to get, a search string for filtering by last name, first name, etc. (This is in the style of the Web Service Factory if you're familiar with that.)
Finally I turned the whole message into a generic using a base class called EntityRequest
[code]...
I corrected this error and everything went well for a week until I had to make my first change to the service interface. I added a new operation contract, clicked the handy Update Service Reference on my client and boom.
3) Finally adding the reference of service contract project in a Hosting project (Console Application) with complete configurations.
I am adding one more windows app project as a client.When i am trying to add the service reference using the address "http://localhost:8000/Tasks", VS 2008 displays the below error.
There was an error downloading 'http://localhost:8000/Tasks'.
Unable to connect to the remote server
No connection could be made because the target machine actively refused it 127.0.0.1:8000
Metadata contains a reference that cannot be resolved: 'http://localhost:8000/Tasks'.
Could not connect to http://localhost:8000/Tasks. TCP error code 10061: No connection could be made because the target machine actively refused it 127.0.0.1:8000.
Unable to connect to the remote server
No connection could be made because the target machine actively refused it 127.0.0.1:8000
If the service is defined in the current solution, try building the solution and adding the service reference again.
when i am adding service reference the Following erro shows Up..where as the same works on the Other machine. The url when tested in Internet explorer works but only while adding shows the error. The request failed with HTTP status 403: Forbidden. The HTTP request was forbidden with client authentication scheme 'Anonymous'.
I could really use some help on this one. I've been fighting it now for several days and we are supposed to start testing early next week.I am subscribing to 4 web services all hosted by the same company. The integration with 1, 2 and 3 all went fine, but on the fourth I keep getting the very unhelpful error:
System.Web.Services.Protocols.SoapException = {"Server was unable to process request. ---> Object reference not set to an instance of an object."} [code]...
am also using the console application as a web service client... I was unable to have the URL property until I followed ur steps given (Add web reference thro Advance)...
but I am stuck in the next step, I got the url property but I am not getting the property "ConfigurationManager" to change the url..
public dynamic GetReferenceTableData(string tableName) { try { dynamic tableData = ReferenceTableDAL.GetReferenceTableData(tableName); return tableData; } catch (Exception ex) { throw; } } method at DAL(ReferenceTableDAL): public static dynamic GetReferenceTableData(string tableName) { Database db = DatabaseFactory.CreateDatabase(Flags.ConnectionStringKey); DbCommand dbCommand = db.GetStoredProcCommand("USP_GETTABLEDATA"); dynamic objDynamic = null; if (tableName.ToLower() == "a") { objDynamic = new List<A>(); } else if (tableName.ToLower() == "b") { objDynamic = new List<B>(); } else if (tableName.ToLower() == "c") { objDynamic = new List<C>(); } try { db.DiscoverParameters(dbCommand); dbCommand.Parameters["IN_TABLENAME"].Value = tableName; DataSet dsTableData = db.ExecuteDataSet(dbCommand); if (tableName.ToLower() == "a") { foreach (DataRow dataRow in dsTableData.Tables[0].Rows) { objDynamic.Add((A)dataRow); } } else if (tableName.ToLower() == "b") { foreach (DataRow dataRow in dsTableData.Tables[0].Rows) { objDynamic.Add((B)dataRow); } } else if (tableName.ToLower() == "c") { foreach (DataRow dataRow in dsTableData.Tables[0].Rows) { objDynamic.Add((C)dataRow); } } } catch (Exception ex) { throw; } return objDynamic; } @ Aspx try { using (DataServiceRef.DataServiceClient petService = new DataServiceRef.DataServiceClient()) { dynamic tableData = petService.GetReferenceTableData(tableName); //tableData is null ,exception } } catch (Exception ex) { throw; }
There is no exception at dal or service end when i debug list gets filled ok but when returns to aspx error at aspx(no exception gets caught at @ service) but exception at aspx i.e:
Message:The underlying connection was closed: The connection was closed unexpectedly. Stack Trace: at System.Net.HttpWebRequest.GetResponse() at System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)
Both VS200 and IIS are in my local machine. Suppose they have the same permission. I create a silverlight4 w/ wcf ria service project. The project runs well in VS2010 built-in ASP.Net development server. It doesn't work well after i publish it to IIS. I only can see its static content but not the .svc. i try to browse the .svc, it always show HTTP 500 error. I doubt if i do not open the asp.net runtime setting sth in IIS?
I have built a WCF Service that is being consumed by a Silverlight app. At first I created one method that was very simple:
public String SfTest() { return "SF Test"; }
No poblem. My silverlight app references my service and displays "SF Test" in a textbox. Now I add a method to my wcf service like this:
public List<String> GetTest() { List<String> list = new List<string>(); String a = "a"; list.Add(a); String b = "b"; list.Add(b); return list; }
I update the reference to the service in my Silverlight app and the using statement in my xaml cs page throws an error like the service doesn't even exist although it is there. I am assuming the problem has to do with datatypes or serialization or something like that but it is driving me up the wall. Why can't I consume a simple generic list in my Silverlight app through the WCF service.