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>
    * &lt;complexType name="ServiceNameType">
    *   &lt;simpleContent>
    *     &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>QName">
    *       &lt;attribute name="PortName" type="{http://www.w3.org/2001/XMLSchema}NCName" />
    *     &lt;/extension>
    *   &lt;/simpleContent>
    * &lt;/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>
    * &lt;complexType name="PortType">
    *   &lt;simpleContent>
    *     &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>QName">
    *       &lt;attribute name="PortName" type="{http://www.w3.org/2001/XMLSchema}NCName" />
    *     &lt;/extension>
    *   &lt;/simpleContent>
    * &lt;/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>
     * &lt;complexType name="EndpointReferenceType">
     *   &lt;complexContent>
     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
     *       &lt;sequence>
     *         &lt;element name="Address" type="{http://schemas.xmlsoap.org/ws/2003/03/addressing}AttributedURI"/>
     *         &lt;element name="ReferenceProperties" type="{http://schemas.xmlsoap.org/ws/2003/03/addressing}ReferencePropertiesType" minOccurs="0"/>
     *         &lt;element name="PortType" type="{http://schemas.xmlsoap.org/ws/2003/03/addressing}AttributedQName" minOccurs="0"/>
     *         &lt;element name="ServiceName" type="{http://schemas.xmlsoap.org/ws/2003/03/addressing}ServiceNameType" minOccurs="0"/>
     *         &lt;any/>
     *       &lt;/sequence>
     *     &lt;/restriction>
     *   &lt;/complexContent>
     * &lt;/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)
  {
  }