How to use ISAPI WebService - web-services

I have created an SOAP WebService as an ISAPI DLL ( with Delphi XE6 ) , but when i upload it on my host and when i try to execute it , noyhing happens !
I have tested my webservice as an stand alone application but know i converted it to an ISAPI DLL and I want to use it in my host
for example when i upload it in "vault-script/WebService" folder and when I type this address :
"http://example.com/vault_scripts/Web_Service/ISAPI.dll"
OR
"http://example.com/vault_scripts/Web_Service/ISAPI.dll?wsdl/INPG_WService"
Browser says "Not Found !"
How I should use this webService ?!
In other words I want to get WSDL XML address to import it in my client application !
I`m Using Delphi XE6 and my host is Windows with IIS 7.5
thanks

Make sure that you have added the ISAPI filters rule in IIS under "ISAPI Filters" option. You will need to allow the particular extension in IIS. You can enable the extension under "Request Filtering".

Related

What difference step is happening while importing WSDL via browser Vs SOAPUI

I have a well reported problem with a simple WS deployed in Glassfish 4.1 , where I get the WSDL in browser but cant import it in SOAP UI or Eclipse(Kepler) .
IWAB0135E An unexpected error has occurred.
WSDLException
WSDLException: faultCode=OTHER_ERROR:
this
My question is : What extra thing is happening while trying to access this location from SOAP UI / Eclipse WebService explorer Vs via browser ?
I would like to know what other areas I need to look at to trouble shoot this issue .
When loading a WSDL trough SOAP UI, it tries to parse it and does some validations of the WSDL in order to create a SOAP UI project and generate the empty requests for you. Eclipse also does these validations (On validate in the context menu, when a .WSDL is opened or when saving a .WSDL) - I've found them even more strict than the SOAP UI ones.
On the other hand, the browser doesn't do validation of the wsdl content, it just displays it as it is, and applies some default colours for rendering xml in order to make it more readable. But it would not complain if the wsdl is not formed correctly.

Unable to load wsdl file from android browser

I Develop a webservice from a java class using JDeveloper.and deploy it on my local weblogic server. i can access the wsdl directly from my browser . but when i try to access it from my android phone web browser it is not loading it.however i can connect to my local weblogic server via phone. here is the url of mywsdl
http://xxx.xxx.x.xxx:7101/WebServices-Services-context-root/BooksPort?WSDL
Error Message
You tried to access the address which is currently unavailable.make sure that the web address is correctly spelt and punctuated then try reloading again.
Is 7101 is the right port for you wsdl?
Try 7001 and let me know
Are other sites like google.com opening up on your mobile browser? You may require proxy settings to access the WSDL.

Visual Studio web reference - $metadata vs. ?wsdl

This is a legacy project that I have not touched in a while. Now the web reference is causing me trouble.
I connect to a SOAP service from a Windows Mobile 6 client. When the service host runs locally on my development box, I can point the web reference to it and it will discover the WSDL, i.e. it will attempt to pull the service description by appending ?wsdl to the endpoint URL. I can build the app and connect to the service from the emulator.
I can for some reason not point Visual Studio to the current production environment for discovery. There it appends /$metadata to the URL instead of ?wsdl. The wsdl is there and I can view it in a browser, though. The mobile app is live and has been connecting to the service for years.
The HTML document does not contain Web service discovery information.
There was an error downloading 'https://mysite/myservice.asmx/$metadata'.
The request failed with the error message:
--
<html>
<head>
<title>Request format is unrecognized for
I know that it is not possible to discover a web service on a non-standard port from Visual Studio. Does it not work with SSL, either? How does Visual Studio decide to use either method for discovery?Or do you have any other thoughts?
I still have no clue what's going wrong with your service but I can discover webservices on non standard ports adding the port to the url (and the ?wsdl as well) from within WS
http://10.177.55.13:10321/MyServices/?wsdl
If this doesn't help open the wsdl in your browser. Copy the xml code, paste it into your editor and save it as .wsdl file. In VS use the filename as url for the service.
HTH
Ruediger

Simplest Webservice in Delphi

I need to develop a minimalistic webservice.
It should have 2 functions:
senduserdata (a remote app will call "senduserdata" to send info about users, like "ID" and "amount")
sendconfirmation (a remote app will tell "all ok for proccess ID=X, notes are: NOTES)
In past I did a SOAP dll that needs IIS to run, since deployment is crucial in my case and IIS is not always available is it possible to have a standalone exe that exposes the SOAP (or REST) interface?
I succeded in a few minutes using the RemObjects trial and setting SOAP as communication protocol in a server + client project group (note: i need server only).
With a VCL EXE i can deploy much easier (i have lots of customers, and accessing their IIS to install a dll it is sometimes too hard).
Yes, you can use any TCP library for Delphi which includes a HTTP server, for example Internet Direct (Indy). With Indy, you can create a stand-alone application (or better, a windows service) without IIS.
In a RESTful web application, the senduserdata command would be implemented by a URL like
http://example.com/api/users
The clients then use a HTTP PUT or PATCH request to update the users resource.
A senduserdate call for user id 774422 would be written like
LStream := TStringStream.Create('{ "amount":100.50, "currency":"EUR" }');
try
HTTP := TIdHTTP.Create;
try
HTTP.Put('http://example.com/api/users/774422', LStream);
finally
HTTP.Free;
end;
finally
LStream.Free;
end;
In the the Delphi application for server side, a TIdHTTPServer component then listens for HTTP requests for the /rest/users resource and in the OnCommandOther event handler it would extract the request body string, parse it, and apply the changes to the user with the ID given in the resource path (/774422).

GlassFish Server (open source) ColdFusion "requested resource is not available" error

We are in the process of moving a website coded in ColdFusion and Fusebox framework to a new host (from GoDaddy who is ceasing to support CF to HostMySite).
Our url structure is currently setup like /index.cfm/home.register redirecting through a cfscript to the "full" url of /index.cfm?fuseaction=home.register
We are receiving the following error message:
HTTP Status 404 -
type Status report
message
descriptionThe requested resource () is not available.
GlassFish Server Open Source Edition 3.1
I am not a CF or Windows guy, this is an old site and we are just trying to get it to run on another server to bide us some time until we can rewrite it.
Any clue as to how to what is wrong and how to get it to work? HostMySite support has been completely unresponsive thus far.
Any help would be greatly appreciated!
Brandon, just for the sake of correctness; Glassfish is Oracle's java server and comes in an open source flavour. http://glassfish.java.net/
Glassfish is not a ColdFusion server.
It is possible to deploy j2ee versions of Adobe ColdFusion, Railo or OpenBD using glassfish.
JRun is the only Java server that comes with the SES rewriting built in. However, it is possible to rewrite urls using most Java servers or at the least by fronting the java server with a web server such as IIS, Apache or nginx.
After several discussion with tech support, we confirmed that "GlassFish Server" is an open source ColdFusion server, and it does not support the search engine friendly URL code we were using. We had to switch hosts to a host that used actual CF server.