Is there a way to know if a vendor installed their API on our server?

Hi,
I use VS 2013, c# and asp.net.

On one of our Windows 2012 R2 server, we have a vendor installed their web application.  With that product, we supposed to have their set of APIs installed as well.  how can I test or call these API? I can remote into the server, is there a way to examine if these API are installed?  How do I use WSDL?

I only have a document with all the API specifications.  Here is the excerpt
The XXXXXXX API makes available a Web Service Description Language (WSDL), published through its service endpoint, which describes the manner in which the service may be called, details the available service operations, and specifies the message structures.
A client application must be built in congruence with the service specification as provided by the WSDL. Any number of technologies may be used to build the client.

Thank you
lapuccaAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Jacques Bourgeois (James Burger)PresidentCommented:
I have not done this in years, because I prefer (and can do it) to use WCF services. But as far as I remember, it went as following:

The WSDL is a file that is located somewhere on a server somewhere. You will have to find it or ask your vendor where he installs it.

Here are steps to use it. This is from a Windows Application or a Class Library in VB in Visual Studio 2013. Details might be different if you use another type of project, another language or another version of Visual Studio, but they are usually similar.

Right click on your project in the Solution Explorer.
Select Add... Service Reference.
Type the full path to your .wsdl file in the Address box and Go.
If this does not work, look later in this message.
You should see the service(s) in the left and their methods on the right side.
Define a namespace.
In your application, instantiate an object using the namespace and the service as you usually to for a class.
Call the methods through that object.

If this does not work, the service might be in an older format. In such a case:

Right click on your project in the Solution Explorer.
Select Add... Service Reference.
Activate the Advanced... button.
Activate the Web Reference... button.
Type in the path to the .wsld.
Click on the arrow button.
Select your service in the list.
Enter a Web reference name, which will be used as a class in your application.
Click Add Reference.
In your application, instantiate an object using the name you gave to your Web reference, as you usually to for a class.
Call the methods through that object.

If none of that works, I suggest that you contact your vendor. He should be able to guide you.
lapuccaAuthor Commented:
Thank you for the detail step instruction.  I did find the .wsdl file on the web server.  I have the url to that web site for the product but what should I use to reference to the wsdl file?  I can't use C:\\XXXXXXXXXXXXXX drive full path because my pc is not the web server so can only the vendor give me the url or is there a formula I can try?

I remote into the server and opened the IIS but even though I can navigate to the website in browser, in IIS, there is only one default website and it shows a Stopped status.  How can it be?

Thank you.
Jacques Bourgeois (James Burger)PresidentCommented:
This a web service, so you usually connect through the web, that is through the URL. Simply specify http://... when entering the address.

The possibility of using a file path is mainly a convenience that you can use during development, when the service is usually installed locally for testing.

For the status of the web site, I am not a webmaster, so my knowledge of IIS is very limited. You should ask your webmaster if you have one. Or ask the question in a pertinent forum if you are the kind of programmer that does everything in the shop.

Are you sure that the site you see as stopped is the same as the one you can access through your browser?
Exploring SQL Server 2016: Fundamentals

Learn the fundamentals of Microsoft SQL Server, a relational database management system that stores and retrieves data when requested by other software applications.

lapuccaAuthor Commented:
I have the url to the site, the web server ip and the full C drive path to the wsdl file.  How can I compose the url in VS for reference?  Or only the vendor can give me the url to use?

Yes, I check it's the same server.  I also just created a question here under IIS.  I suspect it's because I don't have permission.  

Thank you.
Jacques Bourgeois (James Burger)PresidentCommented:
Usually, when you do not have permission, the system tells you so instead of providing a false information. Unfortunately, this is only usually. Many systems, even systems used by everybody, are not very good at error reporting.

For your question, it's a case by case.

It depends on how the vendor decided to implement the stuff. Some vendors give you both the .wsdl and the service to install and run as you want. Some will give you with a copy of the .wsdl, but will host the service. Some will host both the service and its definition.

Your application use the .wsdl to know what the service can do and be able to validate your code against that definition. It will also tell the application where to go to access the service itself. So, as far as your application is concerned, only the .wsdl is important.

So you have to define your reference in way that the application will be able to read it when the user starts the application. A file reference (U:\...) works only if all the users of the application have a network access to the folder where the .wsdl is located, and if that folder is mapped on U: for everybody.

In most situations however, this situation does not exist. You might want to use that during development, but before shipping to your users, you will have to change it. So the reference is most often done on the web URL, a http:// reference such as http://TheServer/PossibleFolder/PossibleSubFolder/YourDescriptionFile.wsdl.

Once again, the vendor might be better place to tell you what is the best thing to in your situation combined with the way they designed the access.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
lapuccaAuthor Commented:
James,
Thank you that makes sense.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Web Services

From novice to tech pro — start learning today.