8 #include "xdaq/NamespaceURI.h"
9 #include "xoap/MessageFactory.h"
10 #include "xoap/Method.h"
11 #include "xoap/SOAPBody.h"
12 #include "xoap/SOAPEnvelope.h"
13 #include "xoap/SOAPName.h"
14 #include "xoap/SOAPPart.h"
15 #include "xoap/domutils.h"
17 #include "xdaq2rc/version.h"
18 #include "xdaq2rc/SOAPParameterExtractor.hh"
31 xdaq2rc::SOAPParameterExtractor soapParameterExtractor(app);
32 command = soapParameterExtractor.extractParameters(msg);
39 const std::string commandName,
40 const std::string currentState
43 xoap::MessageReference reply;
48 reply = xoap::createMessage();
49 xoap::SOAPEnvelope envelope = reply->getSOAPPart().getEnvelope();
50 xoap::SOAPName responseName = envelope.createName(commandName+
"Response",
52 xoap::SOAPBodyElement responseElem =
53 envelope.getBody().addBodyElement(responseName);
56 xoap::SOAPName stateName = envelope.createName(
"state",
"xdaq",XDAQ_NS_URI);
57 xoap::SOAPElement stateElem = responseElem.addChildElement(stateName);
58 xoap::SOAPName attributeName = envelope.createName(
"stateName",
"xdaq",XDAQ_NS_URI);
59 stateElem.addAttribute(attributeName,currentState);
64 "Failed to create FSM SOAP response message for command '" +
65 commandName +
"' and current state '" + currentState +
"'.", e);
xoap::MessageReference createFsmSoapResponseMsg(const std::string commandName, const std::string currentState)
std::string extractParameters(xoap::MessageReference, xdaq::Application *)