Motion - Motion Soap Service


A webservice running under MONO


MotionSOAP is a WebService that runs under Mono. It is rather a primative phase at the moment. I plan to work this interface to include all of the html control functionality along with more analytical functions. Today it is quite a useful interface as can be seen from the simple Windows Consumer application that is packaged along with the Soap interface. More on that later

The SOAP Interface


Essentially this interface allows you to determine how many frames/events exist on your motion server, to retrieve those stored frames remotely and to delete them if you no longer require them

An Example Windows Consumer


Although a simple program it shows how the SOAP interface can be put to good use. Your mileage may very especially on low bandwidth connections. However the application allows you

  • Drill down into any month day or hour of any camera
  • Shows you all the frames/events that exist for a camera/period.
  • Preview those frames
  • Assemble them into an avi file locally on your PC
  • Delete those frames from the moton server.
  • Save single frames as JPEG's to your PC locally

Attached Files

There are 4 files in the zip

  • MotionService.asmx (the WEBSERVICE Source code)
  • Web.config (The configuration file for the webservice)
  • ConsumeService.exe (an example windows program to consume the service)
  • ConsumeService.exe.config (The config file for Consume service)

Installation of the WebService

To install the Webservice you will need a working copy of MONO running on the same platform as Motion.

You will need the ByteFX.Data provider which is usually shipped with MONO.

A working copy of MySQL

Copy the files to the area where you are going to serve the MONO content for example


  • MotionService.asmx
  • Web.config

You will need to place the ByteFX.MySqlClient.dll in the bin directory (in this example )


Edit the Web.config file

There are three parameters of interest. Much of the rest is used for debugging or general DOTNET configuration. The Section of most interest to you will be within the <appSettings/> tags

connectionString This is where you provide the mysql connection parameters and takes the form

Database=databaseName;Data Source=theHostMachine;User Id=databaseUserID;Password=databasePassword

user This is a name of a user allowed to invoke the methods of the webservice

password This is the password of the user allowed to invoke the methods of the webservice

Once you have modified the settings to your preferences. You should be able to test to see if all is well with the webservice by typing the URL to where you placed it for instance http://localhost/motion/MotionService.asmx

If all is well you will see an overview screen similar to above

Installation of the Client Consumer Software

Copy the files to an area on your windows PC

  • ConsumeService.exe
  • ConsumeService.exe.config

Edit the file ConsumeService.exe.config

There are three parameters of interest. The Section of most interest to you will be within the <appSettings/> tags

serviceName This is where the WebService resides for example

user This must correspond with the user setting in the webservice configuration for this program to work

password This must correspond with the password setting in the webservice configuration for this program to work

Other options of interest are

avi_fps This option states the base time code for the AVI files created.

avi_height This option states the height of the AVI file created and must match the height of your captured images

avi_width This option states the width of the AVI file created and must match the width of your captured images

avi_compression This option states the compression type to use. Valid values are mpeg4, xvid, divx NOTE you must have a valid codec installed that matches the option otherwise the software will more than likely crash. If in doubt go with mpeg4 as this codec is available on most MS machines

Save the file

Users Guide

Start ConsumeService.exe

If all is well you will see a summary of all pictures that have been captured for this year month by month.

Clicking on any Month item will show you a summary for each day in the month for that camera.

Clicking on any Day will show you a summary for each hour.

Right click any of the lists to see what further options/actions are available

If you see an error stating Error Contacting the webservice The Root Element is missing check that the username and passwords match on the client and server configs.

Comments and Bug Reports

Kenneth came by and gave a hand with the formatting.

Especially note that ! in front of a !WikiWord prevents unwanted linking.

You always need a blank line to get a paragraph mark. A single new line does not show at all. This is needed to enable compatibility with using HTML. You can make a HTML <BR> either by using the HTML <BR> or the TWiki variable %BR%.

Bullet points using "space space space * space" is a wonderful simple way to make clear listings of for example files.

Great project. Nice to see initives like this.

-- KennethLavrsen - 14 May 2005

Thank you Kenneth smile

-- RobertH - 16 May 2005

RelatedProjectsForm edit

ProjectSummary An example SOAP service using C# running under MONO. With an example windows consumer app
ProjectStatus Alpha
ProjectSubmitter RobertH
I Attachment Action Size Date Who Comment
MotionSOAP.zipzip manage 74 K 16 May 2005 - 04:50 UnknownUser Updated WebService and Consumer Apps
Topic revision: r8 - 29 May 2005, KennethLavrsen
Copyright © 1999-2023 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Please do not email Kenneth for support questions (read why). Use the Support Requests page or join the Mailing List.
This website only use harmless session cookies. See Cookie Policy for details. By using this website you accept the use of these cookies.