Writing a SOAP service on Linux - tools, help needed - linux

I need to write a SOAP service for Linux (CentOS).
I need to do this using Lazarus/FreePascal. The service needs to be a binary (daemon) that runs in the background.
Questions:
1. Is this possible (as a standalone executable)?
2. If not, what are the alternatives?
3. How do I start?
4. What additional tools/libraries do I need?

This is possible with wst and either synapse or indy. wst is alsready included in your Freepascal download. There are some samples included as well, have a look at them.
I have created several soap services with wst + freepascal. You can choose to have them use their own webserver (so they just listen on a certain port, allows for simple debugging) or create an cgi module that you can use in Apache or IIS. You can also create a windows service or linux daemon, all by switching some parameters or including some other files.
It is not easy if you do it for the first time, but certainly possible.

I can answer some of your points since I'm doing it myself:
Using Lazarus and installing the LazDaemon package you can do daemons/services that compile and run stand alone on both Windows(Service) and Linux(Daemon). Daemons and Services
N/A
You have examples under the [fpc-source-dir]/packages/fcl-base/example/daemon.pp and under [lazarus-dir]/examples/cleandir/*
You will need some kind of SOAP framework that I'm not versed in.
Hope it helps.

This looks promising, at least as a start.
SOAP is a language neutral specification so in theory you could code in any language. But for your purposes if you can't find a library in pascal that does the grunt work you would be better off using any other language that does. Unless you are specifically looking for a long detour down the rabbit hole of WSDL and such, don't go there.

Is Pascal really a requirement??
Otherwise, you could write a SOAP service in Java, then your service would be platform agnostic.
The only requirement would be a JRE, and JRE are available for any platform, so it would run perfectly on all Linux flavors, WIndows, Mac OsS, Solaris, etc
There are also plenty of frameworks for doing SOAP in Java.
Pascal would also be able to run on Linux and Windows with minor adjustments, but I have no knowledge of existing good SOAP frameworks for Pascal.

I would just use Indy, and whatever Delphi soap lib a google search yielded. I would be surprised if there weren't a dozen.

Related

How to access a WCF SOAP service with wsHttpBinding from Linux?

I am trying to consume a WCF SOAP service with wsHttpBinding from Ubuntu.
Whatever I try, PHP, SoapUI, Java, I'm running into problems with wsHttpBinding features not being implemented. Changing it to BasicHttpBinding or disabling security features is not an option.
NOTE: It pretty much doesn't matter what language is used. Is there a SOAP client/framework/library that supports all these features and runs on Linux?
I'd prefer a scripting language as this is supposed to run as a cronjob, but right now anything that works is appreciated.
There are similar questions from months/years ago, but they are unresolved or solved by changing the server side, which like I said is not an option here.
try GSOAP. you can find here more information about the functions:
http://www.cs.fsu.edu/~engelen/soap.html. it is a very complex package and it takes some time to learn the entire stack and how to use the generators and additional modules but it works.

Recommendation on building web services on Linux with minimal dependencies

I need a recommendation for a framework/library for building web services on a Linux system. I have the following requirements:
It should have minimal dependencies, e.g. preferably not require any VM like Java or Mono.
My service implementation should have access to the native system APIs, preferably it should be possible to call C APIs directly.
If possible, the solution should not depend on a large web server installation. As I understand, Axis/C++ would require an Apache server, right? Is there anything that allows for writing some kind of "self-hosted" web service like in .NET (ServiceHost) on Linux? I would really like something that works as a standalone daemon in the end.
The resulting services should be standard-compliant as I need to make cross-platform calls. Most importantly, I need WS-Security.
The solution must be Open Source, the actual licence is less important.
If you have any suggestions, please post (web links would be nice ;-))
Thanks in advance,
Christoph
What about Twisted? http://twistedmatrix.com/trac/

Apex Data Loader in Linux environment?

According to a requirement, we have to do data loading to Salesforce.com in Linux environment. In Windows, the Apex data loader works fine for data loading.
Apex data loader is written in Java so it should work in Linux. How can we run the Apex data loader in Linux or is there any alternative application for data loading for linux?
I was under impression that core of Data Loader is a JAR file so if your server is running Java you could fairly easily discard the GUI of application written for Windows?
Please have a look at Data Loader User Guide, especially chapters about running it from command line and in batch mode. In worst case you could even roll out your own program that will use WebServices API exactly like Data Loader does (with reuse of the JAR or written from scratch).
Another option would be to use "bulk API", designed for mass inserts. The guide for this is extremely technical and contains tons of useful info (including code of sample Java app).
There's "Excel connector" and build of "LexiLoader" for MacOS but I don't think this helps a lot in your case.
Last but not least - please consider the Salesforce partners, their AppExchange applications etc. I don't want to do marketing here but on my past project we were pleased with tool from "Relational Junction" (it was working on Unix server, easy to configure, connected with Oracle database, allowed us to pretty much do a proper Extract-Transform-Load proces to and from Salesforce).
Good luck!
Here are a couple of posts that might help others not using the Apex Data Loader in the standard way:
http://force201.wordpress.com/2011/01/20/running-the-apex-data-loader-on-a-mac/
http://force201.wordpress.com/2010/10/15/scripting-the-apex-data-loader-via-ant/
One is about running on the Mac and the other is about running using Ant.
www.dataloader.io is the way to go now; it's web-based an unbiased to your OS.
Well, dataloader is a Java app so it is quite biased do any OS that can has a Java runtime. I have been working on an Ubuntu system using Gui.
11 years later, there's still no official Linux build, but everything you need is there. That's why I've created a small Github project, that automatically builds the latest Dataloaders versions for Debian/Ubuntu (deb files) from the original sources.
You can find it here: https://github.com/SoftCreatR/dataloader-for-linux

HTTP/SOAP services on Linux - recommendation please

I'm looking to set up a scalable server farm that serves up HTTP/SOAP requests and read/writes data from and to a (set of) database(s). Looking for the right Linux tools to handle that. Can someone please recommend a path for me? just a point in the right direction is all I require. In the past I used LAMP for PHP. What should I use jus for HTTP/SOAP? is there some kind of Apache extension for SOAP?
Apache webserver with Apache's Axis server for web services SOAP should be fine.
I'd suggest two general approaches:
Using Apache HTTPD and using PHP, Python or Perl, using SSI/CGI/mod_python/WSGI, depending on how you want to set up your application. (A variant of this is to use a standalone Python/Perl server if you don't need the benefits of Apache HTTPD.) PHP, Python and Perl have SOAP server-side libraries (I've found SOAP::Lite in Perl very hard to debug and work with, but there may be other libraries, or you may like it...)
Using a Java container, perhaps with something like Axis or Metro.

Best way to make Linux Web Services? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
I have a server that is running Ubuntu Linux Server Edition. I once had a Windows Server and it is easy to create web services using ASP.net on Windows. Linux on the other hand does support ASP.net using Mono, but is isn't as full featured as Windows. So what would be the best way to create xml web services on a linux server box?
Thanks
A web service can be written in any language. A web service is a program that takes request and returns response (xml or json) via http protocol. You can use a web server like Apache or lighthttpd to handle the http(s) and multithreading for you and write a simple script to do the actual work. The script can be written in anything - php, perl, python, shellscript, cgi c++, free pascal cgi etc.
Of course, You can write everything on your own by using TCP sockets, but this is not your goal I guess.
For FOSS I'd do it in php, because it`s easy:http://davidwalsh.name/web-service-php-mysql-xml-json
If I want it compiled, i'd use FreePascal as in this guide: http://leonardorame.blogspot.com/2010/02/web-20-programming-with-object-pascal.html
Or If I prefer C++, I'd use QTCreator with this guide: http://libqxt.bitbucket.org/doc/tip/tech-web.html
If you want to use ASP.net then use a windows server.
If you have to use Linux for some reason then you need to learn another language to work properly in the linux environment.
Linux web development is actually a world of difference from Windows web development. In leau of the bureaucracy of "applications" and "web services" we have scripts you can invoke via Apache, and if you want to get more advanced, daemons that can handle TCP/IP connections.
If you want to use something specific like SOAP, you should mention it in there, but as far as I know, Linux web development isn't service-based like Windows is.
There are many ways to do this, but given your ASP.NET background why not give the MonoDevelop IDE a go, it has matured a lot and will continue to do so.
Another option is using Eclipse (Java or PHP).
Depends mostly on the web server and web language you run on Linux more than anything else.
If you're using Apache Tomcat, look at Axis2 (http://ws.apache.org/axis2/) and CXF (formerly XFire at http://cxf.apache.org/)
JBoss has web service support built-in (JBossWS) so it's fairly easy to use and since it's a Java EE server, it uses standard web service code that is portable.
You can also write web services using PHP if you use that on your web server.
Apache = IIS
PHP or Java EE or JSP or JSF = ASP.Net
There are a lot more choices in Linux land...
I came across the same problem recently. I wanted a thin layer to turn my SQL database into a webservice with JSON or XML support. All I wanted to do was to have to write the SQL statements... it seemed a pretty reasonable thing to ask.
However, all the options I found involved installing some sort of enterprisy "do everything" solution. So I ended up writing some "glue" which took SQL statements defined in XML "dataset" definitions, and served a simple, RESTful web service.
I documented my approach here:
http://www.nsquared.co.nz/jarvis-docs/jarvis_guide.odt
If you want to use the framework, I can give you a tarball of the latest release. It's used in three or four small applications currently, 2 ExtJS, 1 Flex, and 1 Asp.Net.
There's a plethora of materials available with a simple search for "PHP Web Service" on Google. I'm not really sure what language you're using or what type of service you want to set up so I went with PHP Soap.
http://www.onlamp.com/pub/a/php/2007/07/26/php-web-services.html
There's a lot of industry standard specification and implementation in Java dealing with all aspects of server side web programming.
Start off by an open source implementation such as Apache Tomcat and/or any of http://ws.apache.org/
I guess the best answer depends a bit on what you really need, but one option is to use any of the recent web frameworks, such as Rails, CakePHP, or Django, which allow you to easily define database backed models, and then compose dynamic sites. Turnaround on these frameworks can be measured in minutes for simple sites.
Although it is based on a commercial product the following is an excellent primer to assist you in understanding how you would develop a Java based web service on Linux. If you find a similar tutorial based on free software please share it.
"So what would be the best way to create xml web services on a linux server box?"
A web framework like Turbogears, Django, Grok, Repoze.BFG, WebPy or such.

Resources