From 95ecf7ecc7d1320f803122aeead8f1a84d52a03f Mon Sep 17 00:00:00 2001 From: David Portabella Date: Wed, 8 Nov 2017 23:56:09 +0100 Subject: [PATCH] fix for Soap11Fault bug when empty detail --- cli/src/main/resources/soap11.scala.template | 6 +++--- cli/src/main/resources/soap11_async.scala.template | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/cli/src/main/resources/soap11.scala.template b/cli/src/main/resources/soap11.scala.template index 7fbe072e0..214e07bb4 100644 --- a/cli/src/main/resources/soap11.scala.template +++ b/cli/src/main/resources/soap11.scala.template @@ -2,15 +2,15 @@ package scalaxb case class Soap11Fault[+A](original: Any, detail: Option[A], headers: scala.xml.NodeSeq) extends Exception { def asFault[B: scalaxb.XMLFormat]: Soap11Fault[B] = Soap11Fault(original, detail map { - case x: soapenvelope11.Detail => x.any.head.value match { + case soapenvelope11.Detail(dataRecord :: _, _) => dataRecord.value match { case node: scala.xml.Node => scalaxb.fromXML[B](node) case _ => sys.error("unsupported fault: " + toString) } case _ => sys.error("unsupported fault: " + toString) }, headers) def asNillableFault[B: scalaxb.XMLFormat]: Soap11Fault[Option[B]] = Soap11Fault(original, detail map { - case x: soapenvelope11.Detail => x.any.head.value match { - case node: scala.xml.Node if scalaxb.Helper.isNil(node) => None + case soapenvelope11.Detail(dataRecord :: _, _) => dataRecord.value match { + case node: scala.xml.Node if scalaxb.Helper.isNil(node) => None case node: scala.xml.Node => Some(scalaxb.fromXML[B](node)) case _ => sys.error("unsupported fault: " + toString) } diff --git a/cli/src/main/resources/soap11_async.scala.template b/cli/src/main/resources/soap11_async.scala.template index c6009e8ae..e3a32395a 100644 --- a/cli/src/main/resources/soap11_async.scala.template +++ b/cli/src/main/resources/soap11_async.scala.template @@ -3,15 +3,15 @@ import scala.concurrent.Future case class Soap11Fault[+A](original: Any, detail: Option[A], headers: scala.xml.NodeSeq) extends Exception { def asFault[B: scalaxb.XMLFormat]: Soap11Fault[B] = Soap11Fault(original, detail map { - case x: soapenvelope11.Detail => x.any.head.value match { + case soapenvelope11.Detail(dataRecord :: _, _) => dataRecord.value match { case node: scala.xml.Node => scalaxb.fromXML[B](node) case _ => sys.error("unsupported fault: " + toString) } case _ => sys.error("unsupported fault: " + toString) }, headers) def asNillableFault[B: scalaxb.XMLFormat]: Soap11Fault[Option[B]] = Soap11Fault(original, detail map { - case x: soapenvelope11.Detail => x.any.head.value match { - case node: scala.xml.Node if scalaxb.Helper.isNil(node) => None + case soapenvelope11.Detail(dataRecord :: _, _) => dataRecord.value match { + case node: scala.xml.Node if scalaxb.Helper.isNil(node) => None case node: scala.xml.Node => Some(scalaxb.fromXML[B](node)) case _ => sys.error("unsupported fault: " + toString) }