Thanks Simon for pointing to the JIRA.  I will take a look at TUSCANY-2059.

++Vamsi

On Tue, Apr 1, 2008 at 3:22 PM, Simon Nash <[EMAIL PROTECTED]> wrote:

> Comments inline.
>
>   Simon
>
> Raymond Feng wrote:
> > Hi,
> >
> > The message is a bit misleading and it complains that a fault from WS
> > stack cannot be mapped to a java checked exception. The cause of your
> > issue is:
> >
> >> Caused by: org.apache.axis2.AxisFault: An unknown message label has
> been
> >> encountered: In
> >>    at
> >>
> org.apache.axis2.description.OutOnlyAxisOperationClient.getMessageContext(
> >>
> >> OutOnlyAxisOperation.java:215)
> >>    at
> >
> > I ran into a similar issue before. The problem is that Axis2 maps a java
> > method such as void doSomthing(...) into an oneway WSDL operation. This
> > behavior is not in line with SCA which requires @Oneway annotation. If
> > you add @Oneway to the method, the problem will be gone.
> >
> This is the same as TUSCANY-2059.  The behaviour that Raymond
> describes is the default for Axis2.  However, Tuscany has code
> in Java2WSDLHelper.processNoArgAndVoidReturnMethods() to fix
> up the Axis2 Java to WSDL mapping to correct this Axis2 problem.
> Unfortunately, this code is currently not invoked when all
> methods of an interface have null argument lists and void
> return types.  See TUSCANY-2059 for more details.
>
> Adding @OneWay works around the problem but it changes the
> semantic behavior.  It prevents server-side exceptions from
> being thrown back to the client, and it allows the client to
> proceed before the server method has completed.  It also
> requires modifying the existing Java interface, which isn't
> always possible.  This may be useful as a temporary workaround,
> but we need to fix the underlying problem.
>
> Vamsi, are you interested in producing a patch for
> Java2WSDLHelper.processNoArgAndVoidReturnMethods() to fix this
> problem?  The comments for TUSCANY-2059 give some suggestions
> for what is neeeded.
>
>   Simon
>
> > Thanks,
> > Raymond
> > --------------------------------------------------
> > From: "Vamsavardhana Reddy" <[EMAIL PROTECTED]>
> > Sent: Monday, March 31, 2008 6:38 AM
> > To: <tuscany-dev@ws.apache.org>
> > Subject: Strange problem with conversational service when using
> binding.ws
> >
> >> Here is a strange problem I am running into.
> >>
> >> I have a conversational service with all the operations returning void.
> >> When I use binding.sca, my test runs fine.  But, when I change the
> >> binding
> >> to binding.ws, I hit an org.osoa.sca.ServiceRuntimeException: "Target
> >> fault
> >> type cannot be resolved: null".  But, if a add another method to my
> >> service
> >> to return a String (non-void basically), then my test runs fine even
> >> though
> >> this newly added method is not invoked!!  Stack trace from the failure
> is
> >> given below.
> >>
> >> org.osoa.sca.ServiceRuntimeException: Target fault type cannot be
> >> resolved:
> >> null
> >>    at
> >>
> org.apache.tuscany.sca.core.databinding.wire.DataTransformationInterceptor.invoke
> >>
> >> (DataTransformationInterceptor.java:134)
> >>    at
> org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(
> >> JDKInvocationHandler.java:286)
> >>    at
> org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(
> >> JDKInvocationHandler.java:154)
> >>    at $Proxy26.operation1(Unknown Source)
> >>    at org.apache.tuscany.sca.mytest.MyConvClientImpl.runConversation(
> >> MyConvClientImpl.java:21)
> >>    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >>    at sun.reflect.NativeMethodAccessorImpl.invoke(
> >> NativeMethodAccessorImpl.java:39)
> >>    at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> >> DelegatingMethodAccessorImpl.java:25)
> >>    at java.lang.reflect.Method.invoke(Method.java:585)
> >>    at
> >>
> org.apache.tuscany.sca.implementation.java.invocation.JavaImplementationInvoker.invoke
> >>
> >> (JavaImplementationInvoker.java:109)
> >>    at
> >>
> org.apache.tuscany.sca.core.databinding.wire.PassByValueInterceptor.invoke
> (
> >>
> >> PassByValueInterceptor.java:108)
> >>    at org.apache.tuscany.sca.binding.sca.impl.SCABindingInvoker.invoke(
> >> SCABindingInvoker.java:61)
> >>    at
> >>
> org.apache.tuscany.sca.core.databinding.wire.PassByValueInterceptor.invoke
> (
> >>
> >> PassByValueInterceptor.java:108)
> >>    at
> org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(
> >> JDKInvocationHandler.java:286)
> >>    at
> org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(
> >> JDKInvocationHandler.java:154)
> >>    at $Proxy25.runConversation(Unknown Source)
> >>    at
> >>
> org.apache.tuscany.sca.itest.conversational.ConversationWSDLMyTestCase.testConversation
> >>
> >> (ConversationWSDLMyTestCase.java:68)
> >>    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >>    at sun.reflect.NativeMethodAccessorImpl.invoke(
> >> NativeMethodAccessorImpl.java:39)
> >>    at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> >> DelegatingMethodAccessorImpl.java:25)
> >>    at java.lang.reflect.Method.invoke(Method.java:585)
> >>    at org.junit.internal.runners.TestMethodRunner.executeMethodBody(
> >> TestMethodRunner.java:99)
> >>    at org.junit.internal.runners.TestMethodRunner.runUnprotected(
> >> TestMethodRunner.java:81)
> >>    at org.junit.internal.runners.BeforeAndAfterRunner.runProtected(
> >> BeforeAndAfterRunner.java:34)
> >>    at org.junit.internal.runners.TestMethodRunner.runMethod(
> >> TestMethodRunner.java:75)
> >>    at
> >> org.junit.internal.runners.TestMethodRunner.run(TestMethodRunner.java
> >> :45)
> >>    at
> org.junit.internal.runners.TestClassMethodsRunner.invokeTestMethod(
> >> TestClassMethodsRunner.java:75)
> >>    at org.junit.internal.runners.TestClassMethodsRunner.run(
> >> TestClassMethodsRunner.java:36)
> >>    at org.junit.internal.runners.TestClassRunner$1.runUnprotected(
> >> TestClassRunner.java:42)
> >>    at org.junit.internal.runners.BeforeAndAfterRunner.runProtected(
> >> BeforeAndAfterRunner.java:34)
> >>    at org.junit.internal.runners.TestClassRunner.run(
> TestClassRunner.java
> >> :52)
> >>    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(
> >> JUnit4TestReference.java:38)
> >>    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(
> >> TestExecution.java:38)
> >>    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(
> >> RemoteTestRunner.java:460)
> >>    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(
> >> RemoteTestRunner.java:673)
> >>    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(
> >> RemoteTestRunner.java:386)
> >>    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(
> >> RemoteTestRunner.java:196)
> >> Caused by: org.apache.axis2.AxisFault: An unknown message label has
> been
> >> encountered: In
> >>    at
> >>
> org.apache.axis2.description.OutOnlyAxisOperationClient.getMessageContext(
> >>
> >> OutOnlyAxisOperation.java:215)
> >>    at
> >>
> org.apache.tuscany.sca.binding.ws.axis2.Axis2BindingInvoker.invokeTarget(
> >> Axis2BindingInvoker.java:120)
> >>    at
> org.apache.tuscany.sca.binding.ws.axis2.Axis2BindingInvoker.invoke(
> >> Axis2BindingInvoker.java:89)
> >>    at
> >>
> org.apache.tuscany.sca.core.databinding.wire.DataTransformationInterceptor.invoke
> >>
> >> (DataTransformationInterceptor.java:78)
> >>    ... 36 more
> >>
> >> Has anyone reported this problem?  Otherwise I will create a JIRA.
> >>
> >> ++Vamsi
> >>
> >
> > ---------------------------------------------------------------------
> > 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]
>
>

Reply via email to