|
web
newsgroups
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
Web service - business objects don't show up[WebService(Namespace="http://blah.com")] public class ServiceThingy: System.Web.Services.WebService { [WebMethod] public int ReturnFour() { return 4; } } I create another class other than this, like so: class BusinessObject { public string doBusiness() { return "Did business. It was nice."; } } I compile. I make a new Console application project. I add a Web Reference to this service asmx in my new console application project. When I do this: localhost. I expect the BusinessObject class also to show up, but it doesn't. The main service class shows up, though. Now, earlier on, only a few days ago, I developed a huge Web Service app with a lot of business objects and all the business object/classes showed up in the client. What's the deal here? Am I missing something obvious? Yes.
Notice that the ReturnFour method is attributed with [WebMethod], and that the doBusiness method is not. Peter -- Show quoteHide quoteCo-founder, Eggheadcafe.com developer portal: http://www.eggheadcafe.com UnBlog: http://petesbloggerama.blogspot.com "Water Cooler v2" wrote: > I create a test Web service like so: > > [WebService(Namespace="http://blah.com")] > public class ServiceThingy: System.Web.Services.WebService > { > [WebMethod] > public int ReturnFour() > { > return 4; > } > } > > > I create another class other than this, like so: > > class BusinessObject > { > public string doBusiness() > { > return "Did business. It was nice."; > } > } > > > I compile. > I make a new Console application project. > I add a Web Reference to this service asmx in my new console > application project. > When I do this: > > localhost. > > I expect the BusinessObject class also to show up, but it doesn't. The > main service class shows up, though. > > Now, earlier on, only a few days ago, I developed a huge Web Service > app with a lot of business objects and all the business object/classes > showed up in the client. What's the deal here? Am I missing something > obvious? > > The ASMX runtime will add all types exposed in your webmethod to the
WSDL (and thus, in turn, to your client projects when you add web reference). In this case your WebMethod exposes only an int. To prove the point create another WebMethod that returns an instance of your BusinessObject.... However, the process by which objects enter and leave a Web Service is XmlSerialization - and this is capable of serializing data only - so your doBusiness() method wouldn't be visible. It's important to get a grip on all this before venturing too far with Web Services - so I recommend you read this: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwebsrv/html/howwebmeth.asp, in particular the section on Mapping XML to Objects. Good Luck Josh http://www.thejoyofcode.com/
View Source from WebBrowser (2005)
Upgrading VB6 to .Net OO & Interface question Please help with an 'impossible' error! Help authoring tool for Windows app? function to convert string to 1 dimensional array of long Getting primary key from new record instered into one table using ADO.net IIF in vb.net acts weird.. or is it me Using the && operator in generated JavaScript FTP with SSH |
|||||||||||||||||||||||