WCF / ASMX :: Add A Web Method Existing Web Service And Consume It?
Jun 30, 2010
I added a Web Method to the existing web service. I don't see this method in my web project. I can see all the old methods but I couldn't access this method. Do I have to create proxy for this method?
I've been given the task of consuming a client's web service, and all they've given me is a XSD file. I'm a little unsure how to go about doing this, as the only other time I've consumed a web service was internally and we just pulled it in as a web reference to our project. Where do I start when all I have the XSD (below)?
CX_ST_MATCH_ELEMENT:XSLT exception.System expected element 'IOrgeh' Description: An unhandled exception occurred during the execution of the current web request. review the stack trace for more information about the error and where it originated in the code. Exception Details:System.Web.Services.Protocols.SoapException: CX_ST_MATCH_ELEMENT:XSLT exception.System expected element 'IOrgeh'Source Error:
What is the best way to create a Contract that will consume multiple database records? The database records will have 20 fields and maximun of 1000 rows.
I need to call remote web services for example [URL]. So how to do it? I watched all asp.net video about web servies but in all videos they speaking just about local web services,
I am creating a class library which will have business logic and i want to call this from SQL Server 2005 DTS. What i want to know is how to consume a WCF service from this class library project and compile it in a dll. How to deal with app.config created when servie is refered in class library? Could somebody send me a link to any article which can help me to implement the same in my current project?
I am working on WCF Data service which imported stored procedure, as below.
[WebGet] public List<GetMTSearchResultTest_Result> GettMTSearchResultTest() { MediaMarketResearch_PRODEntities ent = new MediaMarketResearch_PRODEntities(); return ent.GetMTSearchResultTest().ToList(); }
when i consuming this in my client application it says error as "The closed type MMRClient.MMRServiceReference.GetMTSearchResultTest_Result does not have a corresponding element settable property." I am getting this error while bind to the grid view as below.
DataServiceContext context = new DataServiceContext(new [URL])); IEnumerable<GetMTSearchResultTest_Result> empResult = context.Execute<GetMTSearchResultTest_Result>(new Uri [URL];
A sample web service app I have been practicing with has two web methods: 1) HelloWorld -- which I can read the data from no problem - just a string 2) ClientData[] -- which returns an array of struct objects -- this is where I have the question.
Here is my instantiation of the webservice in my winform app for reading from HelloWorld
myWebSvc1.WebService1 s1 = new myWebSvc1.WebService1(); string y = s1.HelloWorld(); //--no problems so far here Console.WriteLine(y); //--but when I add the call to GetClientData() I have a problem List<ClientData> ls = new List<ClientData>(s1.GetClientData(3)); //--problem here
public struct ClientData { public String Name; public int ID; } [WebMethod(CacheDuration = 30, Description="Returns an array of Clients.")] public ClientData[] GetClientData(int Number) { ClientData [] Clients = null; if (Number > 0 && Number <= 10) { Clients = new ClientData[Number]; for (int i = 0; i < Number; i++) { Clients[i].Name = "Client " + i.ToString(); Clients[i].ID = i; } } return Clients; }
If I browse the .asmx file -- the sample xml returns the following if I enter 3 for GetClientData function param
From my winform app I get the following error messages when trying to add the GetClientData function call above --
Error 1 The best overloaded method match for 'System.Collections.Generic.List<DSS_2008.Form7.ClientData[]>.List(System.Collections.Generic.IEnumerable<DSS_2008.Form7.ClientData[]>)' has some invalid arguments
Error 2 Argument '1': cannot convert from 'DSS_2008.myWebSvc1.ClientData[]' to 'System.Collections.Generic.IEnumerable<DSS_2008.Form7.ClientData[]>'
Error1 The best overloaded method match for 'System.Collections.Generic.List<DSS_2008.Form7.ClientData[]>.List(int)' has some invalid arguments
Error 2 Argument '1': cannot convert from 'DSS_2008.myWebSvc1.ClientData[]' to 'int'
How can I fix this so that I can read the result into my winform app? //--sample web service
namespace MyService { using System; using System.Collections; using System.Data; using System.Web; using System.Web.Services; public struct ClientData { public String Name; public int ID; } /// <summary> /// Summary description for WebService1. /// </summary> [WebService(Namespace="http://codeproject.com/webservices/", Description="This is a demonstration WebService.")] public class WebService1 : System.Web.Services.WebService { //--source of sample: http://www.codeproject.com/KB/webservices/myservice.aspx private const int CacheHelloWorldTime = 10; // seconds public WebService1() { //CODEGEN: This call is required by the ASP+ Web Services Designer InitializeComponent(); } /// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { } //WEB SERVICE EXAMPLE //The HelloWorld() example service returns the string Hello World //To build, uncomment the following lines then save and build the project //To test, right-click the Web Service's .asmx file and select View in Browser // [WebMethod(CacheDuration = CacheHelloWorldTime, Description="As simple as it gets - the ubiquitous Hello World.")] public string HelloWorld() { return "Hello World bbb"; } [WebMethod(CacheDuration = 30, Description="Returns an array of Clients.")] public ClientData[] GetClientData(int Number) { ClientData [] Clients = null; if (Number > 0 && Number <= 10) { Clients = new ClientData[Number]; for (int i = 0; i < Number; i++) { Clients[i].Name = "Client " + i.ToString(); Clients[i].ID = i; } } return Clients; } } }
I have a hardtime to consume this web service as Web Reference or Service Reference: [URL] I'm using VS2010 and when I consume it as Web Reference, I can't use its method because in the reference.cs, it has these errrors:
// CODEGEN: The operation binding 'getStationCharacteristicSummary' from namespace '[URL]was ignored. The encoding '' is not supported.
If i consume it as WCF, then each time I call the service, it complained the encoding error. May someone try to consume it and help me with this.
1. ADO.NET Data Service with Visual Studio 2008 and the .NET 3.5 SP
2. WCF Data Service using Visual Studio 2010 and they both work in IE.
I can make a Service Reference to the first one with VS2008.
The problem is when I try to use Visual Studio 2008 as a client and I try to add a Service Reference for the WCF Data Service made with Visual Studio 2010:
an Error (Details) occurred while attempting to find services at '
and the Detail is: DS_InvalidMetadataFile Parameter name: edmxDocument
the xml of the 2 services is perfectly the same (with the exception of the url in the "base" attribute in the service node)
I've been reading quite a few tutorials on web services and xml files and one thing isn't quite clear to me. If I want to create an XML file on the fly the tutorials are pretty straight forward but, I want to grab an existing XML file from the web server and return the whole thing. Do I need to read the XML file and send each individual node or is there a way to send the file all at once? The tutorials imply that the whole file could be a node but I'm not clear on what that entails or if it would work. Also do you have a link to an example?
I have a WCF service which has 4 Operation contracts.
I have added a new contract and it gets the data from database and returns the result set.
I can access the new contract and the service get the correct result set. But while passing the result set to the client I get the error of The underlying connection was closed: The connection was closed unexpectedly.
What are the steps to follow after adding a new contract like new binding etc.
I'm using a web service and I want to return a list to my client. I am nearly newby at web services and I can't return a List<String> object to my client. But when i call the method it says "Unable to cast object of type 'System.Collections.Generic.List`1[System.String]' to type 'System.String[]'" What should I do?
I'm trying to consume a web service, after adding it to my project,I can't find any method inside,all classes.objects of those classes only contains set and get.Per-method Permissions.
we need to expose a web service to the 3rd party vendor which can only call using POST protocol, NOT SOAP.So my question, is it better to build a web service or just simply .aspx page?Also is there any best practice documentation on this.
For example, we are going to consume web method GetEmployeeByQuery(ConnInfoXML, Query, RecordDetail), ConnInfoXML is login information in XML, Query is a SQL statement selecting records, RecordDetail is all records retrieved. All data are in XML format.
So how to write these parameters in XML to consume this web method and get all the information in XML, and then transfer XML to normal string format ?