Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Creating Non-Referenced Web Services
Message
De
04/01/2005 22:50:01
 
Information générale
Forum:
ASP.NET
Catégorie:
Web Services
Divers
Thread ID:
00973480
Message ID:
00974278
Vues:
23
Thanks, Rick. This has all been an educational experience for me, and I appreciate your insights. Until now, referencing the web service in .Net the project was all I ever needed to think about.

My colleague at the company creating this web service has told me that as far as he knows, the WSDL has not been totally standardized. He said that the soap header description is standard, and it would be easy for him to add it to the WSDL (why doesn't Eclipse/Axis create it for him, I wonder?).

He told me, though, that no standard has yet been formalized for returning files. In this case, we are going to be receiving a MIME encoded XML file. According to him, Microsoft has created DIME, but he has had trouble creating a DIME format. We haven't gotten there yet, but this has me concerned that we won't be able to set up .Net to receive the file (another reason we've gone ahead with the Eclipse implementation).

Do you know anything about this? Is it true that the WSDL standard has not yet been thoroughly completed? If so, this would seem to me to be at least a temporary impediment to the promised cross platform compatibility of web services, as I have started to experience. This is my first experience with non-MS web service technology, so I have no idea how prevelant the problem is (if my contact is indeed correct about parts of WSDL not yet being standardized).

At any rate, thanks again for your help.

FYI - I eagerly await any response, but starting in an hour, I'm inaccessible to email for the next week (woohoo!) to thank you, so thanks in advance!

David

>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
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform