0
我從最大的scalaxb(1.1.2)生成的xmlprotocol.scala中的編譯錯誤來自大型WSDL文件:scalaxb生成的代碼(xmlprotocol.scala)中的編譯錯誤 - 找到:布爾值,必需:Option [布爾型]
[info] Compiling 10 Scala sources to /aw-scalaxb-test/target/scala-2.10/classes...
[error] /aw-scalaxb-test/target/scala-2.10/src_managed/main/sbt-scalaxb/aw/xmlprotocol.scala:630: type mismatch;
[error] found : Boolean
[error] required: Option[Boolean]
[error] p2.headOption map { scalaxb.fromXML[Boolean](_, scalaxb.ElemName(node) :: stack) } getOrElse { scalaxb.fromXML[Boolean](scala.xml.Text("false"), scalaxb.ElemName(node) :: stack) },
[error] ^
[error] one error found
[error] (compile:compile) Compilation failed
這裏是一個代碼對應件(錯誤是第一個「p2.headOption圖」行):因爲有幾個非常相似的結構
...
(scalaxb.ElemName(None, "HistoryLastDate"))) ^^
{ case p1 ~ p2 ~ p3 ~ p4 ~ p5 ~ p6 ~ p7 ~ p8 ~ p9 ~ p10 => aw.CheckAccountRequestSequence2(p1.nilOption map { scalaxb.fromXML[Int](_, scalaxb.ElemName(node) :: stack) },
p2.headOption map { scalaxb.fromXML[Boolean](_, scalaxb.ElemName(node) :: stack) } getOrElse { scalaxb.fromXML[Boolean](scala.xml.Text("false"), scalaxb.ElemName(node) :: stack) },
p3.nilOption map { scalaxb.fromXML[String](_, scalaxb.ElemName(node) :: stack) },
...
誤差覺得奇怪,我在代碼中。他們都是錯誤的嗎?
任何人都可以給我一個提示這裏有什麼問題嗎?
原始WSDL和所有的代碼是在我的github項目:https://github.com/alboko/aw-scalaxb-test