Is wsdl used at runtime for actually making a connection - wsdl

After i have used wsdl to generate web service client classes, do i still need to use the wsdl at runtime?
It seems like i dont have to, but in the generated classes , I see a url link to the wsdl file. So is the wsdl needed at runtime for the client to consume the web services?

It depends on the language. You didn't specify what you're using, but - for example...
In c#, if you generate a proxy via Visual Studio, the WSDL is not
used at runtime; it generates a class for you that is used instead.
I have seen other clients that require a local copy of the WSDL;
older versions of the MS Soap Toolkit required one. We ran into this
when using that toolkit with VB6.
According to this question, java requires a wsdl at runtime
because some dependencies are generated at runtime.

Related

How do i get to SForceService using .Net Core 3.1 framework

I am able to connect salesforce by using standard dotnet framework with web reference option. But, i am unable to connect SForceService by using dotnet core 3.1 framework as it is using system.web.services namespace which is not available in .net core 3.1, i have added parter wsdl file using Connected service option, the methods are not exposed to access.
I was able to get this to work and figure I should help out the community a bit here.
I was able to use the Metadata & Partner WSDL after generating a reference.cs file via WCF tools, you can achieve it either by using VisualStudio (https://learn.microsoft.com/en-us/dotnet/core/additional-tools/wcf-web-service-reference-guide) or dotnet-svcutil (https://learn.microsoft.com/en-us/dotnet/core/additional-tools/dotnet-svcutil-guide?tabs=dotnetsvcutil2x) CLI.
If you're using CLI like me, make sure you have the folder structure created correctly and add reference to the .csproj file.
Folder Structure should look like this:
Connected Services
Metadata Service
ConnectedServcie.json
reference.cs
Partner Service
ConnectedServcie.json
reference.cs
In the csproj:
Add a new ItemGroup property under Project property:
<ItemGroup>
<WCFMetadata Include="Connected Services" />
</ItemGroup>
Hope this help =)

How to generate the Java classes for WSDL file in Hybris?

As a part of a requirement, I am supposed to consume a Soap web service, the WSDL of the web service is available to me.
I implemented it by generating the classes using auto generating tools like wsimport.But I was curious whether there are better ways of doing this in Hybris, for instance by including the task in ant to generate these classes automatically. How to achieve this?
Hybris working on spring framework, so I prefer using spring related libraries for SOAP client.
On the other hand hybris wake up time very long for developing/debugging web services. I prefer again creating independent jar library with same hybris spring version for service with shared interface with hybris. Generally integrations needs change by time. It is easy to only update this jar file. Also you can create mock jar for test environment with same interface.

Delphi thick client to web application

I am currently using Delphi 5 and planning to migrate application to latest version(XE3) or to other technology. Main purpose of migration is dont want thick client. In currrent scenario application(exe) gets downloaded to the users local folder and then it runs rom local. Main purpose is dont want to download the application to users machine. .
Wanted to stick with Delphi if that downloading limitation resolved. Is there web solution? or way to access the application from common point without downloading to users machine.
Thanks for the help and suggestions.
Note: There are lots of users who uses these application.
Depending on the type of application you could add web layer around the core functionality of your application.
If you create something like a SOAP or REST interface, you can write a web client in any language that suits. Could be Delphi, or some more web-oriented language like PHP or ASP.Net.
By having a web interface your users can access from any platform.
On the other hand, if your current application is not layered properly, and you've got a lot of code mixed between the GUI and your model, this could be difficult. It would mean rewriting a lot of code, or just accept the fact that your users need Windows, and an .exe file.
At least by using Delphi, your users don't need to download a huge framework that requires administrator privileges to install.
Anyway, you should provide some more information about what you already have, and what type of application it is, how complicated it is, etc.
If you are planning a move to Java Enterprise Edition (Java EE), accessing existing Delphi logic can be achieved using two communication models, using existing commercial and open source solutions:
for synchronous (request/response) style communication between Delphi and Java, there are lightweight web frameworks for Delphi (I wrote this one recently) and open source JSON/XML libraries which can be used for data exchange. This allows the Java application server to access Delphi logic over HTTP
for asynchronous communication, I wrote (commercial) message broker client libraries for Delphi and Free Pascal, they can be used with the Java Message Service (JMS) servers in the JBoss and the GlassFish application server - JBoss and GlassFish already include a messaging solution (HornetQ and Open MQ), as a mandatory part of the full Java EE profile
I also have written some step by step tutorials for JBoss and GlassFish Delphi integration:
Delphi Integration with JBoss Application Server 5
Delphi Integration with the GlassFish v3 Application Server Part 1 - Sending Messages
Delphi Integration with the GlassFish v3 Application Server Part 2 - Receiving Messages

ServiceStack WSDL error. Endpoint is not compatible with Windows Store apps. Skipping...

Working on a Windows 8 (metro style) application, and want to reference a service hosted by ServiceStack from it. Since I cannot use the C# client objects provided by ServiceStack (can't reference the DLL from a Windows 8 project) I figured I'd have to fall back to adding a service reference using svcutil or from within VS 2012. When I do this, I get the following error:
Warning 5 Custom tool warning: Endpoint 'WSHttpBinding_ISyncReply' at address 'http://localhost/ServiceStackRD/soap12' is not compatible with Windows Store apps. Skipping... C:\Development\GridPresenter\GridPresenter\Service References\ServiceReference2\Reference.svcmap 1 1 GridPresenter
Does anybody know what makes an endpoint "not compatible with Windows Store apps?" If so, how do I tell ServiceStack to modify the endpoint definition to make it play nice with Windows 8 apps? Thank you.
SOAP and WSDLs are an ugly solution on any new platform, you have to get too many moving parts right for it to work properly.
The path of least resistance would be to use a C# HTTP Client that supports a Windows 8 Metro app and just parse the JSON returned from ServiceStack's JSON services. Here's an example of parsing GitHub's 3rd party API using these WebRequest extensions in ServiceStack.Text.
The community has yet to contribute a Windows 8/Metro App build of ServiceStack.Text so you will likely have to use another JSON serializer that does support it.

Having issue with delphi WSDL importer

I am importing a WSDL provided by third party.
but I am not successful with delphi WSDL importer.
When I import the WSDL then delphi WSDL importer is hiding the implementation of the classes from the WSDL file.The WSDL file contains some functions which accept objects as parameter.
After importing the WSDL delphi gives error as some variables are undeclared which are actually objects of class,whose definition is hidden by WSDL importer.
I have no personal experience with it, but the Free Pascal Web Service Toolkit seems to be in active development. It is compatible with Delphi,and can be used to create web service clients and servers.
It includes a WSDL importer, both as a command-line utility and a "Wizard". It also has a WSDL based type library editor.
The toolkit uses FPCUnit for test cases. For Delphi, DUnit is used.

Resources