Skip to content

Instantly share code, notes, and snippets.

@karthik20522
Created May 25, 2019 03:51
Show Gist options
  • Save karthik20522/bb3c7d984a51e88eec248619890c9c01 to your computer and use it in GitHub Desktop.
Save karthik20522/bb3c7d984a51e88eec248619890c9c01 to your computer and use it in GitHub Desktop.
Scala SOAP
case class Terms(
termIds: List[Int],
status: Int = 0)
case class DesiredTermDetails(
ancestors: Boolean = false,
category: Boolean = false,
children: Boolean = false,
translations: Boolean = true,
mappingSynonyms: Boolean = false,
searchSynonyms: Boolean = false,
requiredRelationships: Boolean = false,
suggestedRelationships: Boolean = false,
languageCodes: String = "en-us")
class GetKeywordDetailsRequest(user: String = "test", mode: Int = 0, terms: Terms, desiredTermDetails: DesiredTermDetails) {
def toXML = {
val requestXML = <GetKeywordDetails xmlns="http://xxx.com/">
<GetKeywordDetailsRequest xmlns="http://xxxx.com/zzzz.xsd">
<User>{ user }</User>
<Mode>{ mode }</Mode>
<Terms>
{
for { tID <- terms.termIds } yield <TermID>{ tID }</TermID>
}
<Status>{ terms.status }</Status>
</Terms>
<DesiredTermDetails>
<Ancestors>{ desiredTermDetails.ancestors }</Ancestors>
<Category>{ desiredTermDetails.category }</Category>
<Children>{ desiredTermDetails.children }</Children>
<Translations>{ desiredTermDetails.translations }</Translations>
<MappingSynonyms>{ desiredTermDetails.mappingSynonyms }</MappingSynonyms>
<SearchSynonyms>{ desiredTermDetails.searchSynonyms }</SearchSynonyms>
<RequiredRelationships>{ desiredTermDetails.requiredRelationships }</RequiredRelationships>
<SuggestedRelationships>{ desiredTermDetails.suggestedRelationships }</SuggestedRelationships>
<LanguageCodes>{ desiredTermDetails.languageCodes }</LanguageCodes>
</DesiredTermDetails>
</GetKeywordDetailsRequest>
</GetKeywordDetails>
requestXML
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment