#include <ServiceSkeleton.h>
#include <iostream>
#include <stdio.h>
#include <axutil_env.h>
#include <Environment.h>
#include <OMText.h>
#include "Hello.h"
using namespace wso2wsf;
using namespace std;
WSF_SERVICE_INIT(Hello)
OMElement* Hello::invoke(OMElement *ele, MessageContext *msgCtx)
{
return greet(ele);
}
OMElement* Hello::onFault(OMElement *ele)
{
OMElement *responseEle = new OMElement("HelloServiceErrorResponse");
responseEle->setText("Hello Service Failed");
return responseEle;
}
void Hello::init()
{
}
OMElement* Hello::greet(OMElement* inMsg)
{
string greet;
if(inMsg)
{
try
{
if(inMsg->getFirstChild() && inMsg->getFirstChild()->nodeType() == AXIOM_TEXT)
{
OMText *text = dynamic_cast<OMText*>(inMsg->getFirstChild());
greet = text->getValue();
cout << "Client greeted Saying" << greet << endl;
}
}catch (bad_cast)
{
return NULL;
}
OMElement *helloEle = new OMElement("greetResponse");
OMElement *text = new OMElement("text");
helloEle->setText(greet);
return helloEle;
}
return NULL;
}