web services question
-
(I'm having to do some crazy stuff with web services, so bear with me.) Does anyone know if it's safe to assume that there exists one and exactly one WSDL file for each web service that I could possibly want to consume? And, if so, is there some sort of reference on w3.org (or some other standards organization) that proves it?
-
(I'm having to do some crazy stuff with web services, so bear with me.) Does anyone know if it's safe to assume that there exists one and exactly one WSDL file for each web service that I could possibly want to consume? And, if so, is there some sort of reference on w3.org (or some other standards organization) that proves it?
-
no not really. what you describe is what you'll usually find but it is actually possible to have more than one service within one wsdl file!
Yeah, I was afraid of that. Based on the spec at http://www.w3.org/TR/wsdl#\_Toc492291092, it seems like I can't safely make that assumption. Have you ever had to deal with the case of some web service provider putting more than one service into the same WSDL file? There's a lot that a provider can do (while still following the specs) to make the consumer's job a nightmare, but so far, I haven't had to deal with it yet.
-
Yeah, I was afraid of that. Based on the spec at http://www.w3.org/TR/wsdl#\_Toc492291092, it seems like I can't safely make that assumption. Have you ever had to deal with the case of some web service provider putting more than one service into the same WSDL file? There's a lot that a provider can do (while still following the specs) to make the consumer's job a nightmare, but so far, I haven't had to deal with it yet.
Well yeah I had to deal with that several times but never had a problem with that.. Look at that simple code written in vbscript
Dim SoapClient Set SoapClient = CreateObject("MSSOAP.SoapClient") Call SoapClient.mssoapinit("http://127.0.0.1/bla?wsdl", "WebService", "SimpleWebServiceSoapPort")
there you can see that even when you use MSSOAP you're able to pass the name of the service, so no big deal unless you're using a client library that doesn't support passing the name of the service... I have worked with a lot of different soap clients and never seen one that doesn't allow me to pass the servicename... Where exactly do you see the problem? -
Well yeah I had to deal with that several times but never had a problem with that.. Look at that simple code written in vbscript
Dim SoapClient Set SoapClient = CreateObject("MSSOAP.SoapClient") Call SoapClient.mssoapinit("http://127.0.0.1/bla?wsdl", "WebService", "SimpleWebServiceSoapPort")
there you can see that even when you use MSSOAP you're able to pass the name of the service, so no big deal unless you're using a client library that doesn't support passing the name of the service... I have worked with a lot of different soap clients and never seen one that doesn't allow me to pass the servicename... Where exactly do you see the problem?I'm working on a .NET front end to an ancient legacy back end, and I'm having to automatically generate legacy data structures based on the WSDL file. It's kind of like me having to write a utility like Microsoft's WSDL.exe for an archaic system with no support for 64-bit numbers and very limited support for any sort of floating point numbers so that semi-technical business analyst users of the system can easily consume web services without using .NET (or any other modern, convenient tool) in a way that looks and feels easier than right-clicking on "references" and clicking "Add web reference". There's a large list of things that are likely to go wrong, and I'm working on a solution that will get things done and make everyone involved happy.