[jira] Created: (AXIS2-1118) Off by one error in SOAP 1.2 action processing

2006-09-07 Thread Matt Lovett (JIRA)
Off by one error in SOAP 1.2 action processing
--

 Key: AXIS2-1118
 URL: http://issues.apache.org/jira/browse/AXIS2-1118
 Project: Apache Axis 2.0 (Axis2)
  Issue Type: Bug
  Components: transports
Reporter: Matt Lovett
Priority: Minor


While debugging a failing Sandesha unit test (the SOAPVersionTest), I was 
getting failures to do with soap action mismatches. I've tracked the defect to 
the following code in HTTPTransportUtils, around line 216:

String transientString = 
contentType.substring(index, contentType.length());
int equal = transientString.indexOf("=");
int firstSemiColon = transientString.indexOf(";");
String soapAction; // This will contain "" in the 
string
if (firstSemiColon > -1) {
soapAction = transientString.substring(equal + 
1, firstSemiColon - 1);

In my case with the string like: action="";

The substring cuts one too far, setting soapAction to: "
Note there is no trailing " any more, which then messes up the code that 
attempts to trim quotes off
each end of the string.

The fix is trivial:
-soapAction = transientString.substring(equal + 
1, firstSemiColon - 1);
+soapAction = transientString.substring(equal + 
1, firstSemiColon);

Thanks

Matt

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira



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



[jira] Created: (AXIS2-1457) RequestURIBasedDispatcher incorrectly resolves the WS-RM operations

2006-10-19 Thread Matt Lovett (JIRA)
RequestURIBasedDispatcher incorrectly resolves the WS-RM operations
---

 Key: AXIS2-1457
 URL: http://issues.apache.org/jira/browse/AXIS2-1457
 Project: Apache Axis 2.0 (Axis2)
  Issue Type: Bug
  Components: core
Reporter: Matt Lovett


I have a testcase that is an async 2-way scenario, with Sandesha enabled. 
Sending the request causes Sandesha to set up a CreateSequence message targeted 
at the "To" address of the service, the RM handshake completes, and the 
application request message goes out. When the other end generates the response 
message Sandesha again creates a sequence, this time inbound to the requester, 
using the "To" address of the reply message. As you would expect, the "To" 
address is generated from the "ReplyTo" EPR in the request.

In my case the 2 addresses look like this:

Request To: "aixs2/services/RMSampleService"
Reply To: "axis2/services/anonService/anonOutInOp"

As the CreateSequence message comes into the latter of these, the 
RequestURIBasedDispatcher (wrongly) decides that we are targeting the 
anonOutInOp, when the SOAPAction and Addressing dispatchers would have 
identified the CreateSequence operation properly. With the current Sandesha 
code this is not an issue, as the inbound Sandesha handlers intercept and 
process the CreateSequence, ignoring the operation set in the message context. 
I am trying to restructure Sandesha so that the message is automatically routed 
to the Sandesha message receiver. Doing so will clean up the flow through 
Sandesha, but does rely on accurate operation resolution.

I can see 2 ways to fix the issue:
- Stop attempting to identify the operation in the RequestURIBasedDispatcher
or
- Generate "ReplyTo" addresses that do not include the operation name

Patches for either of these are trivial, I'm happy to contribute them if people 
can tell me their preferred option.


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira



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



[jira] Commented: (AXIS2-1457) RequestURIBasedDispatcher incorrectly resolves the WS-RM operations

2006-10-19 Thread Matt Lovett (JIRA)
[ 
http://issues.apache.org/jira/browse/AXIS2-1457?page=comments#action_12443551 ] 

Matt Lovett commented on AXIS2-1457:


Hi Chamikara,

That sounds like a good solution, but will take a bit of pain, as I think that 
means editing the axis2.xml files... and there are quite a few of them in the 
axis2 build tree! However, if people like that approach I'm happy to write a 
script...

Here's a concrete proposal:

- Change the RequestURIBasedDispacther::findOperation() into a no-op
- Create a new RequestURIOerationDispatcher with a no-op findService(), and a 
real findOperation()
- Update the axis2.xml files to put the new dispactcher in after Addressing, in 
the Dispatch phase

Sound ok?

Matt


> RequestURIBasedDispatcher incorrectly resolves the WS-RM operations
> ---
>
> Key: AXIS2-1457
> URL: http://issues.apache.org/jira/browse/AXIS2-1457
> Project: Apache Axis 2.0 (Axis2)
>  Issue Type: Bug
>  Components: core
>Reporter: Matt Lovett
>
> I have a testcase that is an async 2-way scenario, with Sandesha enabled. 
> Sending the request causes Sandesha to set up a CreateSequence message 
> targeted at the "To" address of the service, the RM handshake completes, and 
> the application request message goes out. When the other end generates the 
> response message Sandesha again creates a sequence, this time inbound to the 
> requester, using the "To" address of the reply message. As you would expect, 
> the "To" address is generated from the "ReplyTo" EPR in the request.
> In my case the 2 addresses look like this:
> Request To: "aixs2/services/RMSampleService"
> Reply To: "axis2/services/anonService/anonOutInOp"
> As the CreateSequence message comes into the latter of these, the 
> RequestURIBasedDispatcher (wrongly) decides that we are targeting the 
> anonOutInOp, when the SOAPAction and Addressing dispatchers would have 
> identified the CreateSequence operation properly. With the current Sandesha 
> code this is not an issue, as the inbound Sandesha handlers intercept and 
> process the CreateSequence, ignoring the operation set in the message 
> context. I am trying to restructure Sandesha so that the message is 
> automatically routed to the Sandesha message receiver. Doing so will clean up 
> the flow through Sandesha, but does rely on accurate operation resolution.
> I can see 2 ways to fix the issue:
> - Stop attempting to identify the operation in the RequestURIBasedDispatcher
> or
> - Generate "ReplyTo" addresses that do not include the operation name
> Patches for either of these are trivial, I'm happy to contribute them if 
> people can tell me their preferred option.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira



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



[jira] Updated: (AXIS2-1457) RequestURIBasedDispatcher incorrectly resolves the WS-RM operations

2006-10-20 Thread Matt Lovett (JIRA)
 [ http://issues.apache.org/jira/browse/AXIS2-1457?page=all ]

Matt Lovett updated AXIS2-1457:
---

Attachment: dispatch.patch

Here is a patch that moves the operation resolution out of 
RequestURIBasedDispatcher and into a new one. I'll follow up with another patch 
that modifies the axis2.xml files to include the new dispatcher.

> RequestURIBasedDispatcher incorrectly resolves the WS-RM operations
> ---
>
> Key: AXIS2-1457
> URL: http://issues.apache.org/jira/browse/AXIS2-1457
> Project: Apache Axis 2.0 (Axis2)
>  Issue Type: Bug
>  Components: core
>Reporter: Matt Lovett
> Attachments: axisxml.patch, dispatch.patch
>
>
> I have a testcase that is an async 2-way scenario, with Sandesha enabled. 
> Sending the request causes Sandesha to set up a CreateSequence message 
> targeted at the "To" address of the service, the RM handshake completes, and 
> the application request message goes out. When the other end generates the 
> response message Sandesha again creates a sequence, this time inbound to the 
> requester, using the "To" address of the reply message. As you would expect, 
> the "To" address is generated from the "ReplyTo" EPR in the request.
> In my case the 2 addresses look like this:
> Request To: "aixs2/services/RMSampleService"
> Reply To: "axis2/services/anonService/anonOutInOp"
> As the CreateSequence message comes into the latter of these, the 
> RequestURIBasedDispatcher (wrongly) decides that we are targeting the 
> anonOutInOp, when the SOAPAction and Addressing dispatchers would have 
> identified the CreateSequence operation properly. With the current Sandesha 
> code this is not an issue, as the inbound Sandesha handlers intercept and 
> process the CreateSequence, ignoring the operation set in the message 
> context. I am trying to restructure Sandesha so that the message is 
> automatically routed to the Sandesha message receiver. Doing so will clean up 
> the flow through Sandesha, but does rely on accurate operation resolution.
> I can see 2 ways to fix the issue:
> - Stop attempting to identify the operation in the RequestURIBasedDispatcher
> or
> - Generate "ReplyTo" addresses that do not include the operation name
> Patches for either of these are trivial, I'm happy to contribute them if 
> people can tell me their preferred option.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira



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



[jira] Updated: (AXIS2-1457) RequestURIBasedDispatcher incorrectly resolves the WS-RM operations

2006-10-20 Thread Matt Lovett (JIRA)
 [ http://issues.apache.org/jira/browse/AXIS2-1457?page=all ]

Matt Lovett updated AXIS2-1457:
---

Attachment: axisxml.patch

Here is the second patch, which plus the new dispatcher into the axis2.xml 
files.

> RequestURIBasedDispatcher incorrectly resolves the WS-RM operations
> ---
>
> Key: AXIS2-1457
> URL: http://issues.apache.org/jira/browse/AXIS2-1457
> Project: Apache Axis 2.0 (Axis2)
>  Issue Type: Bug
>  Components: core
>Reporter: Matt Lovett
> Attachments: axisxml.patch, dispatch.patch
>
>
> I have a testcase that is an async 2-way scenario, with Sandesha enabled. 
> Sending the request causes Sandesha to set up a CreateSequence message 
> targeted at the "To" address of the service, the RM handshake completes, and 
> the application request message goes out. When the other end generates the 
> response message Sandesha again creates a sequence, this time inbound to the 
> requester, using the "To" address of the reply message. As you would expect, 
> the "To" address is generated from the "ReplyTo" EPR in the request.
> In my case the 2 addresses look like this:
> Request To: "aixs2/services/RMSampleService"
> Reply To: "axis2/services/anonService/anonOutInOp"
> As the CreateSequence message comes into the latter of these, the 
> RequestURIBasedDispatcher (wrongly) decides that we are targeting the 
> anonOutInOp, when the SOAPAction and Addressing dispatchers would have 
> identified the CreateSequence operation properly. With the current Sandesha 
> code this is not an issue, as the inbound Sandesha handlers intercept and 
> process the CreateSequence, ignoring the operation set in the message 
> context. I am trying to restructure Sandesha so that the message is 
> automatically routed to the Sandesha message receiver. Doing so will clean up 
> the flow through Sandesha, but does rely on accurate operation resolution.
> I can see 2 ways to fix the issue:
> - Stop attempting to identify the operation in the RequestURIBasedDispatcher
> or
> - Generate "ReplyTo" addresses that do not include the operation name
> Patches for either of these are trivial, I'm happy to contribute them if 
> people can tell me their preferred option.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira



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



[jira] Created: (AXIS2-2892) Axis2 replyTo EPR is not stable

2007-07-03 Thread Matt Lovett (JIRA)
Axis2 replyTo EPR is not stable
---

 Key: AXIS2-2892
 URL: https://issues.apache.org/jira/browse/AXIS2-2892
 Project: Axis 2.0 (Axis2)
  Issue Type: Improvement
  Components: kernel
Reporter: Matt Lovett
Priority: Minor


This is an issue that cropped up while doing some interop testing with 
Sandesha, and .net. We were invoking serveral operations on a service, and were 
async-on-the-wire. The algorithm that the engine uses to choose the replyTo 
address includes the operation name, which means that the replyTo address 
changes from message to message.

The .net runtime doesn't like it when the replyTo changes... so the testcase 
failed. There doesn't seem to be any need to include the operation name in the 
replyTo, so it seemed simplest to ignore it, and build the replyTo based on the 
service name.

I'll attach a patch shortly.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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



[jira] Updated: (AXIS2-2892) Axis2 replyTo EPR is not stable

2007-07-03 Thread Matt Lovett (JIRA)

 [ 
https://issues.apache.org/jira/browse/AXIS2-2892?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Matt Lovett updated AXIS2-2892:
---

Attachment: reply.patch

Patch as described above

> Axis2 replyTo EPR is not stable
> ---
>
> Key: AXIS2-2892
> URL: https://issues.apache.org/jira/browse/AXIS2-2892
> Project: Axis 2.0 (Axis2)
>  Issue Type: Improvement
>  Components: kernel
>Reporter: Matt Lovett
>Priority: Minor
> Attachments: reply.patch
>
>
> This is an issue that cropped up while doing some interop testing with 
> Sandesha, and .net. We were invoking serveral operations on a service, and 
> were async-on-the-wire. The algorithm that the engine uses to choose the 
> replyTo address includes the operation name, which means that the replyTo 
> address changes from message to message.
> The .net runtime doesn't like it when the replyTo changes... so the testcase 
> failed. There doesn't seem to be any need to include the operation name in 
> the replyTo, so it seemed simplest to ignore it, and build the replyTo based 
> on the service name.
> I'll attach a patch shortly.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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



[jira] Created: (AXIS2-1764) Improve trace for the Handler.InvocationResponse class

2006-11-23 Thread Matt Lovett (JIRA)
Improve trace for the Handler.InvocationResponse class
--

 Key: AXIS2-1764
 URL: http://issues.apache.org/jira/browse/AXIS2-1764
 Project: Apache Axis 2.0 (Axis2)
  Issue Type: Improvement
  Components: kernel
Reporter: Matt Lovett
Priority: Minor
 Attachments: trace.patch

When handlers return instances of the InvocationResponse, it is not immediately 
clear what the response was, as the toString method hasn't been implemented. 
I'll attach a patch to add toString, so that we get better trace.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira



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



[jira] Updated: (AXIS2-1764) Improve trace for the Handler.InvocationResponse class

2006-11-23 Thread Matt Lovett (JIRA)
 [ http://issues.apache.org/jira/browse/AXIS2-1764?page=all ]

Matt Lovett updated AXIS2-1764:
---

Attachment: trace.patch

Patch as described

> Improve trace for the Handler.InvocationResponse class
> --
>
> Key: AXIS2-1764
> URL: http://issues.apache.org/jira/browse/AXIS2-1764
> Project: Apache Axis 2.0 (Axis2)
>  Issue Type: Improvement
>  Components: kernel
>Reporter: Matt Lovett
>Priority: Minor
> Attachments: trace.patch
>
>
> When handlers return instances of the InvocationResponse, it is not 
> immediately clear what the response was, as the toString method hasn't been 
> implemented. I'll attach a patch to add toString, so that we get better trace.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira



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



[jira] Created: (AXIS2-1870) Enable the WS-RM anonymous URI template

2006-12-13 Thread Matt Lovett (JIRA)
Enable the WS-RM anonymous URI template
---

 Key: AXIS2-1870
 URL: http://issues.apache.org/jira/browse/AXIS2-1870
 Project: Apache Axis 2.0 (Axis2)
  Issue Type: Improvement
  Components: Addressing, kernel
Reporter: Matt Lovett
Priority: Minor


The WS-RM 1.1 spec (at the Public Review level) defines a URI template that has 
behaviour similar to the WS-A anon uri. I have recently been making changes to 
Sandesha to support this, and need some base axis changes to handle the new URI.

I'll attach the most basic way of fixing the issues, but we might want to 
define a more general mechanism so that modules can plug in capabilities like 
this when they are engaged.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira



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



[jira] Updated: (AXIS2-1870) Enable the WS-RM anonymous URI template

2006-12-13 Thread Matt Lovett (JIRA)
 [ http://issues.apache.org/jira/browse/AXIS2-1870?page=all ]

Matt Lovett updated AXIS2-1870:
---

Attachment: axis2-RM2way.patch

Patch as described above. Also see 
https://issues.apache.org/jira/browse/SANDESHA2-62

> Enable the WS-RM anonymous URI template
> ---
>
> Key: AXIS2-1870
> URL: http://issues.apache.org/jira/browse/AXIS2-1870
> Project: Apache Axis 2.0 (Axis2)
>  Issue Type: Improvement
>  Components: kernel, Addressing
>Reporter: Matt Lovett
>Priority: Minor
> Attachments: axis2-RM2way.patch
>
>
> The WS-RM 1.1 spec (at the Public Review level) defines a URI template that 
> has behaviour similar to the WS-A anon uri. I have recently been making 
> changes to Sandesha to support this, and need some base axis changes to 
> handle the new URI.
> I'll attach the most basic way of fixing the issues, but we might want to 
> define a more general mechanism so that modules can plug in capabilities like 
> this when they are engaged.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira



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



[jira] Created: (AXIS2-1972) Enable Sandesha to control reliable sync 2-way clients

2007-01-12 Thread Matt Lovett (JIRA)
Enable Sandesha to control reliable sync 2-way clients
--

 Key: AXIS2-1972
 URL: https://issues.apache.org/jira/browse/AXIS2-1972
 Project: Apache Axis 2.0 (Axis2)
  Issue Type: Improvement
  Components: kernel
Reporter: Matt Lovett
 Attachments: sync2WayAxis.patch

As described in Sandesha2 JIRA 
https://issues.apache.org/jira/browse/SANDESHA2-64, we currently have a problem 
configuring clients that want to do sync 2-way messaging using WS-RM. It would 
be nice to allow the Sandesha module to take care of the configuration for 
them, so that the client code doesn't need to change when we engage the 
Sandesha module.

The solution I am proposing is to add a new configuration constant, which the 
operation and service clients can check for. In the special case where are are 
doing sync 2-way, and this option is present, then we setup a callback object. 
The Sandesha module then drives the response message back through the axis 
engine, and triggers the callback, which can then return to the application.

This code is very similar to, but not quite the same as USE_CUSTOM_LISTENER. I 
think that option was introduced for Sandesha too, but doesn't seem to be used. 
Once we add in the new option that I need I'd be happy to supply a second patch 
to remove or deprecate that option, if people would like me to.

I'll attach a patch that implements the Axis2 half of the changes I need.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira



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



[jira] Updated: (AXIS2-1972) Enable Sandesha to control reliable sync 2-way clients

2007-01-12 Thread Matt Lovett (JIRA)

 [ 
https://issues.apache.org/jira/browse/AXIS2-1972?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Matt Lovett updated AXIS2-1972:
---

Attachment: sync2WayAxis.patch

> Enable Sandesha to control reliable sync 2-way clients
> --
>
> Key: AXIS2-1972
> URL: https://issues.apache.org/jira/browse/AXIS2-1972
> Project: Apache Axis 2.0 (Axis2)
>  Issue Type: Improvement
>  Components: kernel
>Reporter: Matt Lovett
> Attachments: sync2WayAxis.patch
>
>
> As described in Sandesha2 JIRA 
> https://issues.apache.org/jira/browse/SANDESHA2-64, we currently have a 
> problem configuring clients that want to do sync 2-way messaging using WS-RM. 
> It would be nice to allow the Sandesha module to take care of the 
> configuration for them, so that the client code doesn't need to change when 
> we engage the Sandesha module.
> The solution I am proposing is to add a new configuration constant, which the 
> operation and service clients can check for. In the special case where are 
> are doing sync 2-way, and this option is present, then we setup a callback 
> object. The Sandesha module then drives the response message back through the 
> axis engine, and triggers the callback, which can then return to the 
> application.
> This code is very similar to, but not quite the same as USE_CUSTOM_LISTENER. 
> I think that option was introduced for Sandesha too, but doesn't seem to be 
> used. Once we add in the new option that I need I'd be happy to supply a 
> second patch to remove or deprecate that option, if people would like me to.
> I'll attach a patch that implements the Axis2 half of the changes I need.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira



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



[jira] Created: (AXIS2-2020) JAX-WS clients using sync-2-way and RM fail

2007-01-23 Thread Matt Lovett (JIRA)
JAX-WS clients using sync-2-way and RM fail
---

 Key: AXIS2-2020
 URL: https://issues.apache.org/jira/browse/AXIS2-2020
 Project: Apache Axis 2.0 (Axis2)
  Issue Type: Bug
  Components: jaxws, kernel
Reporter: Matt Lovett
 Attachments: opClient.patch

Hi all,

I have been doing some testing with jax-ws applications with Sandesha engaged, 
and I hit an issue with sync-2-way messaging. The axis ServiceClient and 
OutInOperationClient have some logic to force the invocation down the async 
path, which is what is needed in this case. (The addition of RM into the mix 
effectively makes the invocation async, even though we are using synchronous 
comms). Unfortunately, the jax-ws layer calls into the OutInOperationClient, 
and bypasses the logic in the ServiceClient. The same issue would apply to any 
other component that chooses to use the operation client directly.

My suggested fix is to push some of the logic that is currently in the 
ServiceClient down into the operation client. I'll attach a patch soon, but the 
basic idea is to move the SyncCallBack class down.

Thanks, Matt

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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



[jira] Updated: (AXIS2-2020) JAX-WS clients using sync-2-way and RM fail

2007-01-23 Thread Matt Lovett (JIRA)

 [ 
https://issues.apache.org/jira/browse/AXIS2-2020?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Matt Lovett updated AXIS2-2020:
---

Attachment: opClient.patch

Here's a patch that resolves the issue for me. It's relative to the 
modules/kernel directory within the axis2 tree.

> JAX-WS clients using sync-2-way and RM fail
> ---
>
> Key: AXIS2-2020
> URL: https://issues.apache.org/jira/browse/AXIS2-2020
> Project: Apache Axis 2.0 (Axis2)
>  Issue Type: Bug
>  Components: jaxws, kernel
>Reporter: Matt Lovett
> Attachments: opClient.patch
>
>
> Hi all,
> I have been doing some testing with jax-ws applications with Sandesha 
> engaged, and I hit an issue with sync-2-way messaging. The axis ServiceClient 
> and OutInOperationClient have some logic to force the invocation down the 
> async path, which is what is needed in this case. (The addition of RM into 
> the mix effectively makes the invocation async, even though we are using 
> synchronous comms). Unfortunately, the jax-ws layer calls into the 
> OutInOperationClient, and bypasses the logic in the ServiceClient. The same 
> issue would apply to any other component that chooses to use the operation 
> client directly.
> My suggested fix is to push some of the logic that is currently in the 
> ServiceClient down into the operation client. I'll attach a patch soon, but 
> the basic idea is to move the SyncCallBack class down.
> Thanks, Matt

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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



[jira] Updated: (AXIS2-2020) JAX-WS clients using sync-2-way and RM fail

2007-01-24 Thread Matt Lovett (JIRA)

 [ 
https://issues.apache.org/jira/browse/AXIS2-2020?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Matt Lovett updated AXIS2-2020:
---

Attachment: opClient2.patch

Updated patch that resolves some merge conflicts, and pulls in better error & 
timeout handling that was added to the service client.

> JAX-WS clients using sync-2-way and RM fail
> ---
>
> Key: AXIS2-2020
> URL: https://issues.apache.org/jira/browse/AXIS2-2020
> Project: Apache Axis 2.0 (Axis2)
>  Issue Type: Bug
>  Components: jaxws, kernel
>Reporter: Matt Lovett
> Attachments: opClient.patch, opClient2.patch
>
>
> Hi all,
> I have been doing some testing with jax-ws applications with Sandesha 
> engaged, and I hit an issue with sync-2-way messaging. The axis ServiceClient 
> and OutInOperationClient have some logic to force the invocation down the 
> async path, which is what is needed in this case. (The addition of RM into 
> the mix effectively makes the invocation async, even though we are using 
> synchronous comms). Unfortunately, the jax-ws layer calls into the 
> OutInOperationClient, and bypasses the logic in the ServiceClient. The same 
> issue would apply to any other component that chooses to use the operation 
> client directly.
> My suggested fix is to push some of the logic that is currently in the 
> ServiceClient down into the operation client. I'll attach a patch soon, but 
> the basic idea is to move the SyncCallBack class down.
> Thanks, Matt

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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



[jira] Commented: (AXIS2-2020) JAX-WS clients using sync-2-way and RM fail

2007-01-31 Thread Matt Lovett (JIRA)

[ 
https://issues.apache.org/jira/browse/AXIS2-2020?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12469063
 ] 

Matt Lovett commented on AXIS2-2020:


The patch went in a few days ago:

http://svn.apache.org/viewvc?view=rev&revision=499521



> JAX-WS clients using sync-2-way and RM fail
> ---
>
> Key: AXIS2-2020
> URL: https://issues.apache.org/jira/browse/AXIS2-2020
> Project: Axis 2.0 (Axis2)
>  Issue Type: Bug
>  Components: jaxws, kernel
>Reporter: Matt Lovett
> Assigned To: Deepal Jayasinghe
> Attachments: opClient.patch, opClient2.patch
>
>
> Hi all,
> I have been doing some testing with jax-ws applications with Sandesha 
> engaged, and I hit an issue with sync-2-way messaging. The axis ServiceClient 
> and OutInOperationClient have some logic to force the invocation down the 
> async path, which is what is needed in this case. (The addition of RM into 
> the mix effectively makes the invocation async, even though we are using 
> synchronous comms). Unfortunately, the jax-ws layer calls into the 
> OutInOperationClient, and bypasses the logic in the ServiceClient. The same 
> issue would apply to any other component that chooses to use the operation 
> client directly.
> My suggested fix is to push some of the logic that is currently in the 
> ServiceClient down into the operation client. I'll attach a patch soon, but 
> the basic idea is to move the SyncCallBack class down.
> Thanks, Matt

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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



[jira] Created: (AXIS2-2147) Class cast exception due to overloaded use of a constant

2007-02-09 Thread Matt Lovett (JIRA)
Class cast exception due to overloaded use of a constant


 Key: AXIS2-2147
 URL: https://issues.apache.org/jira/browse/AXIS2-2147
 Project: Axis 2.0 (Axis2)
  Issue Type: Bug
  Components: kernel
Reporter: Matt Lovett


When using Sandesha, messages may be retransmitted. When running the unit tests 
that exercise this, we are getting a 
class cast exception the second time that we send a message. Here's the java 
stack trace:

10943 [Axis2 Task] ERROR org.apache.sandesha2.workers.SenderWorker  - Sandesha2 
got an exception when sending a message: java.lang.ClassCastException: 
org.apache.commons.httpclient.methods.PostMethod incompatible with 
java.lang.String.
java.lang.ClassCastException: org.apache.commons.httpclient.methods.PostMethod 
incompatible with java.lang.String
at 
org.apache.axis2.transport.http.SOAPOverHTTPSender.send(SOAPOverHTTPSender.java:48)
at 
org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:349)
at 
org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:208)
at org.apache.axis2.engine.AxisEngine.resumeSend(AxisEngine.java:383)
at org.apache.sandesha2.workers.SenderWorker.run(SenderWorker.java:228)
at 
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
at 
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
at java.lang.Thread.run(Thread.java:788)

The code that is executing is the cast to String of 'httpMethod'

public void send(MessageContext msgContext, OMElement dataout, URL url, 
String soapActionString)
throws MalformedURLException, AxisFault, IOException {
// execute the HtttpMethodBase - a connection manager can be given for
// handle multiple

String httpMethod =
(String) 
msgContext.getProperty(Constants.Configuration.HTTP_METHOD);

if ((httpMethod != null)
&& 
Constants.Configuration.HTTP_METHOD_GET.equalsIgnoreCase(httpMethod)) {
this.sendViaGet(msgContext, url, soapActionString);

return;
}
this.sendViaPost(msgContext, dataout, url, soapActionString);
}


I think the root cause is probably due to two contstants having the same value, 
and both being used as keys into the MessageContext properties:

org.apache.axis2.transport.http.HTTPConstants.HTTP_METHOD = "HTTP_METHOD"
and
org.apache.axis2.Constants.Configuration.HTTP_METHOD = "HTTP_METHOD"

I think that the HTTPConstants one is written part way through the first send, 
making a side-effect that poisons the second send. This is when using Sandesha 
without calling the MessageContext serialization code, persumably if we were 
using that we would avoid the issue.





-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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



[jira] Created: (AXIS2-2191) Dispatch phase optimizations can prevent Sandesha from using the back-channel for acks

2007-02-15 Thread Matt Lovett (JIRA)
Dispatch phase optimizations can prevent Sandesha from using the back-channel 
for acks
--

 Key: AXIS2-2191
 URL: https://issues.apache.org/jira/browse/AXIS2-2191
 Project: Axis 2.0 (Axis2)
  Issue Type: Bug
  Components: kernel
Reporter: Matt Lovett


Chamikara and I have been disussing this issue on the sandesha-dev list. 
Essentially there is code in the DispatchPhase (around line 71) that sends a 
HTTP 202 back if the message is 1-way, or if it is 2-way with an async replyTo.

However, there are cases when the WS-RM layer needs to write a SequenceAck 
message into the backchannel, and this code is running before we get the chance 
to try. We cannot move our logic earlier, as we need the dispatch phase to have 
resolved the MEP before we can make the decision.

The only way forward we can see is to define a new constant, and avoid the code 
in DispatchPhase when the constant is set. When RM is enabled we will set the 
value onto the ConfigurationContext at the time that Sandesha is engaged. From 
then on the Sandesha handlers will take the responsibility - returning the HTTP 
202 as soon as possible if we do not need the backchannel.

Here's a proposal for the new constant name:

// If this property is set to Boolean.TRUE then the Dispatch Phase should not 
try so send an early
// transport-level ack back. Downstream handlers are expected to send an 
transport-level ack as
// soon as they are sure that the transport level ack may be sent.
org.apache.axis2.Constants.Configuration.DEFER_TRANSPORT_ACKNOWLEDGEMENT = 
"deferTransportAcks";


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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



[jira] Resolved: (AXIS2-1972) Enable Sandesha to control reliable sync 2-way clients

2007-02-16 Thread Matt Lovett (JIRA)

 [ 
https://issues.apache.org/jira/browse/AXIS2-1972?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Matt Lovett resolved AXIS2-1972.


Resolution: Fixed

> Enable Sandesha to control reliable sync 2-way clients
> --
>
> Key: AXIS2-1972
> URL: https://issues.apache.org/jira/browse/AXIS2-1972
> Project: Axis 2.0 (Axis2)
>  Issue Type: Improvement
>  Components: kernel
>Reporter: Matt Lovett
> Assigned To: David Illsley
> Attachments: sync2WayAxis.patch
>
>
> As described in Sandesha2 JIRA 
> https://issues.apache.org/jira/browse/SANDESHA2-64, we currently have a 
> problem configuring clients that want to do sync 2-way messaging using WS-RM. 
> It would be nice to allow the Sandesha module to take care of the 
> configuration for them, so that the client code doesn't need to change when 
> we engage the Sandesha module.
> The solution I am proposing is to add a new configuration constant, which the 
> operation and service clients can check for. In the special case where are 
> are doing sync 2-way, and this option is present, then we setup a callback 
> object. The Sandesha module then drives the response message back through the 
> axis engine, and triggers the callback, which can then return to the 
> application.
> This code is very similar to, but not quite the same as USE_CUSTOM_LISTENER. 
> I think that option was introduced for Sandesha too, but doesn't seem to be 
> used. Once we add in the new option that I need I'd be happy to supply a 
> second patch to remove or deprecate that option, if people would like me to.
> I'll attach a patch that implements the Axis2 half of the changes I need.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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



[jira] Resolved: (AXIS2-1457) RequestURIBasedDispatcher incorrectly resolves the WS-RM operations

2007-02-16 Thread Matt Lovett (JIRA)

 [ 
https://issues.apache.org/jira/browse/AXIS2-1457?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Matt Lovett resolved AXIS2-1457.


Resolution: Fixed

> RequestURIBasedDispatcher incorrectly resolves the WS-RM operations
> ---
>
> Key: AXIS2-1457
> URL: https://issues.apache.org/jira/browse/AXIS2-1457
> Project: Axis 2.0 (Axis2)
>  Issue Type: Bug
>  Components: kernel
>Reporter: Matt Lovett
> Assigned To: David Illsley
> Attachments: axisxml.patch, dispatch.patch
>
>
> I have a testcase that is an async 2-way scenario, with Sandesha enabled. 
> Sending the request causes Sandesha to set up a CreateSequence message 
> targeted at the "To" address of the service, the RM handshake completes, and 
> the application request message goes out. When the other end generates the 
> response message Sandesha again creates a sequence, this time inbound to the 
> requester, using the "To" address of the reply message. As you would expect, 
> the "To" address is generated from the "ReplyTo" EPR in the request.
> In my case the 2 addresses look like this:
> Request To: "aixs2/services/RMSampleService"
> Reply To: "axis2/services/anonService/anonOutInOp"
> As the CreateSequence message comes into the latter of these, the 
> RequestURIBasedDispatcher (wrongly) decides that we are targeting the 
> anonOutInOp, when the SOAPAction and Addressing dispatchers would have 
> identified the CreateSequence operation properly. With the current Sandesha 
> code this is not an issue, as the inbound Sandesha handlers intercept and 
> process the CreateSequence, ignoring the operation set in the message 
> context. I am trying to restructure Sandesha so that the message is 
> automatically routed to the Sandesha message receiver. Doing so will clean up 
> the flow through Sandesha, but does rely on accurate operation resolution.
> I can see 2 ways to fix the issue:
> - Stop attempting to identify the operation in the RequestURIBasedDispatcher
> or
> - Generate "ReplyTo" addresses that do not include the operation name
> Patches for either of these are trivial, I'm happy to contribute them if 
> people can tell me their preferred option.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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