How would I go about generating Visual Basic 6 Proxy dll/tlb from a WSDL file?
Similar to the WSDL2Java for java, but for Visual Basic.
You could generate a Web Service client proxy using one of the tools available in .NET, either through Visual Studio or one of the command-line programs (wsdl.exe when using ASMX or svcutil.exe when using WCF) and make the resulting class and its containing assembly available to COM.
If you want a VB6 native solution, I believe your best choice is using the SOAP Toolkit.
Also, see this related question on SO:
What is the best way to consume a web service from VB6?
Related
Is there a way I can access the Exchange Mails/Calendars/Addressbook without .NET or non cross platform thing? I want to access them with C++ but on both MS and Linux. Their docs says it is possible but there is no any non C#/.Net example.
EWS combines the functionality that is included in WebDAV and CDOEX, and provides logic that makes common scenarios such as calendaring workflows easy to implement. EWS is a SOAP-based XML Web service that can be accessed remotely from any operating system and any language that can send requests over HTTPS.
Please share with me if there is any way or I'm missing something!
Thanks!
I agree that there are few examples outside the C# / Powershell realm. That being said, if you stick to plain EWS, it should be possible. I have no idea the WebServce access from C++ is anything similar to C#. In C# you point Visual Studio (or wsdl.exe) to the WSDL of the WebService and it will create a set of proxy classes which do all the SOAP handling.
If you don't have something similar with C++ you'll need to build the SOAP requests yourself.
See http://msdn.microsoft.com/en-us/library/bb204119(v=exchg.140).aspx for a reference to the EWS operations and XML elements.
One thing you might want to utilize is the EWS Managed API. It has a nice tracing feature which dumps all the requests/responses to the console. So, you can write up a small test program and see what the request has to look like. This could help you building the EWS requests on the C++ side.
I plan to start developing web-service client using Delphi XE. It looks like creating web-service client on delphi is easy to do.
Is there any bugs or problems when creating WebService on Delphi XE?
Is there any problems with other versions of Delphi (not XE) ?
(To create web-service i plan using WSDL-importer dialog)
Please, place Delphi version, you used to create web-service in answer.
I have created several webservice-clients in Delphi, all by using the wsdl. I have not encountered any problems so far. I have encountered some small problems, but nothin that couldn't be resolved with Google or Stackoverflow :-)
It depends. To answer your last question first, later versions of Delphi are better at generating a Web service client than earlier versions.
As for your first question. I have also created a number of Web service clients (and servers) using various versions of Delphi (most recently, Delphi 2007 and Delphi XE, though I also used Delphi 6, Delphi 7, and Delphi 2005). When the Web service methods use simple data types in its method parameters and return values (strings and integers), Delphi often does a good job of generating the client code using the WSDL importer. When complex data types are involved (objects, for example), it might be more challanging. For example, if the Web service uses complex types, and the WSDL is the only source of information about those types (you did not create the Web service, there is no documentation, or you cannot get the source code to it), it might take more work. It really depends on how complex the complex type is.
Additionally, if the Web service employs additional features such as authentication or other specialized headers, you will have to manually modify the code created by the WSDL importer. However, as birger noted, most of these issues can be resolved with research.
On the other hand, if the Web service was created in Delphi, it is usually very easy to create the Web service client.
I want to test fairly simple wsdls (with basic ws-security support) from inside eclipse- the main aim is to invoke webservices and capture the output for use in other supporting tooling. Performance/load testing is not a use case. I want to know how the Eclipse WTP webservice explorer compares with soapui. Questions: will the wtp tool serve my purpose? is soapui overkill?
I need to create a service on windows using Visual C++ 6.0 .
I am not familier with services so I read in the msdn site.
Can someone send me likns to agood sites explaining (with example) how to create service using Visual C++ 6.0 (prefer with examples) ?
You can use ATL to build a service in VC6. Try the ATL wizard, and let it generate the service stub for you, then you can flesh it out with proper functionality.
That said, the ATL framework's service support isn't great (at least wasn't in VC6), and will give you a service that's tailored to exposing COM objects.
There's a great book on services, called Professional NT Services:
http://www.amazon.com/Professional-NT-Services-Kevin-Miller/dp/1861001304/ref=pd_sim_b_3
See if you can get it used.
How can I build a stand-alone SOAP-based Web Services using Delphi? Must work with Delphi 2009, but it'd be nice if it worked with older ones too.
The built-in WebBroker Web Services creates CGI or ISAPI. It would be nice to create a stand-alone executable that I can control from bottom to top, especially during development.
RemObjects SDK for Delphi (RO/Delphi).
Different messaging formats are
provided, including our own highly
efficient binary BinMessage format, as
well as support for SOAP, XML-RPC and
- new - JSON encoding, in case you want to make your servers accessible
to clients not using RO, or write
clients to access Web Services
provided by others.
Dave Nottage wrote Building a stand-alone Web service with Indy (source code).
This article explains how to fit Indy
into Delphi 6's Web services (SOAP)
support.
According to the comment on the page, it works with Delphi 2009 with some modification.
Edit: People in Indy 10 and IdHTTPWebBrokerBridge with CBuilder 2009 posted modified version. For example, IdHTTPWebBrokerBridge.pas is by Jochanan van der Niet.
It should be possible to build a web service with VCL for the Web (formerly: Intraweb). It has an option of creating a standalone executable that contains both: web server and web application
In D7 I used IdHTTPWebBrokerBridge (Indy 9). But i don't know if it is still available in D2009.
There are a series of SOAP articles on Dr. Bob's website and specifically there is RAD Studio 2007 XML, SOAP and Web Services Development manual, but it's 99 Euro.
Something I used in the past was idRunner which is an extension to the indy library and it allows you to develop ISAPI dll's which your application then runs. The advantage of this approach, is you can deploy a standalone application to run your soap service, that can easily be deployed via IIS at a later date.
For debugging, I strongly suggest the idDebugger on the same page. It makes debugging ISAPI applications very easy.
Here is a step-by-step solution "Delphi 7 Indy Standalone Web Services/SOAP Server" which looks like it can be useful for Delphi 2009 too:
http://www.digicoast.com/delphi_soap_standalone.html
Update:
this solutions uses IdHTTPWebBrokerBridge, it can be used in Delphi 2009 with minor changes.