Hi Brian,
There are three "slices" of Cake (each with 2 layers) involved:
slice 1: generated bindings for the given wsdl.
slice 2: Soap11Clients or Soap12Clients module.
slice 3: a subtype of HttpClients module, which is usually DispatchHttpClients.
To inject your own soap header, you should be able to extend the soap client and override the requestResponse method:
trait CustomSoap11Clients extends scalaxb.Soap11Clients {
override lazy val soapClient: scalaxb.Soap11Client = new CustomSoap11Client {}
trait CustomSoap11Client extends scalaxb.Soap11Client {
override def requestResponse(body: scala.xml.NodeSeq, headers: scala.xml.NodeSeq, scope: scala.xml.NamespaceBinding,
address: java.net.URI, webMethod: String, action: Option[java.net.URI]) =
super.requestResponse(body, headers.toSeq ++ yourstuff, scope, address, webMethod, action)
}
}
-eugene