[jira] Resolved: (TUSCANY-1804) @OneWay repeted invocations doesn't work in web service binding

2007-11-09 Thread Simon Laws (JIRA)

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

Simon Laws resolved TUSCANY-1804.
-

Resolution: Fixed

Try again...

 @OneWay repeted invocations doesn't work in web service binding
 ---

 Key: TUSCANY-1804
 URL: https://issues.apache.org/jira/browse/TUSCANY-1804
 Project: Tuscany
  Issue Type: Bug
Affects Versions: Java-SCA-0.99
 Environment: Eclipse/JDK 1.5 / Ubuntu Linux 7.04
Reporter: Giorgio Zoppi
Assignee: Simon Laws
 Fix For: Java-SCA-1.1

 Attachments: patch.diff


 i've found the bug that it doens't permit myself to use SCA Binding over
 WebService modifying the distributed-calculator. I found it (on Tuscany
 1.0 rc3) following the chain towards the wire, and i discovered that
 it's an Axis Fault. If you modify in your distributed calculator sample
 the SubtractionService in the following way:
 @Remotable
 public interface SubtractService {
@OneWay
void subtract(double n1, double n2);
 }
 public class SubtractServiceImpl implements SubtractService {
public void subtract(double n1, double n2) {
System.out.println(SubtractService - subtract  + n1 +  and 
 + n2);
//return n1 - n2;
}
 }
 I know that it doesn't nothing...but it's a proof of concept.
 And in the calculator node:
  for (int k = 0; k  10; ++k)
calculatorService.subtract(2*k+3, k);
 The nodeC with current Axis2OneWayBindingInvoker, even if it's called 10
 times..the receiver gets two messages..
 So in the nodeC terminal you can see only for example:
 [java] SubtractService - subtract 15.0 and 6.0
 [java] SubtractService - subtract 17.0 and 7.0
 The reason is due to the Axis HTTP REUSE:
 If you change in Axis2OneWayBindingInvoker
  requestMC.getOptions().setProperty(HTTPConstants.REUSE_HTTP_CLIENT,
 Boolean.TRUE);
 to:
  requestMC.getOptions().setProperty(HTTPConstants.REUSE_HTTP_CLIENT,
 Boolean.FALSE);
 It works! I suspect that there's a bug or a queue full in Axis because
 it seems that if you send something too fast it doesn't work (I'll see
 it tomorrow, because I don't know how the http client reuse works in Axis).
 The next test, I'll do it :
 for (int k = 0; k  50; ++k)
calculatorService.subtract(2*k+3, k);
 It seems to work, but in a strange way.
 During the debugging i discovered your nice structure in order to invoke
 methods over ws.
 Mainly for the Remote SCA over Web Services your structure has the
 following stages (correct me if i'm wrong):
 1) JDKInvocationHandler, where you proxies the method call, create the
 message, set the source, the target and the operation. Here still you do
 some sort of initialization for handling callback.
 2) DataTrasformationInterceptor, where you create the soap body of the
 message given the operation and parameters, for example:
 _ns_:add
 xmlns:_ns_=http://calculator/xsd;_ns_:param03.0/_ns_:param0_ns_:p
 aram12.0/_ns_:param1/_ns_:add
 3) NonblockingInterceptor, where Tuscany schedules invocation in a
 workpool (here with jdk 1.5 , you could remove dependency from commonj
 package)
 4) At time of scheduling, the next invoker is Axis2SCABindingInvoker,
 which it's a wrapper for Axis2BindingInvoker if the invocation is
 Request-response or for the Axis2BindingInvoker's child
 (Axis2OneWayBindingInvoker) if the invocation is OneWay. In
 Axis2*BindingInvoker you create the soap envelope,  the Axis's
 OperationClient, set the axis invocation options and Axis's
 MessageContext and the you send all the stuff on the wire.

-- 
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: (TUSCANY-1804) @OneWay repeted invocations doesn't work in web service binding

