Test

<back to all web services

DummyTypes

Imports System
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports Test.ServiceInterface
Imports Test.ServiceModel

Namespace Global

    Namespace ServiceStack

        <DataContract>
        Public Partial Class AuditBase
            <DataMember(Order:=1)>
            Public Overridable Property CreatedDate As Date

            <DataMember(Order:=2)>
            <Required>
            Public Overridable Property CreatedBy As String

            <DataMember(Order:=3)>
            Public Overridable Property ModifiedDate As Date

            <DataMember(Order:=4)>
            <Required>
            Public Overridable Property ModifiedBy As String

            <DataMember(Order:=5)>
            Public Overridable Property DeletedDate As Nullable(Of Date)

            <DataMember(Order:=6)>
            Public Overridable Property DeletedBy As String
        End Class

        <DataContract>
        Public Partial Class CancelRequest
            Implements IPost
            Implements IMeta
            Public Sub New()
                Meta = New Dictionary(Of String, String)
            End Sub

            <DataMember(Order:=1)>
            Public Overridable Property Tag As String

            <DataMember(Order:=2)>
            Public Overridable Property Meta As Dictionary(Of String, String)
        End Class

        <DataContract>
        Public Partial Class CancelRequestResponse
            Implements IMeta
            Public Sub New()
                Meta = New Dictionary(Of String, String)
            End Sub

            <DataMember(Order:=1)>
            Public Overridable Property Tag As String

            <DataMember(Order:=2)>
            Public Overridable Property Elapsed As TimeSpan

            <DataMember(Order:=3)>
            Public Overridable Property Meta As Dictionary(Of String, String)

            <DataMember(Order:=4)>
            Public Overridable Property ResponseStatus As ResponseStatus
        End Class

        <DataContract>
        Public Partial Class ConvertSessionToToken
            Implements IPost
            Implements IMeta
            Public Sub New()
                Meta = New Dictionary(Of String, String)
            End Sub

            <DataMember(Order:=1)>
            Public Overridable Property PreserveSession As Boolean

            <DataMember(Order:=2)>
            Public Overridable Property Meta As Dictionary(Of String, String)
        End Class

        <DataContract>
        Public Partial Class ConvertSessionToTokenResponse
            Implements IMeta
            Public Sub New()
                Meta = New Dictionary(Of String, String)
            End Sub

            <DataMember(Order:=1)>
            Public Overridable Property Meta As Dictionary(Of String, String)

            <DataMember(Order:=2)>
            Public Overridable Property AccessToken As String

            <DataMember(Order:=3)>
            Public Overridable Property RefreshToken As String

            <DataMember(Order:=4)>
            Public Overridable Property ResponseStatus As ResponseStatus
        End Class

        <DataContract>
        Public Partial Class EmptyResponse
            <DataMember(Order:=1)>
            Public Overridable Property ResponseStatus As ResponseStatus
        End Class

        <DataContract>
        Public Partial Class GetAccessToken
            Implements IPost
            Implements IMeta
            Public Sub New()
                Meta = New Dictionary(Of String, String)
            End Sub

            <DataMember(Order:=1)>
            Public Overridable Property RefreshToken As String

            <DataMember(Order:=2)>
            Public Overridable Property Meta As Dictionary(Of String, String)
        End Class

        <DataContract>
        Public Partial Class GetAccessTokenResponse
            Implements IMeta
            Public Sub New()
                Meta = New Dictionary(Of String, String)
            End Sub

            <DataMember(Order:=1)>
            Public Overridable Property AccessToken As String

            <DataMember(Order:=2)>
            Public Overridable Property Meta As Dictionary(Of String, String)

            <DataMember(Order:=3)>
            Public Overridable Property ResponseStatus As ResponseStatus
        End Class

        <DataContract>
        Public Partial Class GetApiKeys
            Implements IGet
            Implements IMeta
            Public Sub New()
                Meta = New Dictionary(Of String, String)
            End Sub

            <DataMember(Order:=1)>
            Public Overridable Property Environment As String

            <DataMember(Order:=2)>
            Public Overridable Property Meta As Dictionary(Of String, String)
        End Class

        <DataContract>
        Public Partial Class GetApiKeysResponse
            Implements IMeta
            Public Sub New()
                Results = New List(Of UserApiKey)
                Meta = New Dictionary(Of String, String)
            End Sub

            <DataMember(Order:=1)>
            Public Overridable Property Results As List(Of UserApiKey)

            <DataMember(Order:=2)>
            Public Overridable Property Meta As Dictionary(Of String, String)

            <DataMember(Order:=3)>
            Public Overridable Property ResponseStatus As ResponseStatus
        End Class

        <DataContract>
        Public Partial Class GetNavItems
            <DataMember(Order:=1)>
            Public Overridable Property Name As String
        End Class

        <DataContract>
        Public Partial Class GetNavItemsResponse
            Implements IMeta
            Public Sub New()
                Results = New List(Of NavItem)
                NavItemsMap = New Dictionary(Of String, List(Of NavItem))
                Meta = New Dictionary(Of String, String)
            End Sub

            <DataMember(Order:=1)>
            Public Overridable Property BaseUrl As String

            <DataMember(Order:=2)>
            Public Overridable Property Results As List(Of NavItem)

            <DataMember(Order:=3)>
            Public Overridable Property NavItemsMap As Dictionary(Of String, List(Of NavItem))

            <DataMember(Order:=4)>
            Public Overridable Property Meta As Dictionary(Of String, String)

            <DataMember(Order:=5)>
            Public Overridable Property ResponseStatus As ResponseStatus
        End Class

        <DataContract>
        Public Partial Class IdResponse
            <DataMember(Order:=1)>
            Public Overridable Property Id As String

            <DataMember(Order:=2)>
            Public Overridable Property ResponseStatus As ResponseStatus
        End Class

        Public Partial Class NavItem
            Implements IMeta
            Public Sub New()
                Children = New List(Of NavItem)
                Meta = New Dictionary(Of String, String)
            End Sub

            Public Overridable Property Label As String
            Public Overridable Property Href As String
            Public Overridable Property Exact As Nullable(Of Boolean)
            Public Overridable Property Id As String
            Public Overridable Property ClassName As String
            Public Overridable Property IconClass As String
            Public Overridable Property IconSrc As String
            Public Overridable Property Show As String
            Public Overridable Property Hide As String
            Public Overridable Property Children As List(Of NavItem)
            Public Overridable Property Meta As Dictionary(Of String, String)
        End Class

        <DataContract>
        Public Partial Class RegenerateApiKeys
            Implements IPost
            Implements IMeta
            Public Sub New()
                Meta = New Dictionary(Of String, String)
            End Sub

            <DataMember(Order:=1)>
            Public Overridable Property Environment As String

            <DataMember(Order:=2)>
            Public Overridable Property Meta As Dictionary(Of String, String)
        End Class

        <DataContract>
        Public Partial Class RegenerateApiKeysResponse
            Implements IMeta
            Public Sub New()
                Results = New List(Of UserApiKey)
                Meta = New Dictionary(Of String, String)
            End Sub

            <DataMember(Order:=1)>
            Public Overridable Property Results As List(Of UserApiKey)

            <DataMember(Order:=2)>
            Public Overridable Property Meta As Dictionary(Of String, String)

            <DataMember(Order:=3)>
            Public Overridable Property ResponseStatus As ResponseStatus
        End Class

        <DataContract>
        Public Partial Class StringResponse
            Implements IMeta
            Public Sub New()
                Meta = New Dictionary(Of String, String)
            End Sub

            <DataMember(Order:=1)>
            Public Overridable Property Result As String

            <DataMember(Order:=2)>
            Public Overridable Property Meta As Dictionary(Of String, String)

            <DataMember(Order:=3)>
            Public Overridable Property ResponseStatus As ResponseStatus
        End Class

        <DataContract>
        Public Partial Class StringsResponse
            Implements IMeta
            Public Sub New()
                Results = New List(Of String)
                Meta = New Dictionary(Of String, String)
            End Sub

            <DataMember(Order:=1)>
            Public Overridable Property Results As List(Of String)

            <DataMember(Order:=2)>
            Public Overridable Property Meta As Dictionary(Of String, String)

            <DataMember(Order:=3)>
            Public Overridable Property ResponseStatus As ResponseStatus
        End Class

        <DataContract>
        Public Partial Class UpdateEventSubscriber
            Implements IPost
            Public Sub New()
                SubscribeChannels = New String(){}
                UnsubscribeChannels = New String(){}
            End Sub

            <DataMember(Order:=1)>
            Public Overridable Property Id As String

            <DataMember(Order:=2)>
            Public Overridable Property SubscribeChannels As String()

            <DataMember(Order:=3)>
            Public Overridable Property UnsubscribeChannels As String()
        End Class

        <DataContract>
        Public Partial Class UpdateEventSubscriberResponse
            <DataMember(Order:=1)>
            Public Overridable Property ResponseStatus As ResponseStatus
        End Class

        <DataContract>
        Public Partial Class UserApiKey
            Implements IMeta
            Public Sub New()
                Meta = New Dictionary(Of String, String)
            End Sub

            <DataMember(Order:=1)>
            Public Overridable Property Key As String

            <DataMember(Order:=2)>
            Public Overridable Property KeyType As String

            <DataMember(Order:=3)>
            Public Overridable Property ExpiryDate As Nullable(Of Date)

            <DataMember(Order:=4)>
            Public Overridable Property Meta As Dictionary(Of String, String)
        End Class
    End Namespace

    Namespace Test.ServiceInterface

        Public Partial Class DummyTypes
            Public Sub New()
                HelloResponses = New List(Of HelloResponse)
                ListResult = New List(Of ListResult)
                ArrayResult = New ArrayResult(){}
            End Sub

            Public Overridable Property HelloResponses As List(Of HelloResponse)
            Public Overridable Property ListResult As List(Of ListResult)
            Public Overridable Property ArrayResult As ArrayResult()
            Public Overridable Property CancelRequest As CancelRequest
            Public Overridable Property CancelRequestResponse As CancelRequestResponse
            Public Overridable Property UpdateEventSubscriber As UpdateEventSubscriber
            Public Overridable Property UpdateEventSubscriberResponse As UpdateEventSubscriberResponse
            Public Overridable Property GetApiKeys As GetApiKeys
            Public Overridable Property GetApiKeysResponse As GetApiKeysResponse
            Public Overridable Property RegenerateApiKeys As RegenerateApiKeys
            Public Overridable Property RegenerateApiKeysResponse As RegenerateApiKeysResponse
            Public Overridable Property UserApiKey As UserApiKey
            Public Overridable Property ConvertSessionToToken As ConvertSessionToToken
            Public Overridable Property ConvertSessionToTokenResponse As ConvertSessionToTokenResponse
            Public Overridable Property GetAccessToken As GetAccessToken
            Public Overridable Property GetAccessTokenResponse As GetAccessTokenResponse
            Public Overridable Property NavItem As NavItem
            Public Overridable Property GetNavItems As GetNavItems
            Public Overridable Property GetNavItemsResponse As GetNavItemsResponse
            Public Overridable Property EmptyResponse As EmptyResponse
            Public Overridable Property IdResponse As IdResponse
            Public Overridable Property StringResponse As StringResponse
            Public Overridable Property StringsResponse As StringsResponse
            Public Overridable Property AuditBase As AuditBase
        End Class
    End Namespace

    Namespace Test.ServiceModel

        Public Partial Class ArrayResult
            Public Overridable Property Result As String
        End Class

        Public Partial Class HelloResponse
            Public Overridable Property Result As String
        End Class

        Public Partial Class ListResult
            Public Overridable Property Result As String
        End Class
    End Namespace
