scalaxbはSOAPをケースクラスとインターフェイスに変換できます。 lift-jsonは、ケースクラスをjsonに変換できます。
scalaxb生成コードは1:1になります。 wsdl 1.1 supportを参照してください。
ケースクラスを他の中間ケースクラスにマップしたい場合は、まずそれを行うことができます。そして、あなたは質問してください
scala> import net.liftweb.json._
scala> import net.liftweb.json.Serialization.{read, write}
scala> implicit val formats = Serialization.formats(NoTypeHints)
scala> val ser = write(Child("Mary", 5, None))
scala> read[Child](ser)
res1: Child = Child(Mary,5,None)
または手動
scala> import net.liftweb.json._
scala> implicit val formats = DefaultFormats // Brings in default date formats etc.
scala> case class Child(name: String, age: Int, birthdate: Option[java.util.Date])
scala> case class Address(street: String, city: String)
scala> case class Person(name: String, address: Address, children: List[Child])
scala> val json = parse(...)
scala> json.extract[Person]
res0: Person = Person(joe,Address(Bulevard,Helsinki),List(Child(Mary,5,Some(Sat Sep 04 18:06:22 EEST 2004)), Child(Mazy,3,None)))
自動的にJSONにそれらを回すためにリフトJSONを適用することができます。 –
似たような質問https://stackoverflow.com/questions/26490929/custom-transform-rest-to-soap-to-rest-using-apache-camel – navaltiger