content: {-# OPTIONS_GHC -XDeriveDataTypeable #-}
  module ChangeListService where
  import Data.List
  import Data.Maybe
  import Data.Typeable
  import Data.Time.LocalTime
  import XI.Directory.WS.Xmlable
  import XI.Directory.WS.Main
  
  ws = "ChangeListService"
  nss = [("urn0","urn:com.sap.aii.ibdir.server.api.types"),("urn1","urn:com.sap.aii.ib.server.api.types"),("urn2","urn:ChangeListServiceVi")]
  
  -- operations
  
  activate :: WsParams -> ActivateInput -> IO ActivateOutput
  activate = runService ws nss "urn2:activate"
  checkContent :: WsParams -> CheckContentInput -> IO CheckContentOutput
  checkContent = runService ws nss "urn2:checkContent"
  create :: WsParams -> CreateInput -> IO CreateOutput
  create = runService ws nss "urn2:create"
  getCacheState :: WsParams -> GetCacheStateInput -> IO GetCacheStateOutput
  getCacheState = runService ws nss "urn2:getCacheState"
  getObjectIdentifiers :: WsParams -> GetObjectIdentifiersInput -> IO GetObjectIdentifiersOutput
  getObjectIdentifiers = runService ws nss "urn2:getObjectIdentifiers"
  getState :: WsParams -> GetStateInput -> IO GetStateOutput
  getState = runService ws nss "urn2:getState"
  revert :: WsParams -> RevertInput -> IO RevertOutput
  revert = runService ws nss "urn2:revert"
  
  
  -- types definition
  
  data ActivateInput = ActivateInput {
      cL_ActivateRequest :: Maybe String
  } deriving (Typeable, Show, Eq) 
  
  data ActivateOutput = ActivateOutput {
      responseActivateOutput :: Maybe LM_Collection
  } deriving (Typeable, Show, Eq) 
  
  data LM_Collection = LM_Collection {
      lmcLogMessage :: Maybe [LogMessage],
      lmcLM_ChangeList :: Maybe [LM_ChangeList],
      lmcLM_Party :: Maybe [LM_Party],
      lmcLM_BusinessSystem :: Maybe [LM_CommunicationComponent],
      lmcLM_BusinessComponent :: Maybe [LM_CommunicationComponent],
      lmcLM_IntegrationProcess :: Maybe [LM_CommunicationComponent],
      lmcLM_CommunicationChannel :: Maybe [LM_CommunicationChannel],
      lmcLM_SenderAgreement :: Maybe [LM_MessageHeader],
      lmcLM_ReceiverAgreement :: Maybe [LM_MessageHeader],
      lmcLM_InterfaceDetermination :: Maybe [LM_MessageHeader],
      lmcLM_ReceiverDetermination :: Maybe [LM_MessageHeader],
      lmcLM_ValueMapping :: Maybe [LM_ValueMapping],
      lmcLM_ConfigurationScenario :: Maybe [LM_ConfigurationScenario]
  } deriving (Typeable, Show, Eq) 
  
  data LogMessage = LogMessage {
      lmLM_Item :: Maybe LM_Item
  } deriving (Typeable, Show, Eq) 
  
  data LM_Item = LM_Item {
      lmiSeverityCode :: Maybe String,
      lmiClassificationCode :: Maybe String,
      lmiMessage :: Maybe Text
  } deriving (Typeable, Show, Eq) 
  
  data Text = Text {
      tlanguageCode :: Maybe String,
      tvalue :: Maybe String
  } deriving (Typeable, Show, Eq) 
  
  data LM_ChangeList = LM_ChangeList {
      lmclCL_ID :: Maybe CL_ID,
      lmclLM_Item :: Maybe LM_Item
  } deriving (Typeable, Show, Eq) 
  
  data CL_ID = CL_ID {
      clidCL_ID :: Maybe String,
      clidName :: Maybe String,
      clidDescription :: Maybe LONG_Description
  } deriving (Typeable, Show, Eq) 
  
  data LONG_Description = LONG_Description {
      ldlanguageCode :: Maybe String,
      ldvalue :: Maybe String
  } deriving (Typeable, Show, Eq) 
  
  data LM_Party = LM_Party {
      lmpPI_D :: Maybe String,
      lmpLM_Item :: Maybe LM_Item
  } deriving (Typeable, Show, Eq) 
  
  data LM_CommunicationComponent = LM_CommunicationComponent {
      lmccmpCC_ID :: Maybe Cmp_ID,
      lmccmpLM_Item :: Maybe LM_Item
  } deriving (Typeable, Show, Eq) 
  
  data Cmp_ID = Cmp_ID {
      ccidPI_D :: Maybe String,
      ccidCI_D :: Maybe String
  } deriving (Typeable, Show, Eq) 
  
  data LM_CommunicationChannel = LM_CommunicationChannel {
      lmccCC_ID :: Maybe CC_ID,
      lmccLM_Item :: Maybe LM_Item
  } deriving (Typeable, Show, Eq) 
  
  data CC_ID = CC_ID {
      ccidPartyID :: Maybe String,
      ccidComponentID :: Maybe String,
      ccidChannelID :: Maybe String
  } deriving (Typeable, Show, Eq) 
  
  data LM_MessageHeader = LM_MessageHeader {
      lmmhMessageHeader :: Maybe MH_ID,
      lmmhLM_Item :: Maybe LM_Item
  } deriving (Typeable, Show, Eq) 
  
  data MH_ID = MH_ID {
      mhidSP_ID :: Maybe String,
      mhidSC_ID :: Maybe String,
      mhidInterfaceName :: Maybe String,
      mhidInterfaceNamespace :: Maybe String,
      mhidRP_ID :: Maybe String,
      mhidRC_ID :: Maybe String
  } deriving (Typeable, Show, Eq) 
  
  data LM_ValueMapping = LM_ValueMapping {
      lmvmVM_ID :: Maybe String,
      lmvmLM_Item :: Maybe LM_Item
  } deriving (Typeable, Show, Eq) 
  
  data LM_ConfigurationScenario = LM_ConfigurationScenario {
      lmcsCS_ID :: Maybe String,
      lmcsLM_Item :: Maybe LM_Item
  } deriving (Typeable, Show, Eq) 
  
  data CheckContentInput = CheckContentInput {
      cL_CheckContentRequest :: Maybe String
  } deriving (Typeable, Show, Eq) 
  
  data CheckContentOutput = CheckContentOutput {
      responseCheckContentOutput :: Maybe LM_Collection
  } deriving (Typeable, Show, Eq) 
  
  data CreateInput = CreateInput {
      cL_CreateRequest :: Maybe CL_IDRestricted
  } deriving (Typeable, Show, Eq) 
  
  data CL_IDRestricted = CL_IDRestricted {
      clidrName :: Maybe String,
      clidrDescription :: Maybe LONG_Description
  } deriving (Typeable, Show, Eq) 
  
  data CreateOutput = CreateOutput {
      responseCreateOutput :: Maybe CL_CreateOut
  } deriving (Typeable, Show, Eq) 
  
  data CL_CreateOut = CL_CreateOut {
      clcoCL_ID :: Maybe CL_ID,
      clcoLM_Collection :: Maybe LM_Collection
  } deriving (Typeable, Show, Eq) 
  
  data GetCacheStateInput = GetCacheStateInput {
      cL_GetCacheStateRequest :: Maybe String
  } deriving (Typeable, Show, Eq) 
  
  data GetCacheStateOutput = GetCacheStateOutput {
      responseGetCacheStateOutput :: Maybe CL_GetCacheStateOut
  } deriving (Typeable, Show, Eq) 
  
  data CL_GetCacheStateOut = CL_GetCacheStateOut {
      clgcsoCacheState :: Maybe [CL_CacheState],
      clgcsoLM_Collection :: Maybe LM_Collection
  } deriving (Typeable, Show, Eq) 
  
  data CL_CacheState = CL_CacheState {
      clcsConsumer :: Maybe String,
      clcsNotificationState :: Maybe String,
      clcsRefreshState :: Maybe String,
      clcsErrorMessage :: Maybe [LM_Item]
  } deriving (Typeable, Show, Eq) 
  
  data GetObjectIdentifiersInput = GetObjectIdentifiersInput {
      cL_GetObjectIdentifiersRequest :: Maybe String
  } deriving (Typeable, Show, Eq) 
  
  data GetObjectIdentifiersOutput = GetObjectIdentifiersOutput {
      responseGetObjectIdentifiersOutput :: Maybe CL_GetObjectIdentifiersOut
  } deriving (Typeable, Show, Eq) 
  
  data CL_GetObjectIdentifiersOut = CL_GetObjectIdentifiersOut {
      clgoioPI_D :: Maybe [String],
      clgoioBS_ID :: Maybe [Cmp_ID],
      clgoioBC_ID :: Maybe [Cmp_ID],
      clgoioIP_ID :: Maybe [Cmp_ID],
      clgoioCC_ID :: Maybe [CC_ID],
      clgoioSA_ID :: Maybe [MH_ID],
      clgoioRA_ID :: Maybe [MH_ID],
      clgoioRD_ID :: Maybe [MH_ID],
      clgoioID_ID :: Maybe [MH_ID],
      clgoioVM_ID :: Maybe [String],
      clgoioCS_ID :: Maybe [String],
      clgoioLM_Collection :: Maybe LM_Collection
  } deriving (Typeable, Show, Eq) 
  
  data GetStateInput = GetStateInput {
      cL_GetStateRequest :: Maybe String
  } deriving (Typeable, Show, Eq) 
  
  data GetStateOutput = GetStateOutput {
      responseGetStateOutput :: Maybe CL_GetStateOut
  } deriving (Typeable, Show, Eq) 
  
  data CL_GetStateOut = CL_GetStateOut {
      clgsoState :: Maybe String,
      clgsoLM_Collection :: Maybe LM_Collection
  } deriving (Typeable, Show, Eq) 
  
  data RevertInput = RevertInput {
      cL_RevertRequest :: Maybe String
  } deriving (Typeable, Show, Eq) 
  
  data RevertOutput = RevertOutput {
      responseRevertOutput :: Maybe LM_Collection
  } deriving (Typeable, Show, Eq) 
  
  
  
  -- instances
  
  
  instance Xmlable ActivateInput where
          toContent x = [makeToContent ["urn2:ChangeListActivateRequest"] [toContent.cL_ActivateRequest] x]
          fromContent cs = ActivateInput (fromContent c1)
                  where [c1] = forFromContent nss ["urn2:ChangeListActivateRequest"] cs
  
  instance Xmlable ActivateOutput where
          toContent x = [makeToContent ["urn2:Response"] [toContent.responseActivateOutput] x]
          fromContent cs = ActivateOutput (fromContent c1)
                  where [c1] = forFromContent nss ["urn2:Response"] cs
  
  instance Xmlable LM_Collection where
          toContent x = [makeToContent ["urn0:LogMessage", "urn0:LogMessageChangeList", "urn0:LogMessageParty", "urn0:LogMessageBusinessSystem", "urn0:LogMessageBusinessComponent", "urn0:LogMessageIntegrationProcess", "urn0:LogMessageCommunicationChannel", "urn0:LogMessageSenderAgreement", "urn0:LogMessageReceiverAgreement", "urn0:LogMessageInterfaceDetermination", "urn0:LogMessageReceiverDetermination", "urn0:LogMessageValueMapping", "urn0:LogMessageConfigurationScenario"] [toContent.lmcLogMessage, toContent.lmcLM_ChangeList, toContent.lmcLM_Party, toContent.lmcLM_BusinessSystem, toContent.lmcLM_BusinessComponent, toContent.lmcLM_IntegrationProcess, toContent.lmcLM_CommunicationChannel, toContent.lmcLM_SenderAgreement, toContent.lmcLM_ReceiverAgreement, toContent.lmcLM_InterfaceDetermination, toContent.lmcLM_ReceiverDetermination, toContent.lmcLM_ValueMapping, toContent.lmcLM_ConfigurationScenario] x]
          fromContent cs = LM_Collection (fromContent c1) (fromContent c2) (fromContent c3) (fromContent c4) (fromContent c5) (fromContent c6) (fromContent c7) (fromContent c8) (fromContent c9) (fromContent c10) (fromContent c11) (fromContent c12) (fromContent c13)
                  where [c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13] = forFromContent nss ["urn0:LogMessage", "urn0:LogMessageChangeList", "urn0:LogMessageParty", "urn0:LogMessageBusinessSystem", "urn0:LogMessageBusinessComponent", "urn0:LogMessageIntegrationProcess", "urn0:LogMessageCommunicationChannel", "urn0:LogMessageSenderAgreement", "urn0:LogMessageReceiverAgreement", "urn0:LogMessageInterfaceDetermination", "urn0:LogMessageReceiverDetermination", "urn0:LogMessageValueMapping", "urn0:LogMessageConfigurationScenario"] cs
  
  instance Xmlable LogMessage where
          toContent x = [makeToContent ["urn0:LogMessageItem"] [toContent.lmLM_Item] x]
          fromContent cs = LogMessage (fromContent c1)
                  where [c1] = forFromContent nss ["urn0:LogMessageItem"] cs
  
  instance Xmlable LM_Item where
          toContent x = [makeToContent ["urn0:SeverityCode", "urn0:ClassificationCode", "urn0:Message"] [toContent.lmiSeverityCode, toContent.lmiClassificationCode, toContent.lmiMessage] x]
          fromContent cs = LM_Item (fromContent c1) (fromContent c2) (fromContent c3)
                  where [c1, c2, c3] = forFromContent nss ["urn0:SeverityCode", "urn0:ClassificationCode", "urn0:Message"] cs
  
  instance Xmlable Text where
          toContent x = [makeToContent ["urn0:languageCode", "urn0:value"] [toContent.tlanguageCode, toContent.tvalue] x]
          fromContent cs = Text (fromContent c1) (fromContent c2)
                  where [c1, c2] = forFromContent nss ["urn0:languageCode", "urn0:value"] cs
  
  instance Xmlable LM_ChangeList where
          toContent x = [makeToContent ["urn0:ChangeListID", "urn0:LogMessageItem"] [toContent.lmclCL_ID, toContent.lmclLM_Item] x]
          fromContent cs = LM_ChangeList (fromContent c1) (fromContent c2)
                  where [c1, c2] = forFromContent nss ["urn0:ChangeListID", "urn0:LogMessageItem"] cs
  
  instance Xmlable CL_ID where
          toContent x = [makeToContent ["urn1:ChangeListID", "urn1:Name", "urn1:Description"] [toContent.clidCL_ID, toContent.clidName, toContent.clidDescription] x]
          fromContent cs = CL_ID (fromContent c1) (fromContent c2) (fromContent c3)
                  where [c1, c2, c3] = forFromContent nss ["urn1:ChangeListID", "urn1:Name", "urn1:Description"] cs
  
  instance Xmlable LONG_Description where
          toContent x = [makeToContent ["urn1:languageCode", "urn1:value"] [toContent.ldlanguageCode, toContent.ldvalue] x]
          fromContent cs = LONG_Description (fromContent c1) (fromContent c2)
                  where [c1, c2] = forFromContent nss ["urn1:languageCode", "urn1:value"] cs
  
  instance Xmlable LM_Party where
          toContent x = [makeToContent ["urn0:PartyID", "urn0:LogMessageItem"] [toContent.lmpPI_D, toContent.lmpLM_Item] x]
          fromContent cs = LM_Party (fromContent c1) (fromContent c2)
                  where [c1, c2] = forFromContent nss ["urn0:PartyID", "urn0:LogMessageItem"] cs
  
  instance Xmlable LM_CommunicationComponent where
          toContent x = [makeToContent ["urn0:CommunicationComponentID", "urn0:LogMessageItem"] [toContent.lmccmpCC_ID, toContent.lmccmpLM_Item] x]
          fromContent cs = LM_CommunicationComponent (fromContent c1) (fromContent c2)
                  where [c1, c2] = forFromContent nss ["urn0:CommunicationComponentID", "urn0:LogMessageItem"] cs
  
  instance Xmlable Cmp_ID where
          toContent x = [makeToContent ["urn0:PartyID", "urn0:ComponentID"] [toContent.ccidPI_D, toContent.ccidCI_D] x]
          fromContent cs = Cmp_ID (fromContent c1) (fromContent c2)
                  where [c1, c2] = forFromContent nss ["urn0:PartyID", "urn0:ComponentID"] cs
  
  instance Xmlable LM_CommunicationChannel where
          toContent x = [makeToContent ["urn0:CommunicationChannelID", "urn0:LogMessageItem"] [toContent.lmccCC_ID, toContent.lmccLM_Item] x]
          fromContent cs = LM_CommunicationChannel (fromContent c1) (fromContent c2)
                  where [c1, c2] = forFromContent nss ["urn0:CommunicationChannelID", "urn0:LogMessageItem"] cs
  
  instance Xmlable CC_ID where
          toContent x = [makeToContent ["urn0:PartyID", "urn0:ComponentID", "urn0:ChannelID"] [toContent.ccidPartyID, toContent.ccidComponentID, toContent.ccidChannelID] x]
          fromContent cs = CC_ID (fromContent c1) (fromContent c2) (fromContent c3)
                  where [c1, c2, c3] = forFromContent nss ["urn0:PartyID", "urn0:ComponentID", "urn0:ChannelID"] cs
  
  instance Xmlable LM_MessageHeader where
          toContent x = [makeToContent ["urn0:MessageHeader", "urn0:LogMessageItem"] [toContent.lmmhMessageHeader, toContent.lmmhLM_Item] x]
          fromContent cs = LM_MessageHeader (fromContent c1) (fromContent c2)
                  where [c1, c2] = forFromContent nss ["urn0:MessageHeader", "urn0:LogMessageItem"] cs
  
  instance Xmlable MH_ID where
          toContent x = [makeToContent ["urn0:SenderPartyID", "urn0:SenderComponentID", "urn0:InterfaceName", "urn0:InterfaceNamespace", "urn0:ReceiverPartyID", "urn0:ReceiverComponentID"] [toContent.mhidSP_ID, toContent.mhidSC_ID, toContent.mhidInterfaceName, toContent.mhidInterfaceNamespace, toContent.mhidRP_ID, toContent.mhidRC_ID] x]
          fromContent cs = MH_ID (fromContent c1) (fromContent c2) (fromContent c3) (fromContent c4) (fromContent c5) (fromContent c6)
                  where [c1, c2, c3, c4, c5, c6] = forFromContent nss ["urn0:SenderPartyID", "urn0:SenderComponentID", "urn0:InterfaceName", "urn0:InterfaceNamespace", "urn0:ReceiverPartyID", "urn0:ReceiverComponentID"] cs
  
  instance Xmlable LM_ValueMapping where
          toContent x = [makeToContent ["urn0:ValueMappingID", "urn0:LogMessageItem"] [toContent.lmvmVM_ID, toContent.lmvmLM_Item] x]
          fromContent cs = LM_ValueMapping (fromContent c1) (fromContent c2)
                  where [c1, c2] = forFromContent nss ["urn0:ValueMappingID", "urn0:LogMessageItem"] cs
  
  instance Xmlable LM_ConfigurationScenario where
          toContent x = [makeToContent ["urn0:ConfigurationScenarioID", "urn0:LogMessageItem"] [toContent.lmcsCS_ID, toContent.lmcsLM_Item] x]
          fromContent cs = LM_ConfigurationScenario (fromContent c1) (fromContent c2)
                  where [c1, c2] = forFromContent nss ["urn0:ConfigurationScenarioID", "urn0:LogMessageItem"] cs
  
  instance Xmlable CheckContentInput where
          toContent x = [makeToContent ["urn2:ChangeListCheckContentRequest"] [toContent.cL_CheckContentRequest] x]
          fromContent cs = CheckContentInput (fromContent c1)
                  where [c1] = forFromContent nss ["urn2:ChangeListCheckContentRequest"] cs
  
  instance Xmlable CheckContentOutput where
          toContent x = [makeToContent ["urn2:Response"] [toContent.responseCheckContentOutput] x]
          fromContent cs = CheckContentOutput (fromContent c1)
                  where [c1] = forFromContent nss ["urn2:Response"] cs
  
  instance Xmlable CreateInput where
          toContent x = [makeToContent ["urn2:ChangeListCreateRequest"] [toContent.cL_CreateRequest] x]
          fromContent cs = CreateInput (fromContent c1)
                  where [c1] = forFromContent nss ["urn2:ChangeListCreateRequest"] cs
  
  instance Xmlable CL_IDRestricted where
          toContent x = [makeToContent ["urn1:Name", "urn1:Description"] [toContent.clidrName, toContent.clidrDescription] x]
          fromContent cs = CL_IDRestricted (fromContent c1) (fromContent c2)
                  where [c1, c2] = forFromContent nss ["urn1:Name", "urn1:Description"] cs
  
  instance Xmlable CreateOutput where
          toContent x = [makeToContent ["urn2:Response"] [toContent.responseCreateOutput] x]
          fromContent cs = CreateOutput (fromContent c1)
                  where [c1] = forFromContent nss ["urn2:Response"] cs
  
  instance Xmlable CL_CreateOut where
          toContent x = [makeToContent ["urn0:ChangeListID", "urn0:LogMessageCollection"] [toContent.clcoCL_ID, toContent.clcoLM_Collection] x]
          fromContent cs = CL_CreateOut (fromContent c1) (fromContent c2)
                  where [c1, c2] = forFromContent nss ["urn0:ChangeListID", "urn0:LogMessageCollection"] cs
  
  instance Xmlable GetCacheStateInput where
          toContent x = [makeToContent ["urn2:ChangeListGetCacheStateRequest"] [toContent.cL_GetCacheStateRequest] x]
          fromContent cs = GetCacheStateInput (fromContent c1)
                  where [c1] = forFromContent nss ["urn2:ChangeListGetCacheStateRequest"] cs
  
  instance Xmlable GetCacheStateOutput where
          toContent x = [makeToContent ["urn2:Response"] [toContent.responseGetCacheStateOutput] x]
          fromContent cs = GetCacheStateOutput (fromContent c1)
                  where [c1] = forFromContent nss ["urn2:Response"] cs
  
  instance Xmlable CL_GetCacheStateOut where
          toContent x = [makeToContent ["urn0:CacheState", "urn0:LogMessageCollection"] [toContent.clgcsoCacheState, toContent.clgcsoLM_Collection] x]
          fromContent cs = CL_GetCacheStateOut (fromContent c1) (fromContent c2)
                  where [c1, c2] = forFromContent nss ["urn0:CacheState", "urn0:LogMessageCollection"] cs
  
  instance Xmlable CL_CacheState where
          toContent x = [makeToContent ["urn0:Consumer", "urn0:NotificationState", "urn0:RefreshState", "urn0:ErrorMessage"] [toContent.clcsConsumer, toContent.clcsNotificationState, toContent.clcsRefreshState, toContent.clcsErrorMessage] x]
          fromContent cs = CL_CacheState (fromContent c1) (fromContent c2) (fromContent c3) (fromContent c4)
                  where [c1, c2, c3, c4] = forFromContent nss ["urn0:Consumer", "urn0:NotificationState", "urn0:RefreshState", "urn0:ErrorMessage"] cs
  
  instance Xmlable GetObjectIdentifiersInput where
          toContent x = [makeToContent ["urn2:ChangeListGetObjectIdentifiersRequest"] [toContent.cL_GetObjectIdentifiersRequest] x]
          fromContent cs = GetObjectIdentifiersInput (fromContent c1)
                  where [c1] = forFromContent nss ["urn2:ChangeListGetObjectIdentifiersRequest"] cs
  
  instance Xmlable GetObjectIdentifiersOutput where
          toContent x = [makeToContent ["urn2:Response"] [toContent.responseGetObjectIdentifiersOutput] x]
          fromContent cs = GetObjectIdentifiersOutput (fromContent c1)
                  where [c1] = forFromContent nss ["urn2:Response"] cs
  
  instance Xmlable CL_GetObjectIdentifiersOut where
          toContent x = [makeToContent ["urn0:PartyID", "urn0:BusinessSystemID", "urn0:BusinessComponentID", "urn0:IntegrationProcessID", "urn0:CommunicationChannelID", "urn0:SenderAgreementID", "urn0:ReceiverAgreementID", "urn0:ReceiverDeterminationID", "urn0:InterfaceDeterminationID", "urn0:ValueMappingID", "urn0:ConfigurationScenarioID", "urn0:LogMessageCollection"] [toContent.clgoioPI_D, toContent.clgoioBS_ID, toContent.clgoioBC_ID, toContent.clgoioIP_ID, toContent.clgoioCC_ID, toContent.clgoioSA_ID, toContent.clgoioRA_ID, toContent.clgoioRD_ID, toContent.clgoioID_ID, toContent.clgoioVM_ID, toContent.clgoioCS_ID, toContent.clgoioLM_Collection] x]
          fromContent cs = CL_GetObjectIdentifiersOut (fromContent c1) (fromContent c2) (fromContent c3) (fromContent c4) (fromContent c5) (fromContent c6) (fromContent c7) (fromContent c8) (fromContent c9) (fromContent c10) (fromContent c11) (fromContent c12)
                  where [c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12] = forFromContent nss ["urn0:PartyID", "urn0:BusinessSystemID", "urn0:BusinessComponentID", "urn0:IntegrationProcessID", "urn0:CommunicationChannelID", "urn0:SenderAgreementID", "urn0:ReceiverAgreementID", "urn0:ReceiverDeterminationID", "urn0:InterfaceDeterminationID", "urn0:ValueMappingID", "urn0:ConfigurationScenarioID", "urn0:LogMessageCollection"] cs
  
  instance Xmlable GetStateInput where
          toContent x = [makeToContent ["urn2:ChangeListGetStateRequest"] [toContent.cL_GetStateRequest] x]
          fromContent cs = GetStateInput (fromContent c1)
                  where [c1] = forFromContent nss ["urn2:ChangeListGetStateRequest"] cs
  
  instance Xmlable GetStateOutput where
          toContent x = [makeToContent ["urn2:Response"] [toContent.responseGetStateOutput] x]
          fromContent cs = GetStateOutput (fromContent c1)
                  where [c1] = forFromContent nss ["urn2:Response"] cs
  
  instance Xmlable CL_GetStateOut where
          toContent x = [makeToContent ["urn0:State", "urn0:LogMessageCollection"] [toContent.clgsoState, toContent.clgsoLM_Collection] x]
          fromContent cs = CL_GetStateOut (fromContent c1) (fromContent c2)
                  where [c1, c2] = forFromContent nss ["urn0:State", "urn0:LogMessageCollection"] cs
  
  instance Xmlable RevertInput where
          toContent x = [makeToContent ["urn2:ChangeListRevertRequest"] [toContent.cL_RevertRequest] x]
          fromContent cs = RevertInput (fromContent c1)
                  where [c1] = forFromContent nss ["urn2:ChangeListRevertRequest"] cs
  
  instance Xmlable RevertOutput where
          toContent x = [makeToContent ["urn2:Response"] [toContent.responseRevertOutput] x]
          fromContent cs = RevertOutput (fromContent c1)
                  where [c1] = forFromContent nss ["urn2:Response"] cs