izzyjere / SoapSimulator

Simple Object Access Protocol Server for Simulating Requests and Responses.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SoapSimulator

ASP.Core Server for Simulating SOAP Protocol. Only useful as a testing environment. This sample uses opensource package SoapCore

General Usage

The current configuartion ignores any request validation this is mainly for cases where you just want to test various responses from actual soap services. To change this behaviour set RequestValidation property inside appsettings.json file to true.

{
  "ConnectionStrings": {
    "DefaultConnection": "Data Source = sysConfig.db"
  },
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information",
      "Microsoft.EntityFrameworkCore": "Information"
    }
  },
  "AllowedHosts": "*",
  "urls": "http://::5003",
  "RequestValidation": true
}

Sample Response from the server for the soap request http://locahost:5003/soap/GetTransactions

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soapcore="http://soapsimulator/SoapSimulator.Core" xmlns:core="http://schemas.datacontract.org/2004/07/SoapSimulator.Core" xmlns:array="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <s:Body>
        <soapcore:ExecuteActionResponse>
            <soapcore:ExecuteActionResult xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
                <soapcore:Data i:type="core:DynamicXmlObject">
                    <Transaction>
                        <Transaction>
                            <Date>2022-02-16T17:30:45</Date>
                            <CreditValueDate>2022-02-16T17:30:45</CreditValueDate>
                            <DebitValueDate>2022-02-16T17:30:45</DebitValueDate>
                            <CreditAmount>250.00</CreditAmount>
                            <DebitAccount>10010002</DebitAccount>
                            <CreditAccount>10010003</CreditAccount>
                            <Narration>Transfer to Savings</Narration>
                            <DestinationBankSortCode>BR003</DestinationBankSortCode>
                        </Transaction>
                        <Transaction>
                            <Date>2022-02-17T14:20:10</Date>
                            <CreditValueDate>2022-02-17T14:20:10</CreditValueDate>
                            <DebitValueDate>2022-02-17T14:20:10</DebitValueDate>
                            <CreditAmount>120.00</CreditAmount>
                            <DebitAccount>10010002</DebitAccount>
                            <CreditAccount>10010001</CreditAccount>
                            <Narration>ATM Withdrawal</Narration>
                            <DestinationBankSortCode>BR001</DestinationBankSortCode>
                        </Transaction>
                        <Transaction>
                            <Date>2022-02-18T09:12:34</Date>
                            <CreditValueDate>2022-02-18T09:12:34</CreditValueDate>
                            <DebitValueDate>2022-02-18T09:12:34</DebitValueDate>
                            <CreditAmount>2500.00</CreditAmount>
                            <DebitAccount>10010002</DebitAccount>
                            <CreditAccount>10010001</CreditAccount>
                            <Narration>Salary Payment</Narration>
                            <DestinationBankSortCode>BR001</DestinationBankSortCode>
                        </Transaction>
                    </Transaction>
                </soapcore:Data>
                <soapcore:Message></soapcore:Message>
                <soapcore:Method>GetTransactions</soapcore:Method>
                <soapcore:Status>Success</soapcore:Status>
            </soapcore:ExecuteActionResult>
        </soapcore:ExecuteActionResponse>
    </s:Body>
</s:Envelope>

About

Simple Object Access Protocol Server for Simulating Requests and Responses.

License:MIT License


Languages

Language:C# 65.4%Language:HTML 33.6%Language:Dockerfile 1.0%