Futurama Logo

Welcome to the Futurama Support Site

The Futurama Support Site is the website where you can find Futurama and Futurama Vision documentation. If you have any questions about the support pages or if you want to provide us feedback please send us an e-mail.




Index Installation Futurama Webservice
Previous  |  Next

 1      About Futurama
 1.1        Version information
 1.2        Getting Started
 1.2.1          Futurama Website
 1.2.1.1            Behavior of Futurama regarding TimeOuts, Login and Logoff
 1.2.1.2            Replacing an existing Futurama Session
 1.2.2          Futurama Webservice
 1.2.2.1            warmUpDocuments
 1.2.3          Futurama Export
 1.3        Overview - Futurama Modules
 1.3.1          Overview - Futurama Accounts
 1.3.2          Overview - Futurama Server
 1.3.3          Overview - Futurama Monitor
 1.3.4          Overview - Futurama Insight
 1.3.5          Overview - Futurama Console
 1.3.6          Overview - Futurama Webservice
 1.4        Loadbalancing Futurama applications
 1.4.1          Getting the most out of Futurama Web using the Load-Balancer
 1.4.2          Application Request Routing
 1.5        Text management and Multi-language
 2      Installation – Configuration – Testing
 2.1        Installation - Futurama Website Edition
 2.1.1          Installation Futurama HTML
 2.1.2          Installation Futurama Monitor
 2.1.3          Installation Futurama Insight
 2.1.4          Installation Futurama Accounts
 2.1.5          Installation SAML2LoadBalancer
 2.2        Installation - Futurama Export Edition
 2.2.1          Installation Futurama Console
 2.2.2          Installation Futurama Server
 2.3        Installation - Futurama Webservice Edition
 2.3.1          Installation Futurama Webservice
 2.4        Installation Futurama Editor
 2.5        Configuration
 2.5.1          Configuration - Cache
 2.5.2          Configuration - Calculation
 2.5.3          Configuration - Debug
 2.5.4          Configuration - File manager
 2.5.5          Configuration - Fileproviders
 2.5.6          Configuration - Format
 2.5.7          Configuration - History
 2.5.8          Configuration - Identity Provider
 2.5.9          Configuration - Log
 2.5.10           Configuration - Mail
 2.5.11           Configuration - Mapping
 2.5.12           Configuration - Monitor
 2.5.13           Configuration - PlugIns
 2.5.14           Configuration - Rendering
 2.5.15           Configuration - ScenarioRecording
 2.5.16           Configuration - Security
 2.5.17           Configuration - Server
 2.5.18           Configuration - Vision
 2.5.19           Configuration - WebAPI
 2.6        Logging
 2.7        Troubleshooting
 2.8        Security - hardening
 3      Updating and file compatibility
 3.1        Updating Futurama - Compatibility behavior
 3.2        Converting Futurama documents
 3.3        12819 - DataTable file updates
 3.4        12889 - DataTable file updates
 3.5        Conversion web.config to .NET Framework 4
 3.6        Deprecated conversion formulas
 4      Futurama Editor - How to
 4.1        At first glance
 4.2        Developing in the Futurama Editor
 4.2.1          Working with objects
 4.2.2          Evaluating objects
 4.2.3          Finding objects
 4.3        Transferring objects
 4.4        Testing objects
 4.5        Validating objects
 4.6        Troubleshooting objects
 4.7        Advanced/special functionality
 4.8        Checking the layout of objects
 5      Futurama - Formulas
 5.1        Futurama Formulas - Date and time
 5.1.1          Date
 5.1.2          Day
 5.1.3          Days360
 5.1.4          Days360Excel
 5.1.5          DaysInMonth
 5.1.6          DaysInPeriod
 5.1.7          Min
 5.1.8          Max
 5.1.9          Month
 5.1.10           Now
 5.1.11           WeekDay
 5.1.12           Year
 5.2        Futurama Formulas - Math
 5.2.1          Abs
 5.2.2          Add
 5.2.3          Divide
 5.2.4          Floor
 5.2.5          Ln
 5.2.6          Log
 5.2.7          Log10
 5.2.8          Mod
 5.2.9          Multiply
 5.2.10           Pi
 5.2.11           Power
 5.2.12           Rand
 5.2.13           Round
 5.2.14           RoundDown
 5.2.15           RoundUp
 5.2.16           SquareRoot
 5.2.17           Subtract
 5.3        Futurama Formulas - Statistical
 5.3.1          AverageDeviation
 5.3.2          Beta
 5.3.3          Binomial
 5.3.4          Covariance
 5.3.5          Factorial
 5.3.6          Gamma
 5.3.7          GeometricMean
 5.3.8          Lognormal
 5.3.9          Max
 5.3.10           Median
 5.3.11           Min
 5.3.12           Normal
 5.3.13           StandardDeviation
 5.3.14           Uniform
 5.3.15           Variance
 5.4        Futurama Formulas - Text
 5.4.1          CalculateBase64Hashcode
 5.4.2          CalculateXmlHashcode
 5.4.3          Concatenate
 5.4.4          ConcatenateBase64
 5.4.5          ContainsText
 5.4.6          Convert.CSV.2.XML
 5.4.7          ConvertFromBase64
 5.4.8          ConvertToBase64
 5.4.9          ConvertXml
 5.4.10           DecodeURL
 5.4.11           DecryptXml
 5.4.12           EncodeURL
 5.4.13           EncryptXml
 5.4.14           Find
 5.4.15           HashBase64EncodedFile
 5.4.16           HashBase64EncodedFileWithBase64
 5.4.17           HashText
 5.4.18           HashTextWithBase64
 5.4.19           Left
 5.4.20           Len
 5.4.21           Linefeed
 5.4.22           Lower
 5.4.23           Mid
 5.4.24           Proper
 5.4.25           ReadConfigKey
 5.4.26           ReadDirectoryNames
 5.4.27           ReadFile
 5.4.28           ReadFileAsBase64
 5.4.29           ReadFileNames
 5.4.30           ReadFileWithEncoding
 5.4.31           ReadXPathScalar
 5.4.32           ReadXPathVector
 5.4.33           Repeat
 5.4.34           Right
 5.4.35           Substitute
 5.4.36           Trim
 5.4.37           TrimLeft
 5.4.38           TrimRight
 5.4.39           Upper
 5.4.40           ValidatePattern
 5.4.41           XsdMessages
 5.5        Futurama Formulas - Logical
 5.5.1          And
 5.5.2          IsEmpty
 5.5.3          If
 5.5.4          IsEqual
 5.5.5          IsEven
 5.5.6          IsGreater
 5.5.7          IsGreaterEqual
 5.5.8          IsIBANChecksumValid
 5.5.9          IsLess
 5.5.10           IsLessEqual
 5.5.11           IsMemberOfGroup
 5.5.12           IsNotEqual
 5.5.13           IsOdd
 5.5.14           IsValidXml
 5.5.15           Not
 5.5.16           Or
 5.5.17           ValidateNPR
 5.6        Futurama Formulas - Table
 5.6.1          FindNextRow
 5.6.2          FindPreviousRow
 5.6.3          FindRow
 5.6.4          Sort
 5.6.5          VLookUp
 5.7        Futurama Formulas - Document
 5.7.1          CountErrors
 5.7.2          GetPathToDataFiles
 5.7.3          GetPortNumber
 5.7.4          GetRelativePathToDataFiles
 5.7.5          GetSessionID
 5.7.6          IsLicenceAvailable
 5.7.7          ReadError
 5.7.8          ReadIdentityProviderResult
 5.7.9          ReadRequestIP
 5.7.10           ReadRequestParameter
 5.7.11           ReadUserAgent
 5.7.12           ReadVersionNumber
 5.7.13           SessionTimeOut
 5.7.14           URL
 5.7.15           UserName
 5.8        Futurama Formulas - Conversion
 5.8.1          Convert.Excel.to.XML
 5.8.2          ConvertJSONtoXml
 5.8.3          ConvertTextToDate
 5.8.4          ConvertTextToNumber
 5.8.5          ConvertToBoolean
 5.8.6          ConvertToDouble
 5.8.7          ConvertToLong
 5.8.8          ConvertToString
 5.8.9          FormatDate
 5.8.10           FormatNumber
 5.8.11           Value
 5.9        Futurama Formulas - Matrix
 5.9.1          AddMatrices
 5.9.2          AddScalarToMatrix
 5.9.3          Cumulative
 5.9.4          CumulativeProductMatrix
 5.9.5          Distinct
 5.9.6          DivideMatrices
 5.9.7          DivideMatrixScalar
 5.9.8          DivideScalarMatrix
 5.9.9          Exponent
 5.9.10           First
 5.9.11           Floor
 5.9.12           If
 5.9.13           Index
 5.9.14           Inverse
 5.9.15           IsEqual
 5.9.16           IsGreater
 5.9.17           IsGreaterEqual
 5.9.18           IsNotEqual
 5.9.19           IsLess
 5.9.20           IsLessEqual
 5.9.21           Join
 5.9.22           Last
 5.9.23           Length
 5.9.24           MatrixProduct
 5.9.25           Max
 5.9.26           MaxScalarMatrix
 5.9.27           Mean
 5.9.28           Mid
 5.9.29           Min
 5.9.30           MinScalarMatrix
 5.9.31           MultiplyMatrices
 5.9.32           MultiplyMatrixVector
 5.9.33           MultiplyScalarMatrix
 5.9.34           Percentile
 5.9.35           PowerMatrix
 5.9.36           PowerMatrixScalar
 5.9.37           PowerScalarMatrix
 5.9.38           ReadMatrixFromXml
 5.9.39           Repeat
 5.9.40           Replace
 5.9.41           Reshape
 5.9.42           ReverseCumulativeProductMatrix
 5.9.43           ReverseMatrix
 5.9.44           Size
 5.9.45           Split
 5.9.46           SquareRootMatrix
 5.9.47           Step
 5.9.48           SubtractMatrices
 5.9.49           SubtractMatrixScalar
 5.9.50           SubtractScalarMatrix
 5.9.51           Sum
 5.9.52           Transpose
 5.9.53           UnitMatrix
 5.9.54           Vector
 5.10         Creating custom formulas in Futurama
 6      Futurama - Objects
 6.1        Action
 6.2        Aggregation
 6.3        Button
 6.4        ChangeValue
 6.5        CheckBox
 6.6        ClearCache
 6.7        DatabaseField
 6.8        DatabaseView
 6.9        DataTable
 6.10         DateBox
 6.11         DocConverter
 6.12         Document
 6.13         Download
 6.14         DropDownList
 6.15         EmailConverter
 6.16         ExcelConverter
 6.17         FileSaver
 6.18         FileUploader
 6.19         Fixed
 6.20         Formula
 6.21         GraphConverter
 6.22         HTMLInclude
 6.23         InterfacesNode
 6.24         LogMessage
 6.25         Navigator
 6.26         Node
 6.27         RadioButton
 6.28         RadioGroup
 6.29         Range
 6.30         Reference
 6.31         SubDocument
 6.32         TextBox
 6.33         UserTable
 6.34         UserVariable
 6.35         WebLabel
 6.36         WebListBox
 6.37         WebPage
 6.38         WebPanel
 6.39         WebReference
 6.39.1           WebReference - WCF Configuration
 6.40         WebService
 6.41         WebSlider
 6.42         WordConverter
 6.43         XmlBuilder
 6.44         XmlConverter
 6.45         XmlField
 6.46         XmlNode
 7      Futurama - Vision References
 7.1        Data
 7.1.1          ReadData
 7.1.2          WriteMessage
 7.1.3          GetPersonIdentifiers
 7.1.4          CreatePerson
 7.2        DataStore
 7.2.1          DeleteDataItem
 7.2.2          DeleteDataItemHierarchy
 7.2.3          DeleteDataItems
 7.2.4          GetDataItem
 7.2.5          GetDataItemHierarchy
 7.2.6          GetDataItems
 7.2.7          StoreData
 7.3        Accounts
 7.3.1          Activate Account
 7.3.2          Change Account
 7.3.3          Create Account
 7.3.4          GetQuestion
 7.3.5          GetQuestions
 7.3.6          Login
 7.3.7          ReadData
 7.3.8          ReinitializeAccount
 7.4        General
 7.4.1          TestConnection
 8      Futurama Vision
 8.1        Installation Futurama Vision
 8.1.1          Installation Futurama Vision Management Site
 8.1.2          Installation or Upgrade of the Futurama Vision Database
 8.2        Futurama Vision Management Site
 8.2.1          Futurama Vision Management Site - Admin
 8.2.2          Futurama Vision Management Site – Security
 8.2.3          Futurama Vision Management Site – Skinning
 8.2.4          Importing data into Futurama Vision
 8.2.4.1            Importing data by webservice
 8.2.4.2            Importing data from a Zip-file
 8.2.4.3            Importing data with Futurama Vision Batch
 8.2.4.4            Futurama Vision Webservice Security
 8.2.5          Further processing of data into Futurama Vision
 8.3        Futurama Vision File manager
 8.4        Activity overview
 8.5        Storing data in Vision from a Futurama application
 8.6        Futurama Vision – Data
 8.7        Futurama Accounts - Management Site
 8.7.1          Futurama Accounts - Table in Vision Database
 8.8        Futurama Server - Management Site
 8.8.1          Special Futurama Server Jobs
 8.9        Futurama Register - Management Site
 8.9.1          Configuration - Futurama Register
 8.10         Retrieving AppEvents from Futurama Vision
 8.11         Adding CustomPages to Vision
 9      Futurama Intermediate Control Output (FICO)
 9.1        FICO example - Change/Add HTML headers
 9.2        FICO example - Change Graph
 9.3        HTML5 Template
 10       Futurama Web API
 10.1         Postbacks of Futurama webcontrols
 10.2         Retrieving Resources using Web API
 10.3         WebAPI Session management
 11       Tutorials - Overview
 11.1         Tutorials - Examples and Downloads
 11.2         Beginners
 11.2.1           Creating formulas with Futurama
 11.2.1.1             Exercise 1: Pythagorean Theorem (Easy)
 11.2.1.2             Exercise 2: Newspaper stall (Medium)
 11.2.1.3             Exercise 3: Recursive functions (Difficult)
 11.2.1.4             Exercise 4: Leap Year (Difficult)
 11.2.1.5             Exercise 5: The Guessing Game I (Medium)
 11.2.2           Creating a Website Application
 11.2.2.1             Exercise 1: Creating a Website (Easy)
 11.2.3           Styling your website with CSS
 11.2.3.1             Exercise 1: Adding CSS (Easy)
 11.2.4           Adding interactivity to your website
 11.2.4.1             Exercise 1: Summation (Easy)
 11.2.4.2             Exercise 2: The Guessing Game II (Medium)
 11.2.4.3             Exercise 3: Nationality (Medium)
 11.2.4.4             Exercise 4: Nationality - RepeatTarget (Medium)
 11.2.4.5             Exercise 5: Reversed Guessing (Difficult)
 11.2.5           Working with Tables
 11.2.5.1             Exercise 1: Average (Easy)
 11.2.5.2             Exercise 2: Boundary values (Difficult)
 11.2.5.3             Exercise 3: Standard Deviation (Medium)
 11.2.6           Reading and processing XML-data in Futurama
 11.2.6.1             Exercise 1: Shares (Medium)
 11.2.7           Adding Graphs in Futurama
 11.2.7.1             Exercise 1: World Population (Easy)
 11.2.8           Working with Actions in Futurama
 11.2.8.1             Exercise 1: Changing Colors (Easy)
 11.2.8.2             Exercise 2: On and Off (Medium)
 11.2.8.3             Exercise 3: The ChangeValue object (Difficult)
 11.2.8.4             Exercise 4: The Guessing Game III (Medium)
 11.2.8.5             Exercise 5: CheckBox (Medium)
 11.2.9           Multiple Pages and Navigation
 11.2.10            Using XSLT to display data
 11.2.10.1              Exercise 1: Overview Summation (Easy)
 11.2.10.2              Exercise 2: Persons (Medium)
 11.2.10.3              Exercise 3: Leap Year Overview (Difficult)
 11.2.11            Webservices in Futurama
 11.2.11.1              Exercise 1: Example (Easy)
 11.2.12            Creating a Webservice Application
 11.2.12.1              Exercise 1: Add (Easy)
 11.2.12.2              Exercise 2: Webservice Nationality (Medium)
 11.2.13            Creating a Console Application
 11.2.13.1              Exercise 1: Adding extra fields (Easy)
 11.2.14            Generating Documents
 11.2.14.1              Exercise 1: Tax Rate (Medium)
 11.2.14.2              Exercise 2: Tax Rates Table (Difficult)
 11.3         Advanced
 11.3.1           Responsive Design
 11.3.1.1             Exercise 1: Orientation
 11.3.1.2             Exercise 2: Target different screen sizes
 11.4         Older Tutorials (Futurama Version 3.2)
 11.4.1           Futurama Editor Tutorial 1: The first sum
 11.4.2           Futurama Editor Tutorial 2: An annuity
 11.4.3           Futurama Editor Tutorial 3: Working with tables
 11.4.4           Futurama Editor Tutorial 4: Modelling a DB pension plan
 11.4.5           Futurama Editor Tutorial 5: Working with XML
 11.4.6           Futurama Web Tutorial 1: Hello world
 11.4.7           Futurama Web Tutorial 2: Buttons and Actions
 11.4.8           Futurama Web Tutorial 3: Textboxes
 11.4.9           Futurama Web Tutorial 4: DropdownLists
 12       Miscellaneous
 12.1         Responsive website
 12.2         Reducing memory usage for XmlNodes and XmlFields
 12.3         Explaining caching for websites and webservices
 12.4         Certificates - basic information
 12.5         Performance XML operations
 12.6         Creating XSD files and using them in combination with Futurama
 13       Templates
 14       Safe2Save WebAPI Sample
