import java.math.*;
import java.util.*;
import java.io.InputStream;
import net.servicestack.client.*;
public class dtos
{
public static class CreatePlayer implements ICreateDb<Player>
{
@Validate(Validator="NotEmpty")
public String firstName = null;
public String lastName = null;
public String email = null;
public ArrayList<Phone> phoneNumbers = null;
@Validate(Validator="NotNull")
public Integer profileId = null;
public UUID savedLevelId = null;
public String getFirstName() { return firstName; }
public CreatePlayer setFirstName(String value) { this.firstName = value; return this; }
public String getLastName() { return lastName; }
public CreatePlayer setLastName(String value) { this.lastName = value; return this; }
public String getEmail() { return email; }
public CreatePlayer setEmail(String value) { this.email = value; return this; }
public ArrayList<Phone> getPhoneNumbers() { return phoneNumbers; }
public CreatePlayer setPhoneNumbers(ArrayList<Phone> value) { this.phoneNumbers = value; return this; }
public Integer getProfileId() { return profileId; }
public CreatePlayer setProfileId(Integer value) { this.profileId = value; return this; }
public UUID getSavedLevelId() { return savedLevelId; }
public CreatePlayer setSavedLevelId(UUID value) { this.savedLevelId = value; return this; }
}
public static class Phone
{
public PhoneKind kind = null;
public String number = null;
public String ext = null;
public PhoneKind getKind() { return kind; }
public Phone setKind(PhoneKind value) { this.kind = value; return this; }
public String getNumber() { return number; }
public Phone setNumber(String value) { this.number = value; return this; }
public String getExt() { return ext; }
public Phone setExt(String value) { this.ext = value; return this; }
}
public static enum PhoneKind
{
Home,
Mobile,
Work;
}
@DataContract
public static class IdResponse
{
@DataMember(Order=1)
public String id = null;
@DataMember(Order=2)
public ResponseStatus responseStatus = null;
public String getId() { return id; }
public IdResponse setId(String value) { this.id = value; return this; }
public ResponseStatus getResponseStatus() { return responseStatus; }
public IdResponse setResponseStatus(ResponseStatus value) { this.responseStatus = value; return this; }
}
}
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/reply/CreatePlayer HTTP/1.1
Host: blazor-gallery.servicestack.net
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<CreatePlayer xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/MyApp.ServiceModel">
<Email>String</Email>
<FirstName>String</FirstName>
<LastName>String</LastName>
<PhoneNumbers>
<Phone>
<Ext>String</Ext>
<Kind>Home</Kind>
<Number>String</Number>
</Phone>
</PhoneNumbers>
<ProfileId>0</ProfileId>
<SavedLevelId>00000000-0000-0000-0000-000000000000</SavedLevelId>
</CreatePlayer>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <IdResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.servicestack.net/types"> <Id>String</Id> <ResponseStatus> <ErrorCode>String</ErrorCode> <Message>String</Message> <StackTrace>String</StackTrace> <Errors> <ResponseError> <ErrorCode>String</ErrorCode> <FieldName>String</FieldName> <Message>String</Message> <Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d5p1:KeyValueOfstringstring> <d5p1:Key>String</d5p1:Key> <d5p1:Value>String</d5p1:Value> </d5p1:KeyValueOfstringstring> </Meta> </ResponseError> </Errors> <Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d3p1:KeyValueOfstringstring> <d3p1:Key>String</d3p1:Key> <d3p1:Value>String</d3p1:Value> </d3p1:KeyValueOfstringstring> </Meta> </ResponseStatus> </IdResponse>