[
https://issues.apache.org/jira/browse/TUSCANY-3267?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12753479#action_12753479
]
Simon Nash commented on TUSCANY-3267:
-------------------------------------
When wsimport is run on Payment.wsdl, the generated Payment class has an
@XmlSeeAlso annotation for ObjectFactory. Because of the recent changes in
Tuscany to schema generation, this adds ObjectFactory to the list of data types
for schema generation. The generated ObjectFactory class has @XmlElementDecl
annotations for makePaymentMember and makePaymentMemberResponse. It seems that
the incorrect wrapper declarations with nillable="true" are being generated by
JAXB from these @XmlElementDecl annotations. This contradicts the JAXB spec
which says in section 8.10.1.2 (Table 8-1) that @XmlElementDecl maps to a
generated element with {nillable} false.
If the above is correct, the generation of nillable="true" on these wrapper
elements is a bug in the JAXB schema generator.
> <binding.ws> doesn't work when <interface.java> is used
> -------------------------------------------------------
>
> Key: TUSCANY-3267
> URL: https://issues.apache.org/jira/browse/TUSCANY-3267
> Project: Tuscany
> Issue Type: Bug
> Components: Java SCA Core Runtime
> Affects Versions: Java-SCA-1.5.1
> Reporter: Simon Nash
> Priority: Blocker
> Fix For: Java-SCA-Next
>
>
> If a service is exposed using binding.ws only and a proxy to that service is
> obtained by calling SCAClient.getService(), the proxy throws
> IndexOutOfBoundsException when invoked. If a <binding.sca/> element is added
> to the service, the proxy works correctly.
> To reproduce this problem, modify
>
> svn.apache.org/repos/asf/tuscany/sandbox/travelsample/contributions/payment-java/src/main/resources/payment.composite
> to remove the <binding.sca/> element on the Payment service, then build the
> payment-java module. This produces the following stack trace.
> Running scatours.payment.PaymentTestCase
> 09-Sep-2009 10:32:27 org.apache.tuscany.sca.node.impl.NodeImpl <init>
> INFO: Creating node: null
> 09-Sep-2009 10:32:28 org.apache.tuscany.sca.node.impl.NodeImpl configureNode
> INFO: Loading contribution:
> file:/F:/book/samp16/travelsample/contributions/paym
> ent-java/./target/classes/
> 09-Sep-2009 10:32:29 org.apache.tuscany.sca.node.impl.NodeImpl configureNode
> INFO: Loading contribution:
> file:/F:/book/samp16/travelsample/contributions/paym
> ent-java/../../contributions/creditcard-payment-jaxb/target/classes/
> 09-Sep-2009 10:32:29 org.apache.tuscany.sca.node.impl.NodeImpl start
> INFO: Starting node: null
> 09-Sep-2009 10:32:30 org.apache.tuscany.sca.http.jetty.JettyServer
> addServletMap
> ping
> INFO: Added Servlet mapping: http://Angels:8081/Payment
> 09-Sep-2009 10:32:30 org.apache.tuscany.sca.http.jetty.JettyServer
> addServletMap
> ping
> INFO: Added Servlet mapping: http://Angels:8082/CreditCardPayment
> 09-Sep-2009 10:32:30 org.apache.tuscany.sca.node.impl.NodeImpl stop
> INFO: Stopping node: null
> 09-Sep-2009 10:32:30 org.apache.tuscany.sca.http.jetty.JettyServer
> removeServlet
> Mapping
> INFO: Removed Servlet mapping: /Payment
> 09-Sep-2009 10:32:30 org.apache.tuscany.sca.http.jetty.JettyServer
> removeServlet
> Mapping
> INFO: Removed Servlet mapping: /CreditCardPayment
> Tests run: 2, Failures: 0, Errors: 1, Skipped: 1, Time elapsed: 2.434 sec <<<
> FA
> ILURE!
> testPayment(scatours.payment.PaymentTestCase) Time elapsed: 0.062 sec <<<
> ERRO
> R!
> java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
> at java.util.ArrayList.RangeCheck(ArrayList.java:547)
> at java.util.ArrayList.get(ArrayList.java:322)
> at
> org.apache.tuscany.sca.core.databinding.transformers.Input2InputTrans
> former.transform(Input2InputTransformer.java:249)
> at
> org.apache.tuscany.sca.core.databinding.transformers.Input2InputTrans
> former.transform(Input2InputTransformer.java:45)
> at
> org.apache.tuscany.sca.databinding.impl.MediatorImpl.mediate(Mediator
> Impl.java:113)
> at
> org.apache.tuscany.sca.databinding.impl.MediatorImpl.mediateInput(Med
> iatorImpl.java:431)
> at
> org.apache.tuscany.sca.core.databinding.wire.DataTransformationInterc
> eptor.invoke(DataTransformationInterceptor.java:65)
> at
> org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JD
> KInvocationHandler.java:346)
> at
> org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JD
> KInvocationHandler.java:193)
> at $Proxy49.makePaymentMember(Unknown Source)
> at
> scatours.payment.PaymentTestCase.testPayment(PaymentTestCase.java:48)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
> java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
> sorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(Framework
> Method.java:44)
> at
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCal
> lable.java:15)
> at
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMe
> thod.java:41)
> at
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMet
> hod.java:20)
> at
> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.
> java:28)
> at
> org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.ja
> va:31)
> at
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRun
> ner.java:73)
> at
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRun
> ner.java:46)
> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:180)
> at org.junit.runners.ParentRunner.access$000(ParentRunner.java:41)
> at org.junit.runners.ParentRunner$1.evaluate(ParentRunner.java:173)
> at
> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.
> java:28)
> at
> org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.ja
> va:31)
> at org.junit.runners.ParentRunner.run(ParentRunner.java:220)
> at
> org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.
> java:62)
> at
> org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTes
> tSet(AbstractDirectoryTestSuite.java:138)
> at
> org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(Ab
> stractDirectoryTestSuite.java:125)
> at org.apache.maven.surefire.Surefire.run(Surefire.java:132)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
> java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
> sorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(Su
> refireBooter.java:308)
> at
> org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.j
> ava:879)
> Results :
> Tests in error:
> testPayment(scatours.payment.PaymentTestCase)
> Tests run: 2, Failures: 0, Errors: 1, Skipped: 1
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.