Imports System
Imports System.IO
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports Test.ServiceModel
Namespace Global
Namespace Test.ServiceModel
<Flags>
Public Enum EnumFlags
Value0 = 0
Value1 = 1
Value2 = 2
Value3 = 4
Value123 = 7
End Enum
Public Enum EnumStyle
lower
UPPER
PascalCase
camelCase
camelUPPER
PascalUPPER
End Enum
Public Enum EnumType
Value1
Value2
Value3
End Enum
Public Enum EnumWithValues
<EnumMember(Value:="None")>
None
<EnumMember(Value:="Member 1")>
Value1
<EnumMember(Value:="Value2")>
Value2
End Enum
Public Partial Class HelloWithEnumList
Public Overridable Property EnumProp As List(Of EnumType) = New List(Of EnumType)
Public Overridable Property EnumWithValues As List(Of EnumWithValues) = New List(Of EnumWithValues)
Public Overridable Property NullableEnumProp As List(Of Nullable(Of EnumType)) = New List(Of Nullable(Of EnumType))
Public Overridable Property EnumFlags As List(Of EnumFlags) = New List(Of EnumFlags)
Public Overridable Property EnumStyle As List(Of EnumStyle) = New List(Of EnumStyle)
End Class
End Namespace
End Namespace
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /xml/oneway/HelloWithEnumList HTTP/1.1
Host: test.servicestack.net
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<HelloWithEnumList xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Test.ServiceModel">
<EnumFlags>
<EnumFlags>Value0</EnumFlags>
</EnumFlags>
<EnumProp>
<EnumType>Value1</EnumType>
</EnumProp>
<EnumStyle>
<EnumStyle>lower</EnumStyle>
</EnumStyle>
<EnumWithValues>
<EnumWithValues>None</EnumWithValues>
</EnumWithValues>
<NullableEnumProp xmlns:d2p1="http://schemas.datacontract.org/2004/07/System">
<d2p1:EnumType>Value1</d2p1:EnumType>
</NullableEnumProp>
</HelloWithEnumList>