You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by sa...@apache.org on 2004/11/05 09:48:42 UTC
cvs commit: ws-axis/contrib/wsa4c/addressing To.hpp To.cpp ServiceNameType.hpp ServiceNameType.cpp ReplyTo.hpp ReplyTo.cpp RelationshipType.hpp RelationshipType.cpp RelatesTo.hpp RelatesTo.cpp ReferenceProperties.hpp ReferenceProperties.cpp Receipent.hpp Receipent.cpp PortType.hpp PortType.cpp MessageID.hpp MessageID.cpp From.hpp From.cpp FaultTo.hpp FaultTo.cpp EndpointReferenceType.hpp EndpointReferenceType.cpp Constants.hpp Constants.cpp AttributedURI.hpp AttributedURI.cpp AttributedQName.hpp AttributedQName.cpp Adress.hpp Adress.cpp Action.hpp Action.cpp
sanjaya 2004/11/05 00:48:42
Added: contrib/wsa4c/addressing To.hpp To.cpp ServiceNameType.hpp
ServiceNameType.cpp ReplyTo.hpp ReplyTo.cpp
RelationshipType.hpp RelationshipType.cpp
RelatesTo.hpp RelatesTo.cpp ReferenceProperties.hpp
ReferenceProperties.cpp Receipent.hpp Receipent.cpp
PortType.hpp PortType.cpp MessageID.hpp
MessageID.cpp From.hpp From.cpp FaultTo.hpp
FaultTo.cpp EndpointReferenceType.hpp
EndpointReferenceType.cpp Constants.hpp
Constants.cpp AttributedURI.hpp AttributedURI.cpp
AttributedQName.hpp AttributedQName.cpp Adress.hpp
Adress.cpp Action.hpp Action.cpp
Log:
Adding Initial files for WS-Addressing for Axis C++
Revision Changes Path
1.1 ws-axis/contrib/wsa4c/addressing/To.hpp
Index: To.hpp
===================================================================
#if !defined(__TO_OF_AXIS_INCLUDED__)
#define __TO_OF_AXIS_INCLUDED__
#include "AttributedURI.hpp"
#include <string>
class To:public AttributedUri {
public:
/***
* Constructor To
* @param uri
*/
To(AxisChar * pachUri);
};
#endif
1.1 ws-axis/contrib/wsa4c/addressing/To.cpp
Index: To.cpp
===================================================================
#include "To.hpp"
To::To(AxisChar * pachUri)
:AttributedUri(Constants.TO,pachUri)
{
}
1.1 ws-axis/contrib/wsa4c/addressing/ServiceNameType.hpp
Index: ServiceNameType.hpp
===================================================================
#if !defined(__SERVICE_NAME_OF_AXIS_INCLUDED__)
#define __SERVICE_NAME_OF_AXIS_INCLUDED__
#include "AttributedQName.hpp"
#include <axis/server/BasicNode.h>
#include <axis/server/IHeaderBlock.h>
#include <axis/server/IMessageData.h>
/***
* C++ content class for ServiceNameType complex type.
* <p>The following schema fragment specifies the expected content contained within this java content object. (defined at http://schemas.xmlsoap.org/ws/2003/03/addressing/ line 67)
* <p>
* <pre>
* <complexType name="ServiceNameType">
* <simpleContent>
* <extension base="<http://www.w3.org/2001/XMLSchema>QName">
* <attribute name="PortName" type="{http://www.w3.org/2001/XMLSchema}NCName" />
* </extension>
* </simpleContent>
* </complexType>
* </pre>
*
*/
class ServiceNameType:public AttributedQName{
public:
ServiceNameType();
~ServiceNameType();
AxisChar * getPortName();
void setPortName(AxisChar * pachPortName);
ServiceNameType(const AxisChar* pachLocalName, const AxisChar* pachUri,const AxisChar * portName);
IHeaderBlock * toSoapHeaderBlock(IMessageData *pIMsg);
private:
AxisChar * m_pachPortName;
};
#endif
1.1 ws-axis/contrib/wsa4c/addressing/ServiceNameType.cpp
Index: ServiceNameType.cpp
===================================================================
#include "ServiceNameType.hpp"
#include "Constants.hpp"
ServiceNameType::ServiceNameType()
{
m_pachPortName = "\0";
}
ServiceNameType::~ServiceNameType()
{
free(m_pachPortName);
}
ServiceNameType::ServiceNameType(const AxisChar* pachLocalName, const AxisChar* pachUri, const AxisChar* pachPortName)
:AttributedQName(pachLocalName,pachUri)
{
free(m_pachPortName);
m_pachPortName = (AxisChar*) malloc(strlen(pachPortName)+1);
strcpy(m_pachPortName,pachPortName);
}
AxisChar * ServiceNameType::getPortName()
{
return m_pachPortName;
}
void ServiceNameType::setPortName(AxisChar * pachPortName)
{
free(m_pachPortName);
m_pachPortName = (AxisChar*) malloc(strlen(pachPortName)+1);
strcpy(m_pachPortName,pachPortName);
}
IHeaderBlock * ServiceNameType::toSoapHeaderBlock(IMessageData *pIMsg)
{
IHandlerSoapSerializer* pISZ;
pIMsg->getSoapSerializer(&pISZ);
IHeaderBlock* pIHeaderBlock= pISZ->createHeaderBlock();
pIHeaderBlock->setLocalName(Constants.PORT_TYPE);
pIHeaderBlock->setUri(Constants.NS_URI_ADDRESSING);
printf("in the WsaHandler::Invoke : %s\n");
if(strlen(m_pachPortName)!=0){
pIHeaderBlock->createAttribute(Constants.PORT_NAME,"",m_pachPortName);
}
BasicNode * pBasicNode = pIHeaderBlock->createChild(CHARACTER_NODE);
pBasicNode->setValue(getQname());
pIHeaderBlock->addChild(pBasicNode);
return pIHeaderBlock;
}
1.1 ws-axis/contrib/wsa4c/addressing/ReplyTo.hpp
Index: ReplyTo.hpp
===================================================================
#include "EndpointReferenceType.hpp"
class ReplyTo:public EndpointReferenceType
{
/***
* Constructor ReplyTo
*
* @param address
*/
public:
ReplyTo();
ReplyTo(AxisChar * address);
};
1.1 ws-axis/contrib/wsa4c/addressing/ReplyTo.cpp
Index: ReplyTo.cpp
===================================================================
#include "ReplyTo.hpp"
ReplyTo::ReplyTo()
:EndpointReferenceType(Constants.REPLY_TO)
{
}
ReplyTo::ReplyTo(AxisChar * address)
:EndpointReferenceType(Constants.REPLY_TO,address)
{
}
1.1 ws-axis/contrib/wsa4c/addressing/RelationshipType.hpp
Index: RelationshipType.hpp
===================================================================
#if !defined(__RELATIONSHIP_TYPE_OF_AXIS_INCLUDED__)
#define __RELATIONSHIP_TYPE_OF_AXIS_INCLUDED__
#include "AttributedQName.hpp"
#include <axis/server/BasicNode.h>
#include <axis/server/IHeaderBlock.h>
#include <axis/server/IMessageData.h>
class RelationshipType:public AttributedQName{
public:
RelationshipType();
RelationshipType(const AxisChar* pachLocalName, const AxisChar* pachUri);
IHeaderBlock * toSoapHeaderBlock(IMessageData *pIMsg);
};
#endif
1.1 ws-axis/contrib/wsa4c/addressing/RelationshipType.cpp
Index: RelationshipType.cpp
===================================================================
#include "RelationshipType.hpp"
#include "Constants.hpp"
RelationshipType::RelationshipType()
{
}
RelationshipType::RelationshipType(const AxisChar* pachLocalName, const AxisChar* pachUri)
:AttributedQName(pachLocalName,pachUri)
{
}
IHeaderBlock * RelationshipType::toSoapHeaderBlock(IMessageData *pIMsg)
{
return NULL;
}
1.1 ws-axis/contrib/wsa4c/addressing/RelatesTo.hpp
Index: RelatesTo.hpp
===================================================================
#if !defined(__RELATESTO_OF_AXIS_INCLUDED__)
#define __RELATESTO_OF_AXIS_INCLUDED__
#include "AttributedURI.hpp"
#include "RelationshipType.hpp"
#include <string>
class RelatesTo:AttributedUri{
public:
/***
* Constructor Adress
*
* @param uri
*/
RelatesTo();
~RelatesTo();
RelatesTo(AxisChar* pachUri);
void setRelationshipType(RelationshipType * pRelationshipType);
RelationshipType * getRelationshipType();
IHeaderBlock * toSoapHeaderBlock(IMessageData *pIMsg);
private:
RelationshipType * m_pRelationshipType;
};
#endif
1.1 ws-axis/contrib/wsa4c/addressing/RelatesTo.cpp
Index: RelatesTo.cpp
===================================================================
#include "RelatesTo.hpp"
#include "RelationshipType.hpp"
#include "Constants.hpp"
RelatesTo::RelatesTo()
{
m_pRelationshipType = NULL;
}
RelatesTo::RelatesTo(AxisChar* pachUri)
:AttributedUri(Constants.RELATES_TO,pachUri)
{
}
void RelatesTo::setRelationshipType(RelationshipType * pRelationshipType)
{
m_pRelationshipType = pRelationshipType;
}
RelatesTo::~RelatesTo()
{
if(m_pRelationshipType != NULL)
delete(m_pRelationshipType);
}
RelationshipType * RelatesTo::getRelationshipType()
{
return m_pRelationshipType;
}
IHeaderBlock * RelatesTo::toSoapHeaderBlock(IMessageData *pIMsg)
{
IHandlerSoapSerializer* pISZ;
pIMsg->getSoapSerializer(&pISZ);
IHeaderBlock* pIHeaderBlock= pISZ->createHeaderBlock();
pIHeaderBlock->setLocalName(getLocalName());
pIHeaderBlock->setUri(Constants.NS_URI_ADDRESSING);
if(m_pRelationshipType != NULL)
pIHeaderBlock->createAttribute(Constants.RELATIONSHIP_TYPE,"",m_pRelationshipType->getUri());
printf("in the WsaHandler::Invoke : %s\n");
BasicNode* pBasicNode = pIHeaderBlock->createChild(CHARACTER_NODE);
pBasicNode->setValue(getUri());
pIHeaderBlock->addChild(pBasicNode);
return pIHeaderBlock;
}
1.1 ws-axis/contrib/wsa4c/addressing/ReferenceProperties.hpp
Index: ReferenceProperties.hpp
===================================================================
#if !defined(__REFERENCE_PROPERTIES_INCLUDED__)
#define __REFERENCE_PROPERTIES_INCLUDED__
#include "Constants.hpp"
#include <map>
#include <axis/server/BasicNode.h>
#include <axis/server/IHeaderBlock.h>
#include <axis/server/IMessageData.h>
class ReferenceProperties
{
private:
int iNoOfChildren;
map <AxisChar*, AxisChar*> m_refProps;
AxisChar* m_pachPrefix;
AxisChar* m_pachLocalName;
public:
ReferenceProperties();
ReferenceProperties(AxisChar * pachLocalName);
~ReferenceProperties();
void setLocalName(AxisChar * pachLocalName);
AxisChar * getLocalName();
void setPrefix(AxisChar * pachPrefix);
AxisChar * getPrefix();
int setProperty(AxisChar * pName, AxisChar * pValue);
const AxisChar* getProperty (AxisChar* pachName);
map<AxisChar*,AxisChar*> getProperties();
IHeaderBlock * toSoapHeaderBlock(IMessageData *pIMsg);
IHeaderBlock * toSoapHeaderBlock(IMessageData *pIMsg, AxisChar* pName);
};
#endif
1.1 ws-axis/contrib/wsa4c/addressing/ReferenceProperties.cpp
Index: ReferenceProperties.cpp
===================================================================
#include "ReferenceProperties.hpp"
#include "Constants.hpp"
ReferenceProperties::ReferenceProperties()
{
}
ReferenceProperties::ReferenceProperties(AxisChar * pachLocalName)
{
m_pachLocalName = (AxisChar*) malloc(strlen(pachLocalName)+1);
strcpy(m_pachLocalName, pachLocalName);
m_pachPrefix = '\0';
}
ReferenceProperties::~ReferenceProperties()
{
free(m_pachPrefix);
free(m_pachLocalName);
}
void ReferenceProperties::setLocalName(AxisChar * pachLocalName)
{
free(m_pachLocalName);
m_pachLocalName = (AxisChar*) malloc(strlen(pachLocalName)+1);
strcpy(m_pachLocalName, pachLocalName);
}
AxisChar * ReferenceProperties::getLocalName()
{
return m_pachLocalName;
}
void ReferenceProperties::setPrefix(AxisChar * pachPrefix)
{
free(m_pachPrefix);
m_pachPrefix = (AxisChar*) malloc(strlen(pachPrefix));
strcpy(m_pachPrefix,pachPrefix);
}
AxisChar * ReferenceProperties::getPrefix()
{
return m_pachPrefix;
}
int ReferenceProperties::setProperty(AxisChar * pachName, AxisChar * pachValue)
{
AxisChar* pachTmpName = (AxisChar*) malloc (strlen (pachName) + 1);
strcpy (pachTmpName, pachName);
AxisChar* pachTmpValue = (AxisChar*) malloc (strlen (pachValue) + 1);
strcpy (pachTmpValue, pachValue);
m_refProps[pachTmpName] = pachTmpValue;
return AXIS_SUCCESS;
}
const AxisChar* ReferenceProperties::getProperty (AxisChar* pachName)
{
if (m_refProps.find (pachName) != m_refProps.end ())
{
return m_refProps[pachName];
}
return "";
}
map<AxisChar*,AxisChar*> ReferenceProperties::getProperties()
{
return m_refProps;
}
IHeaderBlock * ReferenceProperties::toSoapHeaderBlock(IMessageData *pIMsg)
{
return toSoapHeaderBlock(pIMsg,m_pachLocalName);
}
IHeaderBlock * ReferenceProperties::toSoapHeaderBlock(IMessageData *pIMsg, AxisChar* pName)
{
IHandlerSoapSerializer* pISZ;
pIMsg->getSoapSerializer(&pISZ);
// m_children = pIMsg->getReferenceProperties();
//For testing
m_refProps["L1"] = "Val1";
m_refProps["L2"] = "Val2";
m_refProps["L3"] = "Val3";
IHeaderBlock* pIHeaderBlock= pISZ->createHeaderBlock();
pIHeaderBlock->setLocalName(pName);
pIHeaderBlock->setUri(Constants.NS_URI_ADDRESSING);
printf("in the WsaHandler::Invoke : %s\n");
map<AxisChar *,AxisChar *>::iterator prop = m_refProps.begin();
while(prop != m_refProps.end())
{
BasicNode * pElementNode = pIHeaderBlock->createChild(ELEMENT_NODE);
pElementNode->setLocalName((*prop).first);
BasicNode * pCharacterNode = pIHeaderBlock->createChild(CHARACTER_NODE);
pCharacterNode->setValue(prop->second);
pElementNode->addChild(pCharacterNode);
pIHeaderBlock->addChild(pElementNode);
prop++;
}
return pIHeaderBlock;
}
1.1 ws-axis/contrib/wsa4c/addressing/Receipent.hpp
Index: Receipent.hpp
===================================================================
#include "EndpointReferenceType.hpp"
#include "Adress.hpp"
class Receipent:public EndpointReferenceType {
/***
* Constructor Receipent
*
* @param address
*/
public:
Receipent(Adress * address);
/***
* Constructor Receipent
*
* @param uri
*/
Receipent(std::string uri);
/***
* Constructor Receipent
*
* @param endpoint
*/
Receipent(EndpointReferenceType * endpoint);
virtual HeaderBlock * toSoapHeaderBlock(SoapEnvelope * pEnv);
};
1.1 ws-axis/contrib/wsa4c/addressing/Receipent.cpp
Index: Receipent.cpp
===================================================================
#include "Receipent.hpp"
Receipent::Receipent(Adress * address)
:EndpointReferenceType(Constants.RECIPIENT,Constants.NS_PREFIX_ADDRESSING,NULL,address)
{
}
Receipent::Receipent(std::string uri)
:EndpointReferenceType(Constants.RECIPIENT,Constants.NS_PREFIX_ADDRESSING,NULL,uri)
{
}
//Receipent::Receipent(EndpointReferenceType * endpoint);
1.1 ws-axis/contrib/wsa4c/addressing/PortType.hpp
Index: PortType.hpp
===================================================================
#if !defined(__PORTTYPE_OF_AXIS_INCLUDED__)
#define __PORTTYPE_OF_AXIS_INCLUDED__
#include "AttributedQName.hpp"
#include <axis/server/BasicNode.h>
#include <axis/server/IHeaderBlock.h>
#include <axis/server/IMessageData.h>
/***
* C++ content class for PortType complex type.
* <p>The following schema fragment specifies the expected content contained within this java content object. (defined at http://schemas.xmlsoap.org/ws/2003/03/addressing/ line 67)
* <p>
* <pre>
* <complexType name="PortType">
* <simpleContent>
* <extension base="<http://www.w3.org/2001/XMLSchema>QName">
* <attribute name="PortName" type="{http://www.w3.org/2001/XMLSchema}NCName" />
* </extension>
* </simpleContent>
* </complexType>
* </pre>
*
*/
class PortType:public AttributedQName{
public:
PortType();
PortType(const AxisChar* pLocalName, const AxisChar* pUri);
IHeaderBlock * toSoapHeaderBlock(IMessageData *pIMsg);
};
#endif
1.1 ws-axis/contrib/wsa4c/addressing/PortType.cpp
Index: PortType.cpp
===================================================================
#include "PortType.hpp"
#include "Constants.hpp"
PortType::PortType()
{
}
PortType::PortType(const AxisChar* pachLocalName, const AxisChar* pachUri)
:AttributedQName(pachLocalName,pachUri)
{
}
IHeaderBlock * PortType::toSoapHeaderBlock(IMessageData *pIMsg)
{
IHandlerSoapSerializer* pISZ;
pIMsg->getSoapSerializer(&pISZ);
IHeaderBlock* pIHeaderBlock= pISZ->createHeaderBlock();
pIHeaderBlock->setLocalName(Constants.PORT_TYPE);
pIHeaderBlock->setUri(Constants.NS_URI_ADDRESSING);
BasicNode * pBasicNode = pIHeaderBlock->createChild(CHARACTER_NODE);
pBasicNode->setValue(getQname());
pIHeaderBlock->addChild(pBasicNode);
return pIHeaderBlock;
}
1.1 ws-axis/contrib/wsa4c/addressing/MessageID.hpp
Index: MessageID.hpp
===================================================================
#if !defined(__MESSAGEID_OF_AXIS_INCLUDED__)
#define __MESSAGEID_OF_AXIS_INCLUDED__
#include "AttributedURI.hpp"
#include <string>
using namespace std;
class MessageId:public AttributedUri {
public:
/*
* Constructor MessageId
*
* @param uri
*/
MessageId(AxisChar * pachUri);
};
#endif
1.1 ws-axis/contrib/wsa4c/addressing/MessageID.cpp
Index: MessageID.cpp
===================================================================
#include "MessageID.hpp"
MessageId::MessageId(AxisChar * pachUri)
:AttributedUri(Constants.MESSAGE_ID,pachUri)
{
}
1.1 ws-axis/contrib/wsa4c/addressing/From.hpp
Index: From.hpp
===================================================================
#include "EndpointReferenceType.hpp"
class From:public EndpointReferenceType
{
/***
* Constructor From
*
* @param address
*/
public:
From();
From(AxisChar * address);
};
1.1 ws-axis/contrib/wsa4c/addressing/From.cpp
Index: From.cpp
===================================================================
#include "From.hpp"
From::From()
:EndpointReferenceType(Constants.FROM)
{
}
From::From(AxisChar * address)
:EndpointReferenceType(Constants.FROM,address)
{
}
1.1 ws-axis/contrib/wsa4c/addressing/FaultTo.hpp
Index: FaultTo.hpp
===================================================================
#include "EndpointReferenceType.hpp"
class FaultTo:public EndpointReferenceType
{
/***
* Constructor FaultTo
*
* @param address
*/
public:
FaultTo();
FaultTo(AxisChar * address);
};
1.1 ws-axis/contrib/wsa4c/addressing/FaultTo.cpp
Index: FaultTo.cpp
===================================================================
#include "FaultTo.hpp"
FaultTo::FaultTo()
:EndpointReferenceType(Constants.FAULT_TO)
{
}
FaultTo::FaultTo(AxisChar * address)
:EndpointReferenceType(Constants.FAULT_TO,address)
{
}
1.1 ws-axis/contrib/wsa4c/addressing/EndpointReferenceType.hpp
Index: EndpointReferenceType.hpp
===================================================================
#if !defined(__ENDPOINT_TYPE_REFERENCE_TYPE_OF_AXIS_INCLUDED__)
#define __ENDPOINT_TYPE_REFERENCE_TYPE_OF_AXIS_INCLUDED__
#include "Adress.hpp"
#include "PortType.hpp"
#include "ReferenceProperties.hpp"
#include "PortType.hpp"
#include "ServiceNameType.hpp"
#include "AttributedQName.hpp"
#include "AttributedUri.hpp"
/***
* <p>The following schema fragment specifies the expected content contained within this java content object. (defined at http://schemas.xmlsoap.org/ws/2003/03/addressing/ line 46)
* <p>
* <pre>
* <complexType name="EndpointReferenceType">
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <sequence>
* <element name="Address" type="{http://schemas.xmlsoap.org/ws/2003/03/addressing}AttributedURI"/>
* <element name="ReferenceProperties" type="{http://schemas.xmlsoap.org/ws/2003/03/addressing}ReferencePropertiesType" minOccurs="0"/>
* <element name="PortType" type="{http://schemas.xmlsoap.org/ws/2003/03/addressing}AttributedQName" minOccurs="0"/>
* <element name="ServiceName" type="{http://schemas.xmlsoap.org/ws/2003/03/addressing}ServiceNameType" minOccurs="0"/>
* <any/>
* </sequence>
* </restriction>
* </complexContent>
* </complexType>
* </pre>
*
*/
class EndpointReferenceType
{
private:
/***
* Field address
*/
AttributedUri * m_pAddress;
/***
* Field properties
*/
ReferenceProperties * m_pRefprops;
/***
* Field portType
*/
AttributedQName * m_pPortType;
/***
* Field serviceName
*/
AttributedQName * m_pServiceName;
AxisChar * m_pachLocalName;
public:
EndpointReferenceType(AxisChar* pachLocalName);
/***
* Constructor EndpointReferenceType
*
* @param address
*/
EndpointReferenceType(AxisChar* pachLocalName,AxisChar * pachAddress);
~EndpointReferenceType();
/***
* Method getAddress
*
* @return
*/
AttributedUri * getAddress();
/***
* Method setAddress
*
* @param address
*/
void setAddress(AxisChar * pachAddress);
/***
* Method getPortType
*
* @return
*/
AttributedQName * getPortType();
/***
* Method setPortType
*
* @param portType
*/
void setPortType(AttributedQName * portType);
/***
* Method getProperties
*
* @return
*/
ReferenceProperties * getProperties();
/***
* Method setProperties
*
* @param properties
*/
void setProperties(ReferenceProperties * pRefprops);
/***
* Method getServiceName
*
* @return
*/
AttributedQName * getServiceName();
/***
* Method setServiceName
*
* @param serviceName
*/
void setServiceName(AttributedQName * pServiceName);
IHeaderBlock * toSoapHeaderBlock(IMessageData *pIMsg);
};
#endif
1.1 ws-axis/contrib/wsa4c/addressing/EndpointReferenceType.cpp
Index: EndpointReferenceType.cpp
===================================================================
#include "EndpointReferenceType.hpp"
EndpointReferenceType::EndpointReferenceType(AxisChar* pachLocalName)
{
m_pachLocalName = (AxisChar*) malloc(strlen(pachLocalName)+1);
strcpy(m_pachLocalName,pachLocalName);
m_pAddress = NULL;
m_pRefprops = NULL;
m_pPortType = NULL;
m_pServiceName = NULL;
}
EndpointReferenceType::EndpointReferenceType(AxisChar* pachLocalName,AxisChar * pachAddress)
{
m_pachLocalName = (AxisChar*) malloc(strlen(pachLocalName)+1);
strcpy(m_pachLocalName,pachLocalName);
m_pAddress = new Address(pachAddress);
m_pRefprops = NULL;
m_pPortType = NULL;
m_pServiceName = NULL;
}
EndpointReferenceType::~EndpointReferenceType()
{
free(m_pachLocalName);
}
AttributedUri * EndpointReferenceType::getAddress()
{
return m_pAddress;
}
void EndpointReferenceType::setAddress(AxisChar * pachAddress)
{
m_pAddress = new Address(pachAddress);
}
AttributedQName * EndpointReferenceType::getPortType()
{
return m_pPortType;
}
void EndpointReferenceType::setPortType(AttributedQName * portType)
{
m_pPortType = portType;
}
ReferenceProperties * EndpointReferenceType::getProperties()
{
return m_pRefprops;
}
void EndpointReferenceType::setProperties(ReferenceProperties * pRefprops)
{
m_pRefprops = pRefprops;
}
AttributedQName * EndpointReferenceType::getServiceName()
{
return m_pServiceName;
}
void EndpointReferenceType::setServiceName(AttributedQName * pServiceName)
{
m_pServiceName = pServiceName;
}
IHeaderBlock * EndpointReferenceType::toSoapHeaderBlock(IMessageData *pIMsg)
{
IHandlerSoapSerializer* pISZ;
pIMsg->getSoapSerializer(&pISZ);
IHeaderBlock* pIHeaderBlock= pISZ->createHeaderBlock();
pIHeaderBlock->setLocalName(m_pachLocalName);
pIHeaderBlock->setUri(Constants.NS_URI_ADDRESSING);
printf("in the WsaHandler::Invoke : %s\n");
if(NULL != m_pAddress)
{
BasicNode * pElementNode = pIHeaderBlock->createChild(ELEMENT_NODE);
pElementNode->setLocalName(m_pAddress->getLocalName());
pElementNode->setPrefix(Constants.NS_PREFIX_ADDRESSING);
BasicNode * pCharacterNode = pIHeaderBlock->createChild(CHARACTER_NODE);
pCharacterNode->setValue(m_pAddress->getUri());
pElementNode->addChild(pCharacterNode);
pIHeaderBlock->addChild(pElementNode);
}
if(NULL != m_pRefprops)
{
BasicNode * parentNode = pIHeaderBlock->createChild(ELEMENT_NODE);
parentNode->setLocalName(m_pRefprops->getLocalName());
parentNode->setPrefix(Constants.NS_PREFIX_ADDRESSING);
map<AxisChar *,AxisChar *>::iterator prop = m_pRefprops->getProperties().begin();
while(prop != m_pRefprops->getProperties().end())
{
BasicNode * pElementNode = pIHeaderBlock->createChild(ELEMENT_NODE);
// if(strlen(m_pRefprops->getPrefix())!=0)
// pElementNode->setPrefix(m_pRefprops->getPrefix);
pElementNode->setLocalName((*prop).first);
BasicNode * pCharacterNode = pIHeaderBlock->createChild(CHARACTER_NODE);
pCharacterNode->setValue(prop->second);
pElementNode->addChild(pCharacterNode);
parentNode->addChild(pElementNode);
prop++;
}
pIHeaderBlock->addChild(parentNode);
}
if(NULL != m_pPortType)
{
BasicNode * pElementNode = pIHeaderBlock->createChild(ELEMENT_NODE);
pElementNode->setLocalName(m_pPortType->getLocalName());
pElementNode->setPrefix(Constants.NS_PREFIX_ADDRESSING);
BasicNode * pCharacterNode = pIHeaderBlock->createChild(CHARACTER_NODE);
pCharacterNode->setValue(m_pPortType->getQname());
pElementNode->addChild(pCharacterNode);
pIHeaderBlock->addChild(pElementNode);
}
if(NULL != m_pServiceName)
{
BasicNode * pElementNode = pIHeaderBlock->createChild(ELEMENT_NODE);
pElementNode->setLocalName(m_pServiceName->getLocalName());
pElementNode->setPrefix(Constants.NS_PREFIX_ADDRESSING);
/*if(strlen(m_pServiceName->getPortName())!=0)
{
pElementNode->createAttribute(Constants.PORT_NAME,"",m_pServiceName->getPortName());
}*/
BasicNode * pCharacterNode = pIHeaderBlock->createChild(CHARACTER_NODE);
pCharacterNode->setValue(m_pPortType->getQname());
pElementNode->addChild(pCharacterNode);
pIHeaderBlock->addChild(pElementNode);
}
return pIHeaderBlock;
}
1.1 ws-axis/contrib/wsa4c/addressing/Constants.hpp
Index: Constants.hpp
===================================================================
#if !defined(__WSACONSTANTS_OF_AXIS_INCLUDED__)
#define __WSACONSTANTS_OF_AXIS_INCLUDED__
#include <string>
#include <axis/server/GDefine.h>
class Constants
{
public:
Constants();
~Constants();
/*
* Field NS_PREFIX_ADDRESSING
*/
static AxisChar * NS_PREFIX_ADDRESSING;
/*
* Field NS_URI_ADDRESSING
*/
static AxisChar * NS_URI_ADDRESSING;
/*
* Field NS_URI_ANONYMOUS
*/
static AxisChar * NS_URI_ANONYMOUS;
/*
* Field ENDPOINT_REFERENCE
*/
static AxisChar * ENDPOINT_REFERENCE;
/*
* Field MESSAGE_ID
*/
static AxisChar * MESSAGE_ID;
/*
* Field RELATES_TO
*/
static AxisChar * RELATES_TO;
/*
* Field RELATIONSHIP_TYPE
*/
static AxisChar * RELATIONSHIP_TYPE;
/*
* Field ACTION
*/
static AxisChar * ACTION;
/*
* Field ADDRESS
*/
static AxisChar * ADDRESS;
/*
* Field REFERENCE_PROPERTIES
*/
static AxisChar * REFERENCE_PROPERTIES;
/*
* Field SERVICE_NAME
*/
static AxisChar * SERVICE_NAME;
/*
* Field PORT_NAME
*/
static AxisChar * PORT_NAME;
/*
* Field PORT_TYPE
*/
static AxisChar * PORT_TYPE;
/*
* Field RESPONSE
*/
static AxisChar * RESPONSE;
/*
* Field TO
*/
static AxisChar * TO;
/*
* Field REPLY_TO
*/
static AxisChar * REPLY_TO;
/*
* Field FAULT_TO
*/
static AxisChar * FAULT_TO;
/*
* Field FROM
*/
static AxisChar * FROM;
/*
* Field RECIPIENT
*/
static AxisChar * RECIPIENT;
/*
* Field ENV_ADDRESSING_REQUEST_HEADERS
*/
static AxisChar * ENV_ADDRESSING_REQUEST_HEADERS;
/*
* Field ENV_ADDRESSING_RESPONSE_HEADERS
*/
static AxisChar * ENV_ADDRESSING_RESPONSE_HEADERS;
};
#endif
1.1 ws-axis/contrib/wsa4c/addressing/Constants.cpp
Index: Constants.cpp
===================================================================
#include "Constants.hpp"
#include <string>
#include <iostream>
using namespace std;
Constants::Constants(){};
Constants::~Constants(){};
AxisChar * Constants::NS_PREFIX_ADDRESSING = "wsa";
AxisChar * Constants::NS_URI_ADDRESSING="http://schemas.xmlsoap.org/ws/2003/03/addressing";
AxisChar * Constants::NS_URI_ANONYMOUS= *Constants::NS_URI_ADDRESSING + "/role/anonymous";
AxisChar * Constants::ENDPOINT_REFERENCE = "EndpointReference";
AxisChar * Constants::MESSAGE_ID = "MessageID";
AxisChar * Constants::RELATES_TO = "RelatesTo";
AxisChar * Constants::RELATIONSHIP_TYPE = "RelationshipType";
AxisChar * Constants::ACTION = "Action";
AxisChar * Constants::ADDRESS = "Address";
AxisChar * Constants::REFERENCE_PROPERTIES = "ReferenceProperties";
AxisChar * Constants::SERVICE_NAME = "ServiceName";
AxisChar * Constants::PORT_NAME = "PortName";
AxisChar * Constants::PORT_TYPE = "PortType";
AxisChar * Constants::RESPONSE = "Response";
AxisChar * Constants::TO = "To";
AxisChar * Constants::REPLY_TO = "ReplyTo";
AxisChar * Constants::FAULT_TO = "FaultTo";
AxisChar * Constants::FROM = "From";
AxisChar * Constants::RECIPIENT = "Recipient";
AxisChar * Constants::ENV_ADDRESSING_REQUEST_HEADERS ="org.apache.axis.message.addressing.REQUEST.HEADERS";
AxisChar * Constants::ENV_ADDRESSING_RESPONSE_HEADERS ="org.apache.axis.message.addressing.RESPONSE.HEADERS";
1.1 ws-axis/contrib/wsa4c/addressing/AttributedURI.hpp
Index: AttributedURI.hpp
===================================================================
#if !defined(__ATTRIBUTEDURI_OF_AXIS_INCLUDED__)
#define __ATTRIBUTEDURI_OF_AXIS_INCLUDED__
#include "Constants.hpp"
#include <axis/server/IHeaderBlock.h>
#include <axis/server/IMessageData.h>
class AttributedUri
{
private:
AxisChar * m_pachLocalName;
AxisChar * m_pachUri;
public:
/*
* Constructor AttributedURI
*/
AttributedUri();
/*
* Constructor AttributedURI
* @param uri
*/
AttributedUri(AxisChar * pachLocalName, AxisChar * pachUri);
/*Distructor
*/
~AttributedUri();
void setUri(AxisChar * pUri);
AxisChar * getUri();
void setLocalName(AxisChar * pachLocalName);
AxisChar * getLocalName();
virtual IHeaderBlock * toSoapHeaderBlock(IMessageData *pIMsg);
};
#endif
1.1 ws-axis/contrib/wsa4c/addressing/AttributedURI.cpp
Index: AttributedURI.cpp
===================================================================
#include "AttributedURI.hpp"
#include <axis/server/GDefine.h>
AttributedUri::AttributedUri()
{
}
AttributedUri::AttributedUri(AxisChar * pachLocalName,AxisChar * pachUri)
{
m_pachLocalName = (AxisChar*) malloc(strlen(pachUri)+1);
strcpy(m_pachLocalName,pachLocalName);
m_pachUri = (AxisChar*) malloc(strlen(pachUri)+1);
strcpy(m_pachUri, pachUri);
}
AttributedUri::~AttributedUri()
{
free(m_pachLocalName);
free(m_pachUri);
}
void AttributedUri::setUri(AxisChar * pachUri)
{
free(m_pachUri);
m_pachUri = (AxisChar*) malloc(strlen(pachUri)+1);
strcpy(m_pachUri, pachUri);
}
AxisChar * AttributedUri::getUri()
{
return m_pachUri;
}
void AttributedUri::setLocalName(AxisChar * pachLocalName)
{
free(m_pachLocalName);
m_pachLocalName = (AxisChar*) malloc(strlen(pachLocalName)+1);
strcpy(m_pachLocalName,pachLocalName);
}
AxisChar * AttributedUri::getLocalName()
{
return m_pachLocalName;
}
AxisChar * AttributedUri::getLocalName();
IHeaderBlock * AttributedUri::toSoapHeaderBlock(IMessageData *pIMsg)
{
IHandlerSoapSerializer* pISZ;
pIMsg->getSoapSerializer(&pISZ);
IHeaderBlock* pIHeaderBlock= pISZ->createHeaderBlock();
pIHeaderBlock->setLocalName(m_pachLocalName);
pIHeaderBlock->setUri(Constants.NS_URI_ADDRESSING);
printf("in the WsaHandler::Invoke : %s\n");
BasicNode* pBasicNode = pIHeaderBlock->createChild(CHARACTER_NODE);
pBasicNode->setValue(m_pachUri);
pIHeaderBlock->addChild(pBasicNode);
return pIHeaderBlock;
}
1.1 ws-axis/contrib/wsa4c/addressing/AttributedQName.hpp
Index: AttributedQName.hpp
===================================================================
#if !defined(__ATTRIBUTED_QNAME_INCLUDED__)
#define __ATTRIBUTED_QNAME_INCLUDED__
#include <axis/server/BasicNode.h>
#include <axis/server/IHeaderBlock.h>
#include <axis/server/IMessageData.h>
class AttributedQName
{
private:
AxisChar * m_pachLocalName;
AxisChar * m_pachUri;
AxisChar * m_pachQname;
public:
AttributedQName();
~AttributedQName();
AttributedQName(const AxisChar* pachLocalName, const AxisChar* pachUri);
const AxisChar * toUri();
AxisChar * getLocalName();
void setLocalName(AxisChar * pachLocalName);
AxisChar * getUri();
AxisChar * getQname();
void setUri(AxisChar * pachUri);
virtual IHeaderBlock * toSoapHeaderBlock(IMessageData *pIMsg);
};
#endif
1.1 ws-axis/contrib/wsa4c/addressing/AttributedQName.cpp
Index: AttributedQName.cpp
===================================================================
#include "AttributedQName.hpp"
#include "Constants.hpp"
AttributedQName::AttributedQName()
{
m_pachLocalName = "\0";
m_pachUri = "\0";
m_pachQname = "\0";
}
AttributedQName::AttributedQName(const AxisChar* pachLocalName, const AxisChar* pachUri)
{
m_pachLocalName = (AxisChar*) malloc(strlen(pachLocalName)+1);
strcpy(m_pachLocalName, pachLocalName);
m_pachUri = (AxisChar*) malloc(strlen(pachUri)+1);
strcpy(m_pachUri,pachUri);
m_pachQname = "\0";
}
AttributedQName::~AttributedQName()
{
free(m_pachLocalName);
free(m_pachUri);
free(m_pachQname);
}
AxisChar * AttributedQName::getLocalName()
{
return m_pachLocalName;
}
void AttributedQName::setLocalName(AxisChar * pachLocalName)
{
free(m_pachLocalName);
m_pachLocalName = (AxisChar*) malloc(strlen(pachLocalName)+1);
strcpy(m_pachLocalName, pachLocalName);
}
AxisChar * AttributedQName::getUri()
{
return m_pachUri;
}
void AttributedQName::setUri(AxisChar * pachUri)
{
free(m_pachUri);
m_pachUri = (AxisChar*) malloc(strlen(pachUri)+1);
strcpy(m_pachUri,pachUri);
}
AxisChar * AttributedQName::getQname()
{
if(strlen(m_pachQname)!=0)
free(m_pachQname);
m_pachQname = (AxisChar*) malloc(strlen(m_pachLocalName)+strlen(m_pachUri)+5);
if(strlen(m_pachUri)!=0){
strcpy(m_pachQname,m_pachUri);
if(strlen(m_pachLocalName)!=0){
strcat(m_pachQname,":");
strcat(m_pachQname,m_pachLocalName);
}
}
if(strlen(m_pachQname)==0)
return "";
return m_pachQname;
}
IHeaderBlock * AttributedQName::toSoapHeaderBlock(IMessageData *pIMsg)
{
return NULL;
}
1.1 ws-axis/contrib/wsa4c/addressing/Adress.hpp
Index: Adress.hpp
===================================================================
#if !defined(__ADDRESS_OF_AXIS_INCLUDED__)
#define __ADDRESS_OF_AXIS_INCLUDED__
#include "AttributedURI.hpp"
#include <string>
class Address:public AttributedUri {
public:
/***
* Constructor Adress
*
* @param uri
*/
Address(AxisChar * pachUri);
};
#endif
1.1 ws-axis/contrib/wsa4c/addressing/Adress.cpp
Index: Adress.cpp
===================================================================
#include "Adress.hpp"
Address::Address(AxisChar * pachUri)
:AttributedUri(Constants.ADDRESS,pachUri)
{
}
1.1 ws-axis/contrib/wsa4c/addressing/Action.hpp
Index: Action.hpp
===================================================================
#if !defined(__ACTION_OF_AXIS_INCLUDED__)
#define __ACTION_OF_AXIS_INCLUDED__
#include "AttributedURI.hpp"
#include <string>
#include <axis/server/IMessageData.h>
class Action:public AttributedUri {
public:
/*
* Constructor Action
*
* @param uri
*/
Action(AxisChar * pachUri);
};
#endif
1.1 ws-axis/contrib/wsa4c/addressing/Action.cpp
Index: Action.cpp
===================================================================
#include "Action.hpp"
Action::Action(AxisChar * pachUri)
:AttributedUri(Constants.ACTION,pachUri)
{
}