How to Consume a SOAP Web Service in VB6? - vb6

I want to consume a file which is wsdl with VB6 , anyone can help me? Or how can I convert wsdl to proxy class ?

You can look at either Microsoft's SOAP Toolkit or PocketSOAP. Might be best to look at both, but don't despair over the learning curve. Both offer simple approaches for simple situations as well as complex solutions for more complex ones.

First, you have a problem with terminology: you do not want to consume the file. The file is a description of a web service. It is the web service that you want to consume. The WSDL gives you all the information you need to consume it.
There are methods to consume a web service in VB6. In the same way you shouldn't be using VB6, you shouldn't be using any of these methods.
You should use VB.NET to create a small COM component. This component will consume the service by using "Add Service Reference" to create proxy classes. You will be able to use modern tools and techniques to develop and debug this component.
You can then consume the COM component from VB6, just like any other COM component.

Basicly you can use the SOAP moniker like this
Set oProxy = GetObject("soap:wsdl=http://server/folder/service.wsdl")
oProxy.Method "Param1"
You can check out the answers to What is the best way to consume a web service from VB6?

Related

Expose as OData API by relay the SOAP call?

Having a legacy on prem SOAP API, need to expose it to the vendor to call in, however, vendor preferred API in oData feed. Newbie in odata myself, not sure how would it work and if it at all possible. My thought is to write an API tier translating the odata call to a SOAP call? thoughts?
This is a very similar question to here: Is it possible to query a soap endpoint via odata?
Here is the answer I gave for that question:
You could create an OData wrapper around a SOAP endpoint but I don't
think that it is worth it.
The OData service would allow filtering, ordering and selecting by all
of the properties (amongst other things) and the SOAP service may not
allow all of this so your OData service would probably have to go and
get all of the data and then post process it which loses the main
benefit of OData in that you can do all of the filtering and sorting
on the server side. You may as well just get the data client side and
filter it there.
If your SOAP service somehow does have all of this support then yes,
you could write an OData wrapper for it and get these benefits but it
would still be a lot of work to convert all of the different possible
queries into something that your SOAP service can handle.
I don't know your reasons for wanting an OData wrapper but it seems
like this might be a lot of work for minimal benefit but it all
depends on your use case.
I think that this is a very similar case here, writing an OData wrapper for this would be lot of work and wouldn't give many benefits. If you are using entity framework/web.api then it might not be too much work to do to write a new OData service to expose the functionality that they need and there are a lot of tutorials around (like this) that should help get you started but otherwise, it might be worth seeing whether they can consume your existing services or something similar!

Workday service proxied through wso2 esb

I was wondering if anyone else has found a relatively easy way of proxying a workday service to limit the operations to one or two operations. Our Workday service we want to proxy has almost 200 operations in it and the WSDL is over 52,000 lines. We would like to use ESB as a hub for our enterprise web services, but have not found an easy way to expose one or two operations, as we don't want to expose the world to everyone at this point. Manually trying to trim a 52,000 line wsdl down to under 100 lines is a little daunting if it needs to be done for a couple dozen services and the wsdl is updated at least twice a year.
Has anyone had similar experiences or suggestions on tools that may be able to help create a custom wsdl to publish from our proxied service? We don't have any java code to define the service and generate a wsdl.
Am I wrong thinking that I can limit the operations of my proxied service by creating a custom wsdl to expose only those operations we want for the given proxy?
Any suggestions would be appreciated.
You're right thinking that you can limit your service's operations like that. You have two way to create your "custom" wsdl :
Use tools like altova xmlsply for exemple and comment the operations you don't want to expose
Develop a script with ant for exemple and use xsl to automatically update your wsdl

How to create a wsdl file in Visual studio 2010?

I need to create a wsdl file to provide it to a third party. I do not have my web service implemented yet. All I have is a document that tells what operations the web service will support and the input and the return (output) parameters for each operation. I need to create a wsdl before implementing the service. Any ideas on how to approach this? Are there any tools that allow to create wsdls manually? Thanks in advance!
The best way to create a WSDL is let VS create it for you. This can easily be done when creating a WS Application.
So, If you already need to create the interfaces (to pass them to the 3rd party) but just not the implementation - Create the webservice itself (more specifically the interfaces) but instead of implementing, throw a NotImplementedException in all of them.
You can then run the WebService, have it generate the correct WSDL for you (which you can pass to the 3rd party) and all you have left is to implement the methods at your free time.

Is there a way to implement OpenAuth outside of the browser without resorting to hacks?

I would like to implement OpenAuth in a Windows application. I am currently embedding a browser inside the application, but this solution sucks.
Is there a way to do this using raw APIs?
Since you mention a browser, I assume you are interested in implementing an OAuth client, not a provider. You can try the Scribe library. It's written in Java, has client implementations for several different providers and is pretty easy to extend for new providers.

Calling a WebMethod of one application from another application?

How can I call a webmethod of one application from another application, when both are developed in C#?
You can't do this, of course. It would be a huge security hole.
As suggested by your tag, it would be necessary for the developer of an application to explicitly expose to the world the methods he wants to be called from other applications. This could be done through WCF, or possibly through COM.
Alternatively, the code to be called caould be placed into a class library, and referenced by both projects.
Expose the method through SOAP or REST or COM or (going old-school) CORBA or ...
Be prepared that doing this is a massive increase in the complexity of the applications. You start to have to worry properly about security, and about how all the pieces interact, and many other issues. There's a lot of depth here, far too much for a simple answer.
This can be done using WCF instead of webservice

Resources