Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Creating Non-Referenced Web Services
Message
 
À
03/01/2005 08:24:02
Information générale
Forum:
ASP.NET
Catégorie:
Web Services
Divers
Thread ID:
00973480
Message ID:
00974215
Vues:
31
WSE2 has the ability to call a Web Service without a class, but I think it still requires the WSDL contract.

WSDL is part of a Web Service these days and a Web Service without WSDL is basically a class without an interface (schema in this case), which makes consumption difficult. Since we're living in a world of XML Schemas, WSDL is that contract and most Web Service tools require it.

WSE2 might have the stuff to call the service directly - I think there are a low level classes to create hte SOAP envelope. In fact, those classes exist in the .NET fraemwork too. But it's manual work that wouldn't be necessary if a WSDL definition existed...

That's really the point of hte WSDL in the first place <g>...

+++ Rick ---

>Rick,
>
>Thanks for the ideas. Apparently, Axis/Apache/Eclipse does not generate a thorough WSDL as my colleague here indicates:
>
>If needed I can write WSDL for that service by hand but the auto-generated WSDL isn't smart enough to know that there are header requirements or that the service returns a MIME attachment. As you might be able to see from the sample client I sent I didn't use any of the make-me-a-class-out-of-wsdl stuff. Axis CAN do it so I'm sure .net can too... it was faster for me to just setup the call myself.
>
>These guys are pretty adept programmers, though like myself, not very familiar with the initimate workings of web services.
>
>He sent me the code that they use to test it in Java, and it's surprisingly easy - no WSDL required.
>
>Fortunately the guy I'm working with on this project is proficient in Eclipse, so I think that the easiest route out of this for now is to just write the client in Eclipse. We've got it (our current version which does not use a web service) set up to run as a scheduled task, and all it does is dump the XML in a folder which is later read by another task and added to the database, so no integration with our existing system is needed.
>
>I had been warned about these cross platform web service implementations. I'm honestly quite surprised that Axis doesn't automatically generate a thorough WSDL. I'm also surprised that .Net doesn't provide the same level of detailed access to the SOAP envelope to write a web service client in code, like Eclipse does.
>
>I'll check out those references you sent, though, before I make the Eclipse plunge.
>
>Thanks again for your help!
>
>David
>
>>There are a couple of things you can do.
>>
>>WSE2 includes the ability to call Web Services dynamically without a proxy object. However, I think it still needs a WSDL file, so I'm not sure if that'll work.
>>
>>Christian Weyer and friends also have a tool for dynamically calling Web Services DynWSLib 1.5 but I think it too requires WSDL. There maybe routines though for directly activating an endpoint.
>>
>>http://www.thinktecture.com/Resources/Software/default.html
>>
>>I haven't used either of these tools but I've been thinking about this for a while.
>>
>>Honestly though, this is a broken implmentation. If there's no WSDL it's not really a Web Service <g> and you're getting sold short.
>>
>>If worse comes to worse you can always just fire off the XML you need manually and use code to gen the XML. Given that there is no service description this sort of makes sense.
>>
>>+++ Rick ---
>>
>>
>>>A company I'm working with created a web service to access their data. They did not create a complete WSDL (they're using Eclipse and Apache), though, and they apparently don't intend to. The result is that when I add the web service to the .Net project, not all the necessary pieces are accesible in code.
>>>
>>>In particular, I need to pass data through the SOAP message header, and apparently, since the header is not described, it's not accessible (see my other post).
>>>
>>>.Net is not giving me access to the header when I add a reference to it.
>>>
>>>I believe that if I create the web service client using the .Net framework classes rather than as a reference to the project, that I can get around this by manually creating the SOAP header. I can't figure out which classes to use, though. I see references in the documentation, but every example I find relies on adding the web service as a project reference.
>>>
>>>Any thoughts or ideas on where to look would be greatly appreciated!
>>>
>>>My alternative is to create the code in Java using Eclipse, because I have sample working Java code. Eclipse ain't my thing, though, so I'd love to keep it in .Net.
>>>
>>>Thanks,
>>>
>>>David
+++ Rick ---

West Wind Technologies
Maui, Hawaii

west-wind.com/
West Wind Message Board
Rick's Web Log
Markdown Monster
---
Making waves on the Web

Where do you want to surf today?
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform