RE: Axis2C support for dynamic operations

2008-01-30 Thread Dave Meier
Hi Senaka,

This is great news, thank you.  I have two questions:

1.  How do I specify the alias in services.xml?
2.  How do I get the original alias that was used?  For example, if I
map "Update*Item" to the "UpdateItem" operation, and the actual
operation that comes in is "UpdateFooItem", can I get the
"UpdateFooItem" or the "Foo" string from inside my server code?

-Dave. 

-Original Message-
From: Senaka Fernando [mailto:[EMAIL PROTECTED] 
Sent: Friday, January 25, 2008 11:17 PM
To: Apache AXIS C Developers List
Subject: RE: Axis2C support for dynamic operations

Hi Dave,

I did some modifications to the action-mapping and operation name
resolution in the soap_action_based_dispatcher on Axis2/C. The patch is
currently being moderated by the developers. Once it has been done, you
may go ahead with providing any alias you desire for your operation. I
will add onto this the ability to accept the '*' character, for alias
mapping scenarios. You may refer issue, AXIS2C-854, at [1] for more
information.

This will be made available during the next week.

[1] https://issues.apache.org/jira/browse/AXIS2C-854

Regards,
Senaka

> Hi Samisa,
>
> Is there any way to do the equivalent of "any" for a service?  Kind of

> like an "any" element in a schema, except for an operation.  All I 
> need is to have the engine call my invoke method and at that point I 
> can write all the code that knows how to handle the operation.
>
> If this is not possible, maybe I could alter the axis2 code where it 
> looks up the operation and map it to an existing operation, but store 
> the original operation name in the context.  So for example, if I have

> a known operation called "Update" and a request comes in called 
> "UpdateFoo" I would map this operation to "Update" and store
"UpdateFoo"
> somewhere in the context.  So I would have something like the 
> following in my services.xml:
>
>   name="wsamapping">\"\"
> 
>
> Then on the response, I would need to make sure it used the original 
> "UpdateFoo" name.
>
> I don't mind going off and modifying the axis2 code for my purposes to

> make this work.  Can you point me to where this would be done?
>
> Thanks,
>
> -Dave.
>
> -Original Message-
> From: Samisa Abeysinghe [mailto:[EMAIL PROTECTED]
> Sent: Thursday, January 24, 2008 6:06 PM
> To: Apache AXIS C Developers List
> Subject: Re: Axis2C support for dynamic operations
>
> This cannot be done with WSDLs because we do not have a WSDL model 
> associated with the description hierarchy.
>
> However, you can add support for new operations, dynamically to the 
> description hierarchy, in runtime, by accessing configuration. 
> However, this may have threading issues. Other problem with dynamic 
> operations, is how to map the operation to a function. For current 
> operations this happens at the server startup time. We can achieve 
> dynamic operation to function mapping using a custom message receiver,

> which will load the functions mapped to the operation on the run.
>
> In short, this can be done. However, that needs lots of engineering.
>
> Thanks,
> Samisa...
>
> Dave Meier wrote:
>> Hi All,
>>
>> I have a requirement to support dynamically generated wsdls.  Each 
>> wsdl will contain a core set of operations, but will then have 
>> additional operations defined.  I want to use the wsdl with the core 
>> set of operations as my service in Axis2C, but then write code in my 
>> invoke method that will know about the additional new operations as 
>> they will follow a standard pattern.
>>
>> My question is, how can I get Axis2C to forward the request to my 
>> invoke method, for operations that are not in the services.xml file?
>>
>> In services.xml could I somehow use wildcards?  Like this:
>>
>> 
>> \"\"
>> 
>>
>> So then a custom wsdl file would be given to a client and it could 
>> have operations like "UpdateFoo" and "UpdateBar", which are not in 
>> the
>
>> services.xml, but the "Update*" could match them.  Then in my invoke 
>> method I could analyze the operation name and know what to do with it

>> (e.g. "UpdateFoo" would tell me to use "Foo" logic and I would know 
>> how to handle that).
>>
>> The purpose for this is ease of use to the client.  We have many 
>> operations that are generalized, but if I can generate new wsdl to do

>> specifically what the user is trying to do, they can use these custom

>> operation names directly.  This will result in

Re: Axis2C support for dynamic operations

2008-01-27 Thread Samisa Abeysinghe

Dave Meier wrote:

Hi Samisa,

Is there any way to do the equivalent of "any" for a service?  Kind of
like an "any" element in a schema, except for an operation.  All I need
is to have the engine call my invoke method and at that point I can
write all the code that knows how to handle the operation.
  


You should be able to do that. It is an OM node that is passed to the 
function being invoked. So it is equivalent to an "any" element. You can 
decide to process it whichever way you want.


Thanks,
Samisa...

If this is not possible, maybe I could alter the axis2 code where it
looks up the operation and map it to an existing operation, but store
the original operation name in the context.  So for example, if I have a
known operation called "Update" and a request comes in called
"UpdateFoo" I would map this operation to "Update" and store "UpdateFoo"
somewhere in the context.  So I would have something like the following
in my services.xml:


\"\"


Then on the response, I would need to make sure it used the original
"UpdateFoo" name.

I don't mind going off and modifying the axis2 code for my purposes to
make this work.  Can you point me to where this would be done?

Thanks,

-Dave.

-Original Message-
From: Samisa Abeysinghe [mailto:[EMAIL PROTECTED] 
Sent: Thursday, January 24, 2008 6:06 PM

To: Apache AXIS C Developers List
Subject: Re: Axis2C support for dynamic operations

This cannot be done with WSDLs because we do not have a WSDL model
associated with the description hierarchy.

However, you can add support for new operations, dynamically to the
description hierarchy, in runtime, by accessing configuration. However,
this may have threading issues. Other problem with dynamic operations,
is how to map the operation to a function. For current operations this
happens at the server startup time. We can achieve dynamic operation to
function mapping using a custom message receiver, which will load the
functions mapped to the operation on the run.

In short, this can be done. However, that needs lots of engineering.

Thanks,
Samisa...

Dave Meier wrote:
  

Hi All,
 
I have a requirement to support dynamically generated wsdls.  Each 
wsdl will contain a core set of operations, but will then have 
additional operations defined.  I want to use the wsdl with the core 
set of operations as my service in Axis2C, but then write code in my 
invoke method that will know about the additional new operations as 
they will follow a standard pattern.
 
My question is, how can I get Axis2C to forward the request to my 
invoke method, for operations that are not in the services.xml file?
 
In services.xml could I somehow use wildcards?  Like this:
 


\"\"

 
So then a custom wsdl file would be given to a client and it could 
have operations like "UpdateFoo" and "UpdateBar", which are not in the



  
services.xml, but the "Update*" could match them.  Then in my invoke 
method I could analyze the operation name and know what to do with it 
(e.g. "UpdateFoo" would tell me to use "Foo" logic and I would know 
how to handle that).
 
The purpose for this is ease of use to the client.  We have many 
operations that are generalized, but if I can generate new wsdl to do 
specifically what the user is trying to do, they can use these custom 
operation names directly.  This will result in greatly increased 
usability.
 
I think most of the work is on the service in my code, but I need a 
way to tell Axis2C to forward along the request even if it is not in 
the known set.  Is there a way to do this, or is there a way to modify



  

the code to support this?
 
Thank you much,
 
-Dave.
 


**

This email and any files transmitted with it are confidential and 
intended solely for the use of the individual or entity to whom they 
are addressed. Any unauthorized review, use, disclosure or 
distribution is prohibited. If you are not the intended recipient, 
please contact the sender by reply e-mail and destroy all copies of 
the original message.


**

 


--
--

No virus found in this incoming message.
Checked by AVG Free Edition. 
Version: 7.5.516 / Virus Database: 269.19.10/1240 - Release Date: 
1/23/2008 5:47 PM
  




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



  



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Axis2C support for dynamic operations

2008-01-25 Thread Senaka Fernando
Hi Dave,

I did some modifications to the action-mapping and operation name
resolution in the soap_action_based_dispatcher on Axis2/C. The patch is
currently being moderated by the developers. Once it has been done, you
may go ahead with providing any alias you desire for your operation. I
will add onto this the ability to accept the '*' character, for alias
mapping scenarios. You may refer issue, AXIS2C-854, at [1] for more
information.

This will be made available during the next week.

[1] https://issues.apache.org/jira/browse/AXIS2C-854

Regards,
Senaka

> Hi Samisa,
>
> Is there any way to do the equivalent of "any" for a service?  Kind of
> like an "any" element in a schema, except for an operation.  All I need
> is to have the engine call my invoke method and at that point I can
> write all the code that knows how to handle the operation.
>
> If this is not possible, maybe I could alter the axis2 code where it
> looks up the operation and map it to an existing operation, but store
> the original operation name in the context.  So for example, if I have a
> known operation called "Update" and a request comes in called
> "UpdateFoo" I would map this operation to "Update" and store "UpdateFoo"
> somewhere in the context.  So I would have something like the following
> in my services.xml:
>
> 
> \"\"
> 
>
> Then on the response, I would need to make sure it used the original
> "UpdateFoo" name.
>
> I don't mind going off and modifying the axis2 code for my purposes to
> make this work.  Can you point me to where this would be done?
>
> Thanks,
>
> -Dave.
>
> -----Original Message-
> From: Samisa Abeysinghe [mailto:[EMAIL PROTECTED]
> Sent: Thursday, January 24, 2008 6:06 PM
> To: Apache AXIS C Developers List
> Subject: Re: Axis2C support for dynamic operations
>
> This cannot be done with WSDLs because we do not have a WSDL model
> associated with the description hierarchy.
>
> However, you can add support for new operations, dynamically to the
> description hierarchy, in runtime, by accessing configuration. However,
> this may have threading issues. Other problem with dynamic operations,
> is how to map the operation to a function. For current operations this
> happens at the server startup time. We can achieve dynamic operation to
> function mapping using a custom message receiver, which will load the
> functions mapped to the operation on the run.
>
> In short, this can be done. However, that needs lots of engineering.
>
> Thanks,
> Samisa...
>
> Dave Meier wrote:
>> Hi All,
>>
>> I have a requirement to support dynamically generated wsdls.  Each
>> wsdl will contain a core set of operations, but will then have
>> additional operations defined.  I want to use the wsdl with the core
>> set of operations as my service in Axis2C, but then write code in my
>> invoke method that will know about the additional new operations as
>> they will follow a standard pattern.
>>
>> My question is, how can I get Axis2C to forward the request to my
>> invoke method, for operations that are not in the services.xml file?
>>
>> In services.xml could I somehow use wildcards?  Like this:
>>
>> 
>> \"\"
>> 
>>
>> So then a custom wsdl file would be given to a client and it could
>> have operations like "UpdateFoo" and "UpdateBar", which are not in the
>
>> services.xml, but the "Update*" could match them.  Then in my invoke
>> method I could analyze the operation name and know what to do with it
>> (e.g. "UpdateFoo" would tell me to use "Foo" logic and I would know
>> how to handle that).
>>
>> The purpose for this is ease of use to the client.  We have many
>> operations that are generalized, but if I can generate new wsdl to do
>> specifically what the user is trying to do, they can use these custom
>> operation names directly.  This will result in greatly increased
>> usability.
>>
>> I think most of the work is on the service in my code, but I need a
>> way to tell Axis2C to forward along the request even if it is not in
>> the known set.  Is there a way to do this, or is there a way to modify
>
>> the code to support this?
>>
>> Thank you much,
>>
>> -Dave.
>>
>>
>> **
>>
>> This email and any files transmitted with it are confidential and
>> intended solely for the use of the individual or entity to whom they
>> are addressed. Any unauthorized review, use, discl

RE: Axis2C support for dynamic operations

2008-01-25 Thread Dave Meier
Hi Samisa,

Is there any way to do the equivalent of "any" for a service?  Kind of
like an "any" element in a schema, except for an operation.  All I need
is to have the engine call my invoke method and at that point I can
write all the code that knows how to handle the operation.

If this is not possible, maybe I could alter the axis2 code where it
looks up the operation and map it to an existing operation, but store
the original operation name in the context.  So for example, if I have a
known operation called "Update" and a request comes in called
"UpdateFoo" I would map this operation to "Update" and store "UpdateFoo"
somewhere in the context.  So I would have something like the following
in my services.xml:


\"\"


Then on the response, I would need to make sure it used the original
"UpdateFoo" name.

I don't mind going off and modifying the axis2 code for my purposes to
make this work.  Can you point me to where this would be done?

Thanks,

-Dave.

-Original Message-
From: Samisa Abeysinghe [mailto:[EMAIL PROTECTED] 
Sent: Thursday, January 24, 2008 6:06 PM
To: Apache AXIS C Developers List
Subject: Re: Axis2C support for dynamic operations

This cannot be done with WSDLs because we do not have a WSDL model
associated with the description hierarchy.

However, you can add support for new operations, dynamically to the
description hierarchy, in runtime, by accessing configuration. However,
this may have threading issues. Other problem with dynamic operations,
is how to map the operation to a function. For current operations this
happens at the server startup time. We can achieve dynamic operation to
function mapping using a custom message receiver, which will load the
functions mapped to the operation on the run.

In short, this can be done. However, that needs lots of engineering.

Thanks,
Samisa...

Dave Meier wrote:
> Hi All,
>  
> I have a requirement to support dynamically generated wsdls.  Each 
> wsdl will contain a core set of operations, but will then have 
> additional operations defined.  I want to use the wsdl with the core 
> set of operations as my service in Axis2C, but then write code in my 
> invoke method that will know about the additional new operations as 
> they will follow a standard pattern.
>  
> My question is, how can I get Axis2C to forward the request to my 
> invoke method, for operations that are not in the services.xml file?
>  
> In services.xml could I somehow use wildcards?  Like this:
>  
> 
> \"\"
> 
>  
> So then a custom wsdl file would be given to a client and it could 
> have operations like "UpdateFoo" and "UpdateBar", which are not in the

> services.xml, but the "Update*" could match them.  Then in my invoke 
> method I could analyze the operation name and know what to do with it 
> (e.g. "UpdateFoo" would tell me to use "Foo" logic and I would know 
> how to handle that).
>  
> The purpose for this is ease of use to the client.  We have many 
> operations that are generalized, but if I can generate new wsdl to do 
> specifically what the user is trying to do, they can use these custom 
> operation names directly.  This will result in greatly increased 
> usability.
>  
> I think most of the work is on the service in my code, but I need a 
> way to tell Axis2C to forward along the request even if it is not in 
> the known set.  Is there a way to do this, or is there a way to modify

> the code to support this?
>  
> Thank you much,
>  
> -Dave.
>  
>
> **
>
> This email and any files transmitted with it are confidential and 
> intended solely for the use of the individual or entity to whom they 
> are addressed. Any unauthorized review, use, disclosure or 
> distribution is prohibited. If you are not the intended recipient, 
> please contact the sender by reply e-mail and destroy all copies of 
> the original message.
>
> **
>
>  
>
> --
> --
>
> No virus found in this incoming message.
> Checked by AVG Free Edition. 
> Version: 7.5.516 / Virus Database: 269.19.10/1240 - Release Date: 
> 1/23/2008 5:47 PM
>   


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Axis2C support for dynamic operations

2008-01-25 Thread Samisa Abeysinghe
BTW, I just realized that a similar thing has been done in the WSF/PHP 
project. In there, new operations are added on the fly with a custom 
message receiver. So if you want to have a look on how that can be done 
you can have a look into the source here: http://wso2.org/downloads/wsf/php


Thanks,
Samisa...

Samisa Abeysinghe wrote:
This cannot be done with WSDLs because we do not have a WSDL model 
associated with the description hierarchy.


However, you can add support for new operations, dynamically to the 
description hierarchy, in runtime, by accessing configuration. 
However, this may have threading issues. Other problem with dynamic 
operations, is how to map the operation to a function. For current 
operations this happens at the server startup time. We can achieve 
dynamic operation to function mapping using a custom message receiver, 
which will load the functions mapped to the operation on the run.


In short, this can be done. However, that needs lots of engineering.

Thanks,
Samisa...

Dave Meier wrote:

Hi All,
 
I have a requirement to support dynamically generated wsdls.  Each 
wsdl will contain a core set of operations, but will then have 
additional operations defined.  I want to use the wsdl with the core 
set of operations as my service in Axis2C, but then write code in my 
invoke method that will know about the additional new operations as 
they will follow a standard pattern.
 
My question is, how can I get Axis2C to forward the request to my 
invoke method, for operations that are not in the services.xml file?
 
In services.xml could I somehow use wildcards?  Like this:
 


\"\"

 
So then a custom wsdl file would be given to a client and it could 
have operations like "UpdateFoo" and "UpdateBar", which are not in 
the services.xml, but the "Update*" could match them.  Then in my 
invoke method I could analyze the operation name and know what to do 
with it (e.g. "UpdateFoo" would tell me to use "Foo" logic and I 
would know how to handle that).
 
The purpose for this is ease of use to the client.  We have many 
operations that are generalized, but if I can generate new wsdl to do 
specifically what the user is trying to do, they can use these custom 
operation names directly.  This will result in greatly increased 
usability.
 
I think most of the work is on the service in my code, but I need a 
way to tell Axis2C to forward along the request even if it is not in 
the known set.  Is there a way to do this, or is there a way to 
modify the code to support this?
 
Thank you much,
 
-Dave.
 


**

This email and any files transmitted with it are confidential and 
intended solely for the use of the individual or entity to whom they 
are addressed. Any unauthorized review, use, disclosure or 
distribution is prohibited. If you are not the intended recipient, 
please contact the sender by reply e-mail and destroy all copies of 
the original message.


**

 




No virus found in this incoming message.
Checked by AVG Free Edition. Version: 7.5.516 / Virus Database: 
269.19.10/1240 - Release Date: 1/23/2008 5:47 PM
  



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]






-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Axis2C support for dynamic operations

2008-01-24 Thread Samisa Abeysinghe
This cannot be done with WSDLs because we do not have a WSDL model 
associated with the description hierarchy.


However, you can add support for new operations, dynamically to the 
description hierarchy, in runtime, by accessing configuration. However, 
this may have threading issues. Other problem with dynamic operations, 
is how to map the operation to a function. For current operations this 
happens at the server startup time. We can achieve dynamic operation to 
function mapping using a custom message receiver, which will load the 
functions mapped to the operation on the run.


In short, this can be done. However, that needs lots of engineering.

Thanks,
Samisa...

Dave Meier wrote:

Hi All,
 
I have a requirement to support dynamically generated wsdls.  Each 
wsdl will contain a core set of operations, but will then have 
additional operations defined.  I want to use the wsdl with the core 
set of operations as my service in Axis2C, but then write code in my 
invoke method that will know about the additional new operations as 
they will follow a standard pattern.
 
My question is, how can I get Axis2C to forward the request to my 
invoke method, for operations that are not in the services.xml file?
 
In services.xml could I somehow use wildcards?  Like this:
 


\"\"

 
So then a custom wsdl file would be given to a client and it could 
have operations like "UpdateFoo" and "UpdateBar", which are not in the 
services.xml, but the "Update*" could match them.  Then in my invoke 
method I could analyze the operation name and know what to do with it 
(e.g. "UpdateFoo" would tell me to use "Foo" logic and I would know 
how to handle that).
 
The purpose for this is ease of use to the client.  We have many 
operations that are generalized, but if I can generate new wsdl to do 
specifically what the user is trying to do, they can use these custom 
operation names directly.  This will result in greatly increased 
usability.
 
I think most of the work is on the service in my code, but I need a 
way to tell Axis2C to forward along the request even if it is not in 
the known set.  Is there a way to do this, or is there a way to modify 
the code to support this?
 
Thank you much,
 
-Dave.
 


**

This email and any files transmitted with it are confidential and 
intended solely for the use of the individual or entity to whom they 
are addressed. Any unauthorized review, use, disclosure or 
distribution is prohibited. If you are not the intended recipient, 
please contact the sender by reply e-mail and destroy all copies of 
the original message.


**

 




No virus found in this incoming message.
Checked by AVG Free Edition. 
Version: 7.5.516 / Virus Database: 269.19.10/1240 - Release Date: 1/23/2008 5:47 PM
  



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Axis2C support for dynamic operations

2008-01-24 Thread Senaka Fernando
Hi Devs,

I believe we are still working on WSDL support. But, even if we do, is
this possible without hot-deployment?

Thanks,
Senaka

> Hi All,
>
> I have a requirement to support dynamically generated wsdls.  Each wsdl
> will contain a core set of operations, but will then have additional
> operations defined.  I want to use the wsdl with the core set of
> operations as my service in Axis2C, but then write code in my invoke
> method that will know about the additional new operations as they will
> follow a standard pattern.
>
> My question is, how can I get Axis2C to forward the request to my invoke
> method, for operations that are not in the services.xml file?
>
> In services.xml could I somehow use wildcards?  Like this:
>
> 
> \"\"
> 
>
> So then a custom wsdl file would be given to a client and it could have
> operations like "UpdateFoo" and "UpdateBar", which are not in the
> services.xml, but the "Update*" could match them.  Then in my invoke
> method I could analyze the operation name and know what to do with it
> (e.g. "UpdateFoo" would tell me to use "Foo" logic and I would know how
> to handle that).
>
> The purpose for this is ease of use to the client.  We have many
> operations that are generalized, but if I can generate new wsdl to do
> specifically what the user is trying to do, they can use these custom
> operation names directly.  This will result in greatly increased
> usability.
>
> I think most of the work is on the service in my code, but I need a way
> to tell Axis2C to forward along the request even if it is not in the
> known set.  Is there a way to do this, or is there a way to modify the
> code to support this?
>
> Thank you much,
>
> -Dave.
>
>
> **
> This email and any files transmitted with it are confidential and intended
> solely for the use of the individual or entity to whom they are addressed.
> Any unauthorized review, use, disclosure or distribution is prohibited. If
> you are not the intended recipient, please contact the sender by reply
> e-mail and destroy all copies of the original message.
> **
>
>


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Axis2C support for dynamic operations

2008-01-24 Thread Dave Meier
Hi All,
 
I have a requirement to support dynamically generated wsdls.  Each wsdl
will contain a core set of operations, but will then have additional
operations defined.  I want to use the wsdl with the core set of
operations as my service in Axis2C, but then write code in my invoke
method that will know about the additional new operations as they will
follow a standard pattern.
 
My question is, how can I get Axis2C to forward the request to my invoke
method, for operations that are not in the services.xml file?
 
In services.xml could I somehow use wildcards?  Like this:
 

\"\"

 
So then a custom wsdl file would be given to a client and it could have
operations like "UpdateFoo" and "UpdateBar", which are not in the
services.xml, but the "Update*" could match them.  Then in my invoke
method I could analyze the operation name and know what to do with it
(e.g. "UpdateFoo" would tell me to use "Foo" logic and I would know how
to handle that).
 
The purpose for this is ease of use to the client.  We have many
operations that are generalized, but if I can generate new wsdl to do
specifically what the user is trying to do, they can use these custom
operation names directly.  This will result in greatly increased
usability.
 
I think most of the work is on the service in my code, but I need a way
to tell Axis2C to forward along the request even if it is not in the
known set.  Is there a way to do this, or is there a way to modify the
code to support this?
 
Thank you much,
 
-Dave.
 

**
This email and any files transmitted with it are confidential and intended 
solely for the use of the individual or entity to whom they are addressed. Any 
unauthorized review, use, disclosure or distribution is prohibited. If you are 
not the intended recipient, please contact the sender by reply e-mail and 
destroy all copies of the original message. 
**