End Namespace

VB.NET DummyTypes DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /jsv/oneway/DummyTypes HTTP/1.1 
Host: test.servicestack.net 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	helloResponses: 
	[
		{
			result: String
		}
	],
	listResult: 
	[
		{
			result: String
		}
	],
	arrayResult: 
	[
		{
			result: String
		}
	],
	cancelRequest: 
	{
		tag: String,
		meta: 
		{
			String: String
		}
	},
	cancelRequestResponse: 
	{
		tag: String,
		elapsed: PT0S,
		meta: 
		{
			String: String
		},
		responseStatus: 
		{
			errorCode: String,
			message: String,
			stackTrace: String,
			errors: 
			[
				{
					errorCode: String,
					fieldName: String,
					message: String,
					meta: 
					{
						String: String
					}
				}
			],
			meta: 
			{
				String: String
			}
		}
	},
	updateEventSubscriber: 
	{
		id: String,
		subscribeChannels: 
		[
			String
		],
		unsubscribeChannels: 
		[
			String
		]
	},
	updateEventSubscriberResponse: 
	{
		responseStatus: 
		{
			errorCode: String,
			message: String,
			stackTrace: String,
			errors: 
			[
				{
					errorCode: String,
					fieldName: String,
					message: String,
					meta: 
					{
						String: String
					}
				}
			],
			meta: 
			{
				String: String
			}
		}
	},
	getApiKeys: 
	{
		environment: String,
		meta: 
		{
			String: String
		}
	},
	getApiKeysResponse: 
	{
		results: 
		[
			{
				key: String,
				keyType: String,
				expiryDate: 0001-01-01,
				meta: 
				{
					String: String
				}
			}
		],
		meta: 
		{
			String: String
		},
		responseStatus: 
		{
			errorCode: String,
			message: String,
			stackTrace: String,
			errors: 
			[
				{
					errorCode: String,
					fieldName: String,
					message: String,
					meta: 
					{
						String: String
					}
				}
			],
			meta: 
			{
				String: String
			}
		}
	},
	regenerateApiKeys: 
	{
		environment: String,
		meta: 
		{
			String: String
		}
	},
	regenerateApiKeysResponse: 
	{
		results: 
		[
			{
				key: String,
				keyType: String,
				expiryDate: 0001-01-01,
				meta: 
				{
					String: String
				}
			}
		],
		meta: 
		{
			String: String
		},
		responseStatus: 
		{
			errorCode: String,
			message: String,
			stackTrace: String,
			errors: 
			[
				{
					errorCode: String,
					fieldName: String,
					message: String,
					meta: 
					{
						String: String
					}
				}
			],
			meta: 
			{
				String: String
			}
		}
	},
	userApiKey: 
	{
		key: String,
		keyType: String,
		expiryDate: 0001-01-01,
		meta: 
		{
			String: String
		}
	},
	convertSessionToToken: 
	{
		preserveSession: False,
		meta: 
		{
			String: String
		}
	},
	convertSessionToTokenResponse: 
	{
		meta: 
		{
			String: String
		},
		accessToken: String,
		refreshToken: String,
		responseStatus: 
		{
			errorCode: String,
			message: String,
			stackTrace: String,
			errors: 
			[
				{
					errorCode: String,
					fieldName: String,
					message: String,
					meta: 
					{
						String: String
					}
				}
			],
			meta: 
			{
				String: String
			}
		}
	},
	getAccessToken: 
	{
		refreshToken: String,
		meta: 
		{
			String: String
		}
	},
	getAccessTokenResponse: 
	{
		accessToken: String,
		meta: 
		{
			String: String
		},
		responseStatus: 
		{
			errorCode: String,
			message: String,
			stackTrace: String,
			errors: 
			[
				{
					errorCode: String,
					fieldName: String,
					message: String,
					meta: 
					{
						String: String
					}
				}
			],
			meta: 
			{
				String: String
			}
		}
	},
	navItem: 
	{
		label: String,
		href: String,
		exact: False,
		id: String,
		className: String,
		iconClass: String,
		iconSrc: String,
		show: String,
		hide: String,
		children: 
		[
			{
				label: String,
				href: String,
				exact: False,
				id: String,
				className: String,
				iconClass: String,
				iconSrc: String,
				show: String,
				hide: String,
				children: 
				[
					{
						label: String,
						href: String,
						exact: False,
						id: String,
						className: String,
						iconClass: String,
						iconSrc: String,
						show: String,
						hide: String,
						children: 
						[
							{
								
							}
						],
						meta: 
						{
							String: String
						}
					}
				],
				meta: 
				{
					String: String
				}
			}
		],
		meta: 
		{
			String: String
		}
	},
	getNavItems: 
	{
		name: String
	},
	getNavItemsResponse: 
	{
		baseUrl: String,
		results: 
		[
			{
				label: String,
				href: String,
				exact: False,
				id: String,
				className: String,
				iconClass: String,
				iconSrc: String,
				show: String,
				hide: String,
				children: 
				[
					{
						label: String,
						href: String,
						exact: False,
						id: String,
						className: String,
						iconClass: String,
						iconSrc: String,
						show: String,
						hide: String,
						children: 
						[
							{
								label: String,
								href: String,
								exact: False,
								id: String,
								className: String,
								iconClass: String,
								iconSrc: String,
								show: String,
								hide: String,
								meta: 
								{
									String: String
								}
							}
						],
						meta: 
						{
							String: String
						}
					}
				],
				meta: 
				{
					String: String
				}
			}
		],
		navItemsMap: 
		{
			String: 
			[
				{
					label: String,
					href: String,
					exact: False,
					id: String,
					className: String,
					iconClass: String,
					iconSrc: String,
					show: String,
					hide: String,
					children: 
					[
						{
							label: String,
							href: String,
							exact: False,
							id: String,
							className: String,
							iconClass: String,
							iconSrc: String,
							show: String,
							hide: String,
							children: 
							[
								{
									label: String,
									href: String,
									exact: False,
									id: String,
									className: String,
									iconClass: String,
									iconSrc: String,
									show: String,
									hide: String,
									meta: 
									{
										String: String
									}
								}
							],
							meta: 
							{
								String: String
							}
						}
					],
					meta: 
					{
						String: String
					}
				}
			]
		},
		meta: 
		{
			String: String
		},
		responseStatus: 
		{
			errorCode: String,
			message: String,
			stackTrace: String,
			errors: 
			[
				{
					errorCode: String,
					fieldName: String,
					message: String,
					meta: 
					{
						String: String
					}
				}
			],
			meta: 
			{
				String: String
			}
		}
	},
	emptyResponse: 
	{
		responseStatus: 
		{
			errorCode: String,
			message: String,
			stackTrace: String,
			errors: 
			[
				{
					errorCode: String,
					fieldName: String,
					message: String,
					meta: 
					{
						String: String
					}
				}
			],
			meta: 
			{
				String: String
			}
		}
	},
	idResponse: 
	{
		id: String,
		responseStatus: 
		{
			errorCode: String,
			message: String,
			stackTrace: String,
			errors: 
			[
				{
					errorCode: String,
					fieldName: String,
					message: String,
					meta: 
					{
						String: String
					}
				}
			],
			meta: 
			{
				String: String
			}
		}
	},
	stringResponse: 
	{
		result: String,
		meta: 
		{
			String: String
		},
		responseStatus: 
		{
			errorCode: String,
			message: String,
			stackTrace: String,
			errors: 
			[
				{
					errorCode: String,
					fieldName: String,
					message: String,
					meta: 
					{
						String: String
					}
				}
			],
			meta: 
			{
				String: String
			}
		}
	},
	stringsResponse: 
	{
		results: 
		[
			String
		],
		meta: 
		{
			String: String
		},
		responseStatus: 
		{
			errorCode: String,
			message: String,
			stackTrace: String,
			errors: 
			[
				{
					errorCode: String,
					fieldName: String,
					message: String,
					meta: 
					{
						String: String
					}
				}
			],
			meta: 
			{
				String: String
			}
		}
	}
}