You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by Brady Johnson <bj...@roguewave.com> on 2007/07/03 01:17:19 UTC

TuscanySCA CPP: Enhancements to the WSDLOperation class

Currently there is no way to obtain WSDL Operation Message information
as defined in a WSDL. The WSDLOperation class does have 2 attributes
that seem to help serve this purpose, but they are never populated.
    commonj::sdo::DataObjectPtr inputMessage;
    commonj::sdo::DataObjectPtr outputMessage;
 
I created a JIRA for this:
    https://issues.apache.org/jira/browse/TUSCANY-1402
 
I would like to propose adding several methods related to the
input/output messages as follows:
 
    // Called from WSDLDefinition, populates std::map<std::string,
tuscany::sca::model::WSDLMessagePart> partMap
    // which will map part names to message parts
    void WSDLOperation::setInputMessage( commonj::sdo::DataObjectPtr msg
);
    void WSDLOperation::setOutputMessage( commonj::sdo::DataObjectPtr
msg );
 
    // Allows you to iterate over the input/output message parts
    // Initially for Document wrapped, there will only be one part
    std::list<std::string> WSDLOperation::getInputMessagePartNames();
    std::list<std::string> WSDLOperation::getOutputMessagePartNames();
 
    // Allows you to get the actual input/output message part
    // Initially for Document wrapped, there will only be one part
    tuscany::sca::model::WSDLMessagePart
WSDLOperation::getInputMessagePart( std::string msgPartName );
    tuscany::sca::model::WSDLMessagePart
WSDLOperation::getOutputMessagePart( std::string msgPartName );
 
    // Currently WSDLOperation specfies encoding for the entire
operation, when actually
    // it should be specified seperately for both the input AND the
output message
    void WSDLMessagePart::setInputEncoded( bool ); // replaces
setEncoded
    void WSDLMessagePart::setOutputEncoded( bool ); // replaces
setEncoded
    bool WSDLMessagePart::isInputEncoded(); // replaces isEncoded
    bool WSDLMessagePart::isOutputEncoded(); // replaces isEncoded
 
The WSDLMessagePart class would have the following API:
    WSDLMessagePart::WSDLMessagePart( std::string partName, std::string
partType, std::string partUri );
 
    std::string WSDLMessagePart::getPartName();
    void WSDLMessagePart::setPartName( std::string uri );
 
    std::string WSDLMessagePart::getPartType();
    void WSDLMessagePart::setPartType( std::string name );
 
    std::string WSDLMessagePart::getPartUri();
    void WSDLMessagePart::setPartUri( std::string uri );
 
This would be a good step towards making Tuscany support both Document
AND RPC SOAP message binding styles.
 
If everyone agrees with these changes, I can provide a patch shortly.
 
--------------------
Brady Johnson
Lead Software Developer - HydraSCA
Rogue Wave Software - brady.johnson@roguewave.com
 

RE: TuscanySCA CPP: Enhancements to the WSDLOperation class

Posted by Brady Johnson <bj...@roguewave.com>.
Would there be any objections if I also made the following changes to
the WSDLOperation class: 
	Change setInputType() to setInputMessageType()  // same for
output
	Change getInputURI()  to getInputMessageURI()   // same for
output
	Change getInputName() to getInputMessageName()  // same for
output

Previously these methods set/get the document wrapped message part
details. With the addition of the WSDLMessagePart class that doesn't
make sense anymore. What would be useful is to have access to the actual
input/output message name and URI. This would also be useful in
supporting more than just SOAP document wrapped.

I would also have to change where its used:
	runtime/core/src/tuscany/sca/model/WSDLDefinition.cpp
	
runtime/extensions/rest/service/httpd/src/tuscany/sca/rest/ModREST.cpp
	
runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/Axis2Client.cp
p

Also, how do I make a patch for the entire source tree, as opposed to
having to attach each individual changed file?

Brady


-----Original Message-----
From: Pete Robbins [mailto:robbinspg@googlemail.com] 
Sent: Monday, July 02, 2007 11:42 PM
To: tuscany-dev@ws.apache.org
Subject: Re: TuscanySCA CPP: Enhancements to the WSDLOperation class

Brady,

These changes look fine to me.

Cheers,

On 03/07/07, Brady Johnson <bj...@roguewave.com> wrote:
> Currently there is no way to obtain WSDL Operation Message information