2007-10-19 Thread Giorgio Zoppi (JIRA)

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

Giorgio Zoppi resolved TUSCANY-1804.


Resolution: Incomplete

I have a patch for resolving agaisnt  revision 586626, but I tried only against 
  tuscany 1.0 so it needs an accurate review and if it breaks something. I 
still use sca 1.0 for my develop.

 @OneWay repeted invocations doesn't work in web service binding
 ---

 Key: TUSCANY-1804
 URL: https://issues.apache.org/jira/browse/TUSCANY-1804
 Project: Tuscany
  Issue Type: Bug
Affects Versions: Java-SCA-0.99
 Environment: Eclipse/JDK 1.5 / Ubuntu Linux 7.04
Reporter: Giorgio Zoppi
 Fix For: Java-SCA-1.0.1


 i've found the bug that it doens't permit myself to use SCA Binding over
 WebService modifying the distributed-calculator. I found it (on Tuscany
 1.0 rc3) following the chain towards the wire, and i discovered that
 it's an Axis Fault. If you modify in your distributed calculator sample
 the SubtractionService in the following way:
 @Remotable
 public interface SubtractService {
@OneWay
void subtract(double n1, double n2);
 }
 public class SubtractServiceImpl implements SubtractService {
public void subtract(double n1, double n2) {
System.out.println(SubtractService - subtract  + n1 +  and 
 + n2);
//return n1 - n2;
}
 }
 I know that it doesn't nothing...but it's a proof of concept.
 And in the calculator node:
  for (int k = 0; k  10; ++k)
calculatorService.subtract(2*k+3, k);
 The nodeC with current Axis2OneWayBindingInvoker, even if it's called 10
 times..the receiver gets two messages..
 So in the nodeC terminal you can see only for example:
 [java] SubtractService - subtract 15.0 and 6.0
 [java] SubtractService - subtract 17.0 and 7.0
 The reason is due to the Axis HTTP REUSE:
 If you change in Axis2OneWayBindingInvoker
  requestMC.getOptions().setProperty(HTTPConstants.REUSE_HTTP_CLIENT,
 Boolean.TRUE);
 to:
  requestMC.getOptions().setProperty(HTTPConstants.REUSE_HTTP_CLIENT,
 Boolean.FALSE);
 It works! I suspect that there's a bug or a queue full in Axis because
 it seems that if you send something too fast it doesn't work (I'll see
 it tomorrow, because I don't know how the http client reuse works in Axis).
 The next test, I'll do it :
 for (int k = 0; k  50; ++k)
calculatorService.subtract(2*k+3, k);
 It seems to work, but in a strange way.
 During the debugging i discovered your nice structure in order to invoke
 methods over ws.
 Mainly for the Remote SCA over Web Services your structure has the
 following stages (correct me if i'm wrong):
 1) JDKInvocationHandler, where you proxies the method call, create the
 message, set the source, the target and the operation. Here still you do
 some sort of initialization for handling callback.
 2) DataTrasformationInterceptor, where you create the soap body of the
 message given the operation and parameters, for example:
 _ns_:add
 xmlns:_ns_=http://calculator/xsd;_ns_:param03.0/_ns_:param0_ns_:p
 aram12.0/_ns_:param1/_ns_:add
 3) NonblockingInterceptor, where Tuscany schedules invocation in a
 workpool (here with jdk 1.5 , you could remove dependency from commonj
 package)
 4) At time of scheduling, the next invoker is Axis2SCABindingInvoker,
 which it's a wrapper for Axis2BindingInvoker if the invocation is
 Request-response or for the Axis2BindingInvoker's child
 (Axis2OneWayBindingInvoker) if the invocation is OneWay. In
 Axis2*BindingInvoker you create the soap envelope,  the Axis's
 OperationClient, set the axis invocation options and Axis's
 MessageContext and the you send all the stuff on the wire.

-- 
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]