Test

<back to all web services

HelloWithEnumMap

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 HelloWithEnumMap
            Public Overridable Property EnumProp As Dictionary(Of EnumType, EnumType) = New Dictionary(Of EnumType, EnumType)
            Public Overridable Property EnumWithValues As Dictionary(Of EnumWithValues, EnumWithValues) = New Dictionary(Of EnumWithValues, EnumWithValues)
            Public Overridable Property NullableEnumProp As Dictionary(Of Nullable(Of EnumType), Nullable(Of EnumType)) = New Dictionary(Of Nullable(Of EnumType), Nullable(Of EnumType))
            Public Overridable Property EnumFlags As Dictionary(Of EnumFlags, EnumFlags) = New Dictionary(Of EnumFlags, EnumFlags)
            Public Overridable Property EnumStyle As Dictionary(Of EnumStyle, EnumStyle) = New Dictionary(Of EnumStyle, EnumStyle)
        End Class
    End Namespace
End Namespace

VB.NET HelloWithEnumMap DTOs

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

HTTP + XML

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

POST /xml/oneway/HelloWithEnumMap HTTP/1.1 
Host: test.servicestack.net 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<HelloWithEnumMap xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Test.ServiceModel">
  <EnumFlags xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:KeyValueOfEnumFlagsEnumFlagsIKzD6DHq>
      <d2p1:Key>Value0</d2p1:Key>
      <d2p1:Value>Value0</d2p1:Value>
    </d2p1:KeyValueOfEnumFlagsEnumFlagsIKzD6DHq>
  </EnumFlags>
  <EnumProp xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:KeyValueOfEnumTypeEnumTypeIKzD6DHq>
      <d2p1:Key>Value1</d2p1:Key>
      <d2p1:Value>Value1</d2p1:Value>
    </d2p1:KeyValueOfEnumTypeEnumTypeIKzD6DHq>
  </EnumProp>
  <EnumStyle xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:KeyValueOfEnumStyleEnumStyleIKzD6DHq>
      <d2p1:Key>lower</d2p1:Key>
      <d2p1:Value>lower</d2p1:Value>
    </d2p1:KeyValueOfEnumStyleEnumStyleIKzD6DHq>
  </EnumStyle>
  <EnumWithValues xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:KeyValueOfEnumWithValuesEnumWithValuesIKzD6DHq>
      <d2p1:Key>None</d2p1:Key>
      <d2p1:Value>None</d2p1:Value>
    </d2p1:KeyValueOfEnumWithValuesEnumWithValuesIKzD6DHq>
  </EnumWithValues>
  <NullableEnumProp xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:KeyValueOfNullableOfEnumTypep_S_PBaRK1NullableOfEnumTypep_S_PBaRK1_ShTDFhl_P>
      <d2p1:Key>Value1</d2p1:Key>
      <d2p1:Value>Value1</d2p1:Value>
    </d2p1:KeyValueOfNullableOfEnumTypep_S_PBaRK1NullableOfEnumTypep_S_PBaRK1_ShTDFhl_P>
  </NullableEnumProp>
</HelloWithEnumMap>