All Verbs | /all-types |
---|
Imports System
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports Test.ServiceModel
Imports Test.ServiceModel.Types
Namespace Global
Namespace Test.ServiceModel
Public Partial Class HelloAllTypes
Public Overridable Property Name As String
Public Overridable Property AllTypes As AllTypes
Public Overridable Property AllCollectionTypes As AllCollectionTypes
End Class
Public Partial Class HelloAllTypesResponse
Public Overridable Property Result As String
Public Overridable Property AllTypes As AllTypes
Public Overridable Property AllCollectionTypes As AllCollectionTypes
End Class
End Namespace
Namespace Test.ServiceModel.Types
Public Partial Class AllCollectionTypes
Public Sub New()
IntArray = New Integer(){}
IntList = New List(Of Integer)
StringArray = New String(){}
StringList = New List(Of String)
FloatArray = New Single(){}
DoubleList = New List(Of Double)
ByteArray = New Byte(){}
CharArray = New Char(){}
DecimalList = New List(Of Decimal)
PocoArray = New Poco(){}
PocoList = New List(Of Poco)
PocoLookup = New Dictionary(Of String, List(Of Poco))
PocoLookupMap = New Dictionary(Of String, List(Of Dictionary(Of String,Poco)))
End Sub
Public Overridable Property IntArray As Integer()
Public Overridable Property IntList As List(Of Integer)
Public Overridable Property StringArray As String()
Public Overridable Property StringList As List(Of String)
Public Overridable Property FloatArray As Single()
Public Overridable Property DoubleList As List(Of Double)
Public Overridable Property ByteArray As Byte()
Public Overridable Property CharArray As Char()
Public Overridable Property DecimalList As List(Of Decimal)
Public Overridable Property PocoArray As Poco()
Public Overridable Property PocoList As List(Of Poco)
Public Overridable Property PocoLookup As Dictionary(Of String, List(Of Poco))
Public Overridable Property PocoLookupMap As Dictionary(Of String, List(Of Dictionary(Of String,Poco)))
End Class
Public Partial Class AllTypes
Public Sub New()
StringList = New List(Of String)
StringArray = New String(){}
StringMap = New Dictionary(Of String, String)
IntStringMap = New Dictionary(Of Integer, String)
End Sub
Public Overridable Property Id As Integer
Public Overridable Property NullableId As Nullable(Of Integer)
Public Overridable Property [Byte] As Byte
Public Overridable Property [Short] As Short
Public Overridable Property Int As Integer
Public Overridable Property [Long] As Long
Public Overridable Property [UShort] As UInt16
Public Overridable Property UInt As UInt32
Public Overridable Property [ULong] As UInt64
Public Overridable Property Float As Single
Public Overridable Property [Double] As Double
Public Overridable Property [Decimal] As Decimal
Public Overridable Property [String] As String
Public Overridable Property DateTime As Date
Public Overridable Property TimeSpan As TimeSpan
Public Overridable Property DateTimeOffset As DateTimeOffset
Public Overridable Property Guid As Guid
Public Overridable Property [Char] As Char
Public Overridable Property KeyValuePair As KeyValuePair(Of String, String)
Public Overridable Property NullableDateTime As Nullable(Of Date)
Public Overridable Property NullableTimeSpan As Nullable(Of TimeSpan)
Public Overridable Property StringList As List(Of String)
Public Overridable Property StringArray As String()
Public Overridable Property StringMap As Dictionary(Of String, String)
Public Overridable Property IntStringMap As Dictionary(Of Integer, String)
Public Overridable Property SubType As SubType
End Class
Public Partial Class Poco
Public Overridable Property Name As String
End Class
Public Partial Class SubType
Public Overridable Property Id As Integer
Public Overridable Property Name As String
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 /all-types HTTP/1.1
Host: test.servicestack.net
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<HelloAllTypes xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Test.ServiceModel">
<AllCollectionTypes xmlns:d2p1="http://schemas.datacontract.org/2004/07/Test.ServiceModel.Types">
<d2p1:ByteArray>AA==</d2p1:ByteArray>
<d2p1:CharArray xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:char>0</d3p1:char>
</d2p1:CharArray>
<d2p1:DecimalList xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:decimal>0</d3p1:decimal>
</d2p1:DecimalList>
<d2p1:DoubleList xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:double>0</d3p1:double>
</d2p1:DoubleList>
<d2p1:FloatArray xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:float>0</d3p1:float>
</d2p1:FloatArray>
<d2p1:IntArray xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:int>0</d3p1:int>
</d2p1:IntArray>
<d2p1:IntList xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:int>0</d3p1:int>
</d2p1:IntList>
<d2p1:PocoArray>
<d2p1:Poco>
<d2p1:Name>String</d2p1:Name>
</d2p1:Poco>
</d2p1:PocoArray>
<d2p1:PocoList>
<d2p1:Poco>
<d2p1:Name>String</d2p1:Name>
</d2p1:Poco>
</d2p1:PocoList>
<d2p1:PocoLookup xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:KeyValueOfstringArrayOfPocoSxVl28_Sd>
<d3p1:Key>String</d3p1:Key>
<d3p1:Value>
<d2p1:Poco>
<d2p1:Name>String</d2p1:Name>
</d2p1:Poco>
</d3p1:Value>
</d3p1:KeyValueOfstringArrayOfPocoSxVl28_Sd>
</d2p1:PocoLookup>
<d2p1:PocoLookupMap xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:KeyValueOfstringArrayOfArrayOfKeyValueOfstringPocoSxVl28_Sdty7Ep6D1>
<d3p1:Key>String</d3p1:Key>
<d3p1:Value>
<d3p1:ArrayOfKeyValueOfstringPocoSxVl28_Sd>
<d3p1:KeyValueOfstringPocoSxVl28_Sd>
<d3p1:Key>String</d3p1:Key>
<d3p1:Value>
<d2p1:Name>String</d2p1:Name>
</d3p1:Value>
</d3p1:KeyValueOfstringPocoSxVl28_Sd>
</d3p1:ArrayOfKeyValueOfstringPocoSxVl28_Sd>
</d3p1:Value>
</d3p1:KeyValueOfstringArrayOfArrayOfKeyValueOfstringPocoSxVl28_Sdty7Ep6D1>
</d2p1:PocoLookupMap>
<d2p1:StringArray xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:string>String</d3p1:string>
</d2p1:StringArray>
<d2p1:StringList xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:string>String</d3p1:string>
</d2p1:StringList>
</AllCollectionTypes>
<AllTypes xmlns:d2p1="http://schemas.datacontract.org/2004/07/Test.ServiceModel.Types">
<d2p1:Byte>0</d2p1:Byte>
<d2p1:Char>0</d2p1:Char>
<d2p1:DateTime>0001-01-01T00:00:00</d2p1:DateTime>
<d2p1:DateTimeOffset xmlns:d3p1="http://schemas.datacontract.org/2004/07/System">
<d3p1:DateTime>0001-01-01T00:00:00Z</d3p1:DateTime>
<d3p1:OffsetMinutes>0</d3p1:OffsetMinutes>
</d2p1:DateTimeOffset>
<d2p1:Decimal>0</d2p1:Decimal>
<d2p1:Double>0</d2p1:Double>
<d2p1:Float>0</d2p1:Float>
<d2p1:Guid>00000000-0000-0000-0000-000000000000</d2p1:Guid>
<d2p1:Id>0</d2p1:Id>
<d2p1:Int>0</d2p1:Int>
<d2p1:IntStringMap xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:KeyValueOfintstring>
<d3p1:Key>0</d3p1:Key>
<d3p1:Value>String</d3p1:Value>
</d3p1:KeyValueOfintstring>
</d2p1:IntStringMap>
<d2p1:KeyValuePair xmlns:d3p1="http://schemas.datacontract.org/2004/07/System.Collections.Generic">
<d3p1:key>String</d3p1:key>
<d3p1:value>String</d3p1:value>
</d2p1:KeyValuePair>
<d2p1:Long>0</d2p1:Long>
<d2p1:NullableDateTime>0001-01-01T00:00:00</d2p1:NullableDateTime>
<d2p1:NullableId>0</d2p1:NullableId>
<d2p1:NullableTimeSpan>PT0S</d2p1:NullableTimeSpan>
<d2p1:Short>0</d2p1:Short>
<d2p1:String>String</d2p1:String>
<d2p1:StringArray xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:string>String</d3p1:string>
</d2p1:StringArray>
<d2p1:StringList xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:string>String</d3p1:string>
</d2p1:StringList>
<d2p1:StringMap xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:KeyValueOfstringstring>
<d3p1:Key>String</d3p1:Key>
<d3p1:Value>String</d3p1:Value>
</d3p1:KeyValueOfstringstring>
</d2p1:StringMap>
<d2p1:SubType>
<d2p1:Id>0</d2p1:Id>
<d2p1:Name>String</d2p1:Name>
</d2p1:SubType>
<d2p1:TimeSpan>PT0S</d2p1:TimeSpan>
<d2p1:UInt>0</d2p1:UInt>
<d2p1:ULong>0</d2p1:ULong>
<d2p1:UShort>0</d2p1:UShort>
</AllTypes>
<Name>String</Name>
</HelloAllTypes>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <HelloAllTypesResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Test.ServiceModel"> <AllCollectionTypes xmlns:d2p1="http://schemas.datacontract.org/2004/07/Test.ServiceModel.Types"> <d2p1:ByteArray>AA==</d2p1:ByteArray> <d2p1:CharArray xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d3p1:char>0</d3p1:char> </d2p1:CharArray> <d2p1:DecimalList xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d3p1:decimal>0</d3p1:decimal> </d2p1:DecimalList> <d2p1:DoubleList xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d3p1:double>0</d3p1:double> </d2p1:DoubleList> <d2p1:FloatArray xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d3p1:float>0</d3p1:float> </d2p1:FloatArray> <d2p1:IntArray xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d3p1:int>0</d3p1:int> </d2p1:IntArray> <d2p1:IntList xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d3p1:int>0</d3p1:int> </d2p1:IntList> <d2p1:PocoArray> <d2p1:Poco> <d2p1:Name>String</d2p1:Name> </d2p1:Poco> </d2p1:PocoArray> <d2p1:PocoList> <d2p1:Poco> <d2p1:Name>String</d2p1:Name> </d2p1:Poco> </d2p1:PocoList> <d2p1:PocoLookup xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d3p1:KeyValueOfstringArrayOfPocoSxVl28_Sd> <d3p1:Key>String</d3p1:Key> <d3p1:Value> <d2p1:Poco> <d2p1:Name>String</d2p1:Name> </d2p1:Poco> </d3p1:Value> </d3p1:KeyValueOfstringArrayOfPocoSxVl28_Sd> </d2p1:PocoLookup> <d2p1:PocoLookupMap xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d3p1:KeyValueOfstringArrayOfArrayOfKeyValueOfstringPocoSxVl28_Sdty7Ep6D1> <d3p1:Key>String</d3p1:Key> <d3p1:Value> <d3p1:ArrayOfKeyValueOfstringPocoSxVl28_Sd> <d3p1:KeyValueOfstringPocoSxVl28_Sd> <d3p1:Key>String</d3p1:Key> <d3p1:Value> <d2p1:Name>String</d2p1:Name> </d3p1:Value> </d3p1:KeyValueOfstringPocoSxVl28_Sd> </d3p1:ArrayOfKeyValueOfstringPocoSxVl28_Sd> </d3p1:Value> </d3p1:KeyValueOfstringArrayOfArrayOfKeyValueOfstringPocoSxVl28_Sdty7Ep6D1> </d2p1:PocoLookupMap> <d2p1:StringArray xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d3p1:string>String</d3p1:string> </d2p1:StringArray> <d2p1:StringList xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d3p1:string>String</d3p1:string> </d2p1:StringList> </AllCollectionTypes> <AllTypes xmlns:d2p1="http://schemas.datacontract.org/2004/07/Test.ServiceModel.Types"> <d2p1:Byte>0</d2p1:Byte> <d2p1:Char>0</d2p1:Char> <d2p1:DateTime>0001-01-01T00:00:00</d2p1:DateTime> <d2p1:DateTimeOffset xmlns:d3p1="http://schemas.datacontract.org/2004/07/System"> <d3p1:DateTime>0001-01-01T00:00:00Z</d3p1:DateTime> <d3p1:OffsetMinutes>0</d3p1:OffsetMinutes> </d2p1:DateTimeOffset> <d2p1:Decimal>0</d2p1:Decimal> <d2p1:Double>0</d2p1:Double> <d2p1:Float>0</d2p1:Float> <d2p1:Guid>00000000-0000-0000-0000-000000000000</d2p1:Guid> <d2p1:Id>0</d2p1:Id> <d2p1:Int>0</d2p1:Int> <d2p1:IntStringMap xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d3p1:KeyValueOfintstring> <d3p1:Key>0</d3p1:Key> <d3p1:Value>String</d3p1:Value> </d3p1:KeyValueOfintstring> </d2p1:IntStringMap> <d2p1:KeyValuePair xmlns:d3p1="http://schemas.datacontract.org/2004/07/System.Collections.Generic"> <d3p1:key>String</d3p1:key> <d3p1:value>String</d3p1:value> </d2p1:KeyValuePair> <d2p1:Long>0</d2p1:Long> <d2p1:NullableDateTime>0001-01-01T00:00:00</d2p1:NullableDateTime> <d2p1:NullableId>0</d2p1:NullableId> <d2p1:NullableTimeSpan>PT0S</d2p1:NullableTimeSpan> <d2p1:Short>0</d2p1:Short> <d2p1:String>String</d2p1:String> <d2p1:StringArray xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d3p1:string>String</d3p1:string> </d2p1:StringArray> <d2p1:StringList xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d3p1:string>String</d3p1:string> </d2p1:StringList> <d2p1:StringMap xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d3p1:KeyValueOfstringstring> <d3p1:Key>String</d3p1:Key> <d3p1:Value>String</d3p1:Value> </d3p1:KeyValueOfstringstring> </d2p1:StringMap> <d2p1:SubType> <d2p1:Id>0</d2p1:Id> <d2p1:Name>String</d2p1:Name> </d2p1:SubType> <d2p1:TimeSpan>PT0S</d2p1:TimeSpan> <d2p1:UInt>0</d2p1:UInt> <d2p1:ULong>0</d2p1:ULong> <d2p1:UShort>0</d2p1:UShort> </AllTypes> <Result>String</Result> </HelloAllTypesResponse>