View  |  Print  |  PDF

451 documents found.


Installation Futurama Webservice

System-administrator
Futurama-Webservice
Installation

 

Edition: Futurama Webservice

Module: Futurama Webservice

User: System administrator

Prerequisites

- License file

- User name and password for Futurama downloads

- Windows 2008 R2 server or higher

- .NET Framework 4.6.2 with ASP.Net and WCF-Services to be installed

- Internet Information Server 7.5 or higher

 

Description

In order to use the Futurama Webservice edition, the Futurama Webservice module has to be installed. At this page you can find the steps to install this module.

Download

Visit the Futurama website www.futurama.eu to download the Futurama Webservice code:

  • Go to www.futurama.eu
  • Go to the download section of the Support menu
  • Log in with user name and password
  • Click the most recent Futurama release
  • Extract the zip-file

Installation

Release folder

Use the release code from the folder webservice.

Installation initial version

If this is the first installation of the Futurama Webservice code for a new application follow the steps in this paragraph. If you already have a working application and are intended to upgrade this to a new Futurama version consult the next paragraph 'Upgrading existing version'. To install the Futurama Webservice module for a new application follow the next steps:

  • Create at the Windows webserver a new folder in which the code from the release folder can be installed
  • Copy the code from the release folder to this new folder
  • Copy the license file to this new folder
  • Rename the default.config to web.config (see the description in chapter 'Configuration' for the way the web.config can be configured)
  • Within IIS create a new application. Choose as physical path the path to the new created folder
  • Create an application pool in which this application has to run. make sure the application runs on ASP .Net 4.0
  • Choose from your application this application pool