> as defined in a WSDL. The WSDLOperation class does have 2 attributes 
> that seem to help serve this purpose, but they are never populated.
>    commonj::sdo::DataObjectPtr inputMessage;
>    commonj::sdo::DataObjectPtr outputMessage;
>
> I created a JIRA for this:
>    https://issues.apache.org/jira/browse/TUSCANY-1402
>
> I would like to propose adding several methods related to the 
> input/output messages as follows:
>
>    // Called from WSDLDefinition, populates std::map<std::string, 
> tuscany::sca::model::WSDLMessagePart> partMap
>    // which will map part names to message parts
>    void WSDLOperation::setInputMessage( commonj::sdo::DataObjectPtr 
> msg );
>    void WSDLOperation::setOutputMessage( commonj::sdo::DataObjectPtr 
> msg );
>
>    // Allows you to iterate over the input/output message parts
>    // Initially for Document wrapped, there will only be one part
>    std::list<std::string> WSDLOperation::getInputMessagePartNames();
>    std::list<std::string> WSDLOperation::getOutputMessagePartNames();
>
>    // Allows you to get the actual input/output message part
>    // Initially for Document wrapped, there will only be one part
>    tuscany::sca::model::WSDLMessagePart
> WSDLOperation::getInputMessagePart( std::string msgPartName );
>    tuscany::sca::model::WSDLMessagePart
> WSDLOperation::getOutputMessagePart( std::string msgPartName );
>
>    // Currently WSDLOperation specfies encoding for the entire 
> operation, when actually
>    // it should be specified seperately for both the input AND the 
> output message
>    void WSDLMessagePart::setInputEncoded( bool ); // replaces 
> setEncoded
>    void WSDLMessagePart::setOutputEncoded( bool ); // replaces 
> setEncoded
>    bool WSDLMessagePart::isInputEncoded(); // replaces isEncoded
>    bool WSDLMessagePart::isOutputEncoded(); // replaces isEncoded
>
> The WSDLMessagePart class would have the following API:
>    WSDLMessagePart::WSDLMessagePart( std::string partName, std::string

> partType, std::string partUri );
>
>    std::string WSDLMessagePart::getPartName();
>    void WSDLMessagePart::setPartName( std::string uri );
>
>    std::string WSDLMessagePart::getPartType();
>    void WSDLMessagePart::setPartType( std::string name );
>
>    std::string WSDLMessagePart::getPartUri();
>    void WSDLMessagePart::setPartUri( std::string uri );
>
> This would be a good step towards making Tuscany support both Document

> AND RPC SOAP message binding styles.
>
> If everyone agrees with these changes, I can provide a patch shortly.
>
> --------------------
> Brady Johnson
> Lead Software Developer - HydraSCA
> Rogue Wave Software - brady.johnson@roguewave.com
>
>


--
Pete

---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org


Re: TuscanySCA CPP: Enhancements to the WSDLOperation class

Posted by Pete Robbins <ro...@googlemail.com>.
Brady,

These changes look fine to me.

Cheers,

On 03/07/07, Brady Johnson <bj...@roguewave.com> wrote:
> Currently there is no way to obtain WSDL Operation Message information
> as defined in a WSDL. The WSDLOperation class does have 2 attributes
> that seem to help serve this purpose, but they are never populated.
>    commonj::sdo::DataObjectPtr inputMessage;
>    commonj::sdo::DataObjectPtr outputMessage;
>
> I created a JIRA for this:
>    https://issues.apache.org/jira/browse/TUSCANY-1402
>
> I would like to propose adding several methods related to the
> input/output messages as follows:
>
>    // Called from WSDLDefinition, populates std::map<std::string,
> tuscany::sca::model::WSDLMessagePart> partMap
>    // which will map part names to message parts
>    void WSDLOperation::setInputMessage( commonj::sdo::DataObjectPtr msg
> );
>    void WSDLOperation::setOutputMessage( commonj::sdo::DataObjectPtr
> msg );
>
>    // Allows you to iterate over the input/output message parts
>    // Initially for Document wrapped, there will only be one part
>    std::list<std::string> WSDLOperation::getInputMessagePartNames();
>    std::list<std::string> WSDLOperation::getOutputMessagePartNames();
>
>    // Allows you to get the actual input/output message part
>    // Initially for Document wrapped, there will only be one part
>    tuscany::sca::model::WSDLMessagePart
> WSDLOperation::getInputMessagePart( std::string msgPartName );
>    tuscany::sca::model::WSDLMessagePart
> WSDLOperation::getOutputMessagePart( std::string msgPartName );
>
>    // Currently WSDLOperation specfies encoding for the entire
> operation, when actually
>    // it should be specified seperately for both the input AND the
> output message
>    void WSDLMessagePart::setInputEncoded( bool ); // replaces
> setEncoded
>    void WSDLMessagePart::setOutputEncoded( bool ); // replaces
> setEncoded
>    bool WSDLMessagePart::isInputEncoded(); // replaces isEncoded
>    bool WSDLMessagePart::isOutputEncoded(); // replaces isEncoded
>
> The WSDLMessagePart class would have the following API:
>    WSDLMessagePart::WSDLMessagePart( std::string partName, std::string
> partType, std::string partUri );
>
>    std::string WSDLMessagePart::getPartName();
>    void WSDLMessagePart::setPartName( std::string uri );
>
>    std::string WSDLMessagePart::getPartType();
>    void WSDLMessagePart::setPartType( std::string name );
>
>    std::string WSDLMessagePart::getPartUri();
>    void WSDLMessagePart::setPartUri( std::string uri );
>
> This would be a good step towards making Tuscany support both Document
> AND RPC SOAP message binding styles.
>
> If everyone agrees with these changes, I can provide a patch shortly.
>
> --------------------
> Brady Johnson
> Lead Software Developer - HydraSCA
> Rogue Wave Software - brady.johnson@roguewave.com
>
>


-- 
Pete

---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org