Upgrading existing version

If you already have installed the Futurama Webservice code, and want to upgrade this to a new version follow the steps in this paragraph. If this is the first installation follow the steps in the preceding paragraph 'Installation initial version'. Follow the next steps to upgrade an existing version of the Futurama Webservice:

  • Open the folder at the Windows webserver where you have installed the Futurama Webservice code
  • Copy the code from the release folder to this new folder
  • Convert existing Futurama documents (see below 'Installation Futurama application) to the new Futurama version. See the chapter 'Converting Futurama Documents' at the page 'Installation Futurama Editor' for more information regarding the conversion of Futurama documents

Installation Futurama application

After installing the Futurama code you have to install your Futurama application. The Futurama application is a folder containing Futurama xml-files and other files that define the webservice. Install this folder in the same folder as the installation of the Futurama webservice code. 

Download files

You can use a sample application to test the Futurama Webservice installation. Follow the next
steps to install the sample Futurama application:

  • Download the zip-file with the sample Futurama application from this page
  • Extract the contents of the zip-file
  • Copy the folder "SavingsAccount" to the folder that contains the Futurama Webservice code (version 4.2.1 or higher)
  • To test the Futurama Webservice application use a testtool for webservices (for example SoapUI).
  • Fill in the WSDL of your service. (typically of the form 'http://servername/applicationname/service.svc?wsdl')
  • Choose the method 'GetWebserviceResult'
  • In the request the next parameters are relevant:
    - <web:Document>: the name of the Futurama Document with the definition of the calculation to be made. In this sample the name of the document is savingsaccountwebservice.xml;
    -  <web: Folder>: the path to the Futurama file 'savingsaccountwebservice.xml' that is located within the folder 'SavingsAccount'. This path is [path to folder with Futurama Webservice code]\SavingsAccount (for example C:\inetpub\wwwroot\Testwebservice\SavingsAccount);
    -  <web:WebServiceName>: the name of the InterfacesNode that is defined in the Futurama document. In this sample the value of the parameter is 'GetSavings';
    -  <web:inputxml>: the input request. Copy and paste the data from the file 'TestInput.xml' that is located in the 'SavingsAccount' folder
  • Example of request:
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
    xmlns:web="http://www.ActuIT.nl/Futurama/WebService">
       <soapenv:Header/>
       <soapenv:Body>
          <web:GetWebServiceResult>
             <!--Optional:-->
             <web:location>
                <!--Optional:-->
                <web:Document>savingsaccountwebservice.xml</web:Document>
                <!--Optional:-->
                <web:Folder>C:\inetpub\wwwroot\Testwebservice\SavingsAccount</web:Folder>
                <!--Optional:-->
                <web:WebServiceName>GetSavings</web:WebServiceName>
             </web:location>
             <!--Optional:-->
             <web:inputxml>
                <!--You may enter ANY elements at this point-->
                <data xmlns="http://www.futurama.eu/Safe2SaveWebservice">
    			<CashBalance>10000</CashBalance>
    			<Interest>3</Interest>
    			<Years>25</Years>
    		</data>
             </web:inputxml>
          </web:GetWebServiceResult>
       </soapenv:Body>
    </soapenv:Envelope>
                                             
  • Use this request to test the Futurama Webservice installation. You can change the values in the inputxml to test other calculations.
  • The installation above uses the pre-defined WSDL provided by Futurama which is typically of the form 'http://servername/applicationname/service.svc?wsdl'. When using a custom WSDL, available from version 17.11, this is typically of the form 'http://servername/applicationname/service.svc?wsdl&folder=foldername&document=documentname.xml'.
  • When using a custom WSDL the available methods are the ones described in this WSDL. In SOAPUI for example, instead of the generic methods only the methods described in the custom WSDL will be generated automatically.
  • The requests will typically be a lot smaller when using a custom WSDL. The web:location element, for example, will not be shown any more. An example is given below: 
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ops="http://www.ActuIT.nl/Futurama/WebService/Operation">
       <soapenv:Header/>
       <soapenv:Body>
          <ops:Request>
             <ops:n>8</ops:n>
          </ops:Request>
       </soapenv:Body>
    </soapenv:Envelope>
                                             
  • Similar to the WSDL, a pre-defined WADL is provided by Futurama (from version 18.02) which is typically of the form 'http://servername/applicationname/rest?wadl'.

Configuration

Description

After installing the Futurama Webservice code the configuration can be done. See below for this configuration.

Configuration File

In the release folder we provided a default.config. In the Installation steps mentioned above this default.config is renamed to web.config. In this configuration section the sections within this configuration file are explained.

configSections and futuramaSettings

Within the section 'configSections' you find a sectionGroup named futuramaSettings. This sectionGroup futuramaSettings is also a separate section in the config under the configSections section. Each section name within the sectionGroup futuramaSettings is also contained within the futuramaSettings section. Below a brief explanation of these futuramaSettings sections.

Configuration Log

It is possible to log errors, warnings, information messages and developers messages with Futurama. In the chapter 'Configuration Log' you can find information how to configure the configuration file to log this information.

Configuration Cache

In the chapter 'Configuration Cache' you can find information about configuring the settings of caching information. caching for webservices should only be used in environments where there is total control of the calls to the webservice. Only sequential calls should be used. More information about the caching for webservices can be found at this page.

Configuration Format

The format settings of for example dates and numbers are described in the chapter 'Configuration Format'.

Configuration Mapping

In the chapter 'Configuration Mapping' you can find information about configuring default locations of your Futurama applications.

Configuration Vision

The configuration of the connection between the Futurama Editor and Futurama Vision is described in the chapter 'Configuration Vision'.

Configuration Web API

The configuration how to enable Futurama Web API is described in the chapter 'Configuration Web API'.

Configuration Custom WSDL (Futurama 17.11+)

The configuration how to enable Futurama Custom WSDL is described in paragraph 'Custom WSDL (Futurama 17.11+)' of this page.

The configuration how to enable WADL is described in paragraph 'WADL (Futurama 18.02+)' of this page.

Testing

The installation and the configuration can be tested. See below how to test. If you encounter problems, check the chapter 'Troubleshooting'.

Test the webservice

To test whether the webservice is correct working type the following URL: http://servername/applicationname/service.svc (for example http://localhost/FuturamaWebservice/service.svc in the situation you installed the Futurama Webservice code in the folder FuturamaWebservice within localhost). You should now see a screen stating that you have succesfully created a webservice.

Test webservice request and response

In the screen mentioned at the 'Test the webservice' paragraph, the URL of the webservice is stated. This will typically be of the form http://servername/applicationname/service.svc?wsdl. Using this URL further tests can now be carried out. In order to do these tests a package dedicated to sending requests to the webservice is needed. An example of such a package is SOAPUI.

A straightforward test is to check whether Futurama Webservice returns the proper version number. The following request can be send in order to retrieve the version:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
 xmlns:web="http://www.ActuIT.nl/Futurama/WebService">
	<soapenv:Header/>
	<soapenv:Body>
		<web:GetFuturamaVersion/>
	</soapenv:Body>
</soapenv:Envelope>

Another good test is to download the sample as described in the paragraph 'Installation Futurama application' and check whether you get a response. For more information about the webservice methods that can be used with Futurama Webservice consult the description of the Futurama Object WebService.  

Security

When you use WCF, you can use the message security options that WCF provides.

You can use message security, for example with a certificate, or with a username and password.

To use a username and password, you need to specify a few things in the web.config

First you define the 'ServiceCredentialsInHeaderAdapter' extension by adding it to system.serviceModel

	<extensions>
		<behaviorExtensions>
			<add name="ServiceCredentialsInHeaderAdapter"
                type="ActuIT.Futurama.Engine.ServiceCredentialsInHeaderAdapterBehaviorElement, 
          ActuIT.Futurama.Engine, Version=*, Culture=neutral, PublicKeyToken=null"/>
		</behaviorExtensions>
	</extensions>

Then you add the name of a behavior to the binding of the service

<service name="ActuIT.Futurama.WcfService.Service" behaviorConfiguration="ActuIT.Futurama.WcfService.Service">
	<!-- Service Endpoints -->
	<endpoint address="" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_Service" 
		contract="ActuIT.Futurama.WcfService.IService">
	</endpoint>
</service>

Then you add the usernames to the behavior

<behavior name="ActuIT.Futurama.WcfService.Service">
  <!-- To avoid disclosing metadata information, set the value below to false 
		and remove the metadata endpoint above before deployment -->
  <serviceMetadata httpGetEnabled="true" />
  <!-- To receive exception details in faults for debugging purposes, set the value below to true.  
	Set to false before deployment to avoid disclosing exception information -->
  <serviceDebug includeExceptionDetailInFaults="true" />
  <serviceCredentials>
	<userNameAuthentication userNamePasswordValidationMode="Custom" 
	customUserNamePasswordValidatorType="ActuIT.Futurama.WcfService.FuturamaUserNameValidator, ActuIT.Futurama.WcfService" />
  </serviceCredentials>
  <ServiceCredentialsInHeaderAdapter>
	<users>
	  <user userName="testuser" password="testpassword"/>
	  <user userName="testuser2" password="testpassword2"/>
	</users>
  </ServiceCredentialsInHeaderAdapter>
</behavior>        

Make sure the binding configuration BasicHttpBinding_Service is defined within basicHttpBinding.

You can then the test the webservice from, for example, SOAP UI, by using the following settings:

image

Make sure to select as WSS-PasswordType: PasswordText. This can be selected in the Request Properties pane at the bottom left of SOAP UI.

To apply ServiceCredentials to a Rest call you can define the same behavior. Make sure to name the behavior ActuIT.Futurama.WcfService.RestService.

Explicit operation exposure (Futurama 17.11+)

From Futurama version 17.11 it is possible to expose explicit operations and thus generate a specific WSDL. To enable this functionality the following has to be added to the configuration:

<system.webServer>
	<defaultDocument>
		<files>
			<add value="service.svc"/>
		</files>
	</defaultDocument>
	<modules>
		<add type="ActuIT.Futurama.WcfService.SpecificWsdlHttpModule" name="SpecificWsdlHttpModule"/>
	</modules>
</system.webServer>

Specific WSDL is only available if traditional wsdl exposure (service metadata) is enabled in the config file. (N.B. for versions 17.11-18.02 ‘SpecificWsdlHttpModule’ was called ‘CustomWsdlHttpModule’)

WADL (Futurama 18.02+)

From Futurama version 18.02 it is possible to generate a WADL. To enable this functionality the following has to be added to the configuration:

<system.webServer>
	<defaultDocument>
		<files>
			<add value="service.svc"/>
		</files>
	</defaultDocument>
	<modules>
		<add type="ActuIT.Futurama.WcfService.WadlHttpModule" name="WadlHttpModule"/>
	</modules>
</system.webServer>

WADL is only available if traditional wsdl exposure (service metadata) is enabled in the config file.

Troubleshooting

If you encounter problems with the installation check the sections below. See also the page Troubleshooting for more information regarding the testing of webservice reuqests and calls.

Enable webservice logging

Webservice requests and responses can be tested by enabling the webservice logging. See paragraph 'Logging webservices messages' how to enable webservice logging. More information how to interpret the webservice logging files can be found at the Troubleshooting page.

Error while browsing to webservice url

If you retrieve an error while browsing to your webservice address, check whether you installed ASP.NET and WCF-services within .NET Framework 4.6.2.

License error after windows upgrade

Up to Futurama version 5.3 a license error occurs after an upgrade to Windows 10 or Windows Server 2012. This issue is solved in Futurama version 5.3. When encountering this problem update to the most recent Futurama version.

HTTP Error 404.3-Not found

The errormessage shows 'HTTP Error 404.3 - Not Found'. The page you are requesting cannot be served because of the extension configuration. If the page is a script, add a handler. If the file should be downloaded, add a MIME map.

The solution depends on the version of IIS that is running on your system. Check the version before continuing.

IIS 7.5

It is possible to install all missing MIME-types with a single command. To do this take the following steps:

  1. Open a Command Prompt
  2. Go to the directory C:\Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation
  3. Execute the following command: ServiceModelReg.exe -i

After execution the missing MIME-type has been added and the webservice will work once more. If a Handler is missing see the next troubleshoot.

IIS 8.0

The problem can be resolved by adjusting the installation of certain Windows-parts. When doing a clean install these will not be set properly automatically.

  1. Go to Control Panel/Programs and Features/Turn Windows features on or off
  2. Select all the checkboxes at WCF Services

If you applied the solution for IIS 7.5 while your system has IIS 8.0 instead, the solution for IIS 8.0 will not work any more. First you have to undo the command belonging to IIS 7.5. This can be done with the uninstall-command: ServiceModelReg.exe -u.

Missing HandlerMappings

When requesting a webservice the error appears that type System.ServiceModel.Activation.HttpModule could not be loaded from assembly System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089. This is because in IIS at the HandlerMappings not all .svc HandlerMappings exist. The ASP.NET 4.0 HandlerMappings have to be added.

The solution depends on the version of IIS that is running on your system. Check the version before continuing.

IIS 7.5

It is possible to install the missing HandlerMappings with a single command. To do this take the following steps:

  1. Open a Command Prompt
  2. 2.Go to the directory C:\Windows\Microsoft.NET\Framework\v4.0.30319
  3. 3.Execute the following command: aspnet_regiis -ir

By doing this IIS is again registered without altering the existing webapplications. In IIS at HandlerMappings a number of .svc HandlerMappings have been added.

Related Topics

- WebService: To build your own custom made webservice, you have to use the WebService object in the Futurama Editor

Relevant Tutorials

- Webservices in Futurama: This tutorial shows how you can work with webservices in Futurama.

- Creating a Webservice Application: This tutorial shows you how you to create a webservice application in Futurama.

External Links

- SOAPUI: Package that can be used to test webservice requests responses

Feedback

If you have any questions about this subject or if you want to provide us feedback please send us an e-mail.

Updated: 2017-12-27


Previous  |  Next