Yea it is probably something I did to get the multiplicity to work...
I just freed up and have some time now to look into it.
Jim
On Mar 8, 2006, at 12:37 PM, Jean-Sebastien Delfino wrote:
Jim Marino wrote:
I think this may be related to the wrong interface type being
loaded in the proxy factory. Sebastien, could you take a quick
look at this?
Jim
On Mar 8, 2006, at 8:28 AM, Jim Marino (JIRA) wrote:
[ http://issues.apache.org/jira/browse/TUSCANY-75?
page=comments#action_12369489 ]
Jim Marino commented on TUSCANY-75:
-----------------------------------
I noticed the wrong business interfaceis being set on
HelloWorldServiceComponent (it is the impl class). I set a
breakpoint at JDKProxyFactory line 81 to see this. I need to do
something else for about an hour but I can look at it a bit
after. In the meantime, if someone wants to take a look that
would be great.
Hellowordwsclient fails
-----------------------
Key: TUSCANY-75
URL: http://issues.apache.org/jira/browse/TUSCANY-75
Project: Tuscany
Type: Bug
Components: Java SCA Core
Environment: WinXp
URL: https://svn.apache.org/repos/asf/incubator/tuscany/java
Last Changed Rev: 384161
Last Changed Date: 2006-03-08 04:03:21 -0500 (Wed, 08 Mar 2006)
Reporter: Rick Rineholt
Priority: Blocker
Helloworldwsclient fails and so does it's associate testing
\tomcat \helloworldws
Exception in thread "main" java.lang.IllegalArgumentException
at sun.reflect.UnsafeObjectFieldAccessorImpl.set
(UnsafeObjectFieldAccessorImpl.java:63)
at java.lang.reflect.Field.set(Field.java:656)
at org.apache.tuscany.core.injection.FieldInjector.inject
(FieldInjector.java:40)
at
org.apache.tuscany.core.injection.PojoObjectFactory.getInstance
(PojoObjectFactory.java:64)
at
org.apache.tuscany.container.java.context.JavaComponentContext.getI
nstance(JavaComponentContext.java:113)
at
org.apache.tuscany.core.context.impl.AggregateContextImpl.locateSer
vice(AggregateContextImpl.java:98)
at
org.apache.tuscany.samples.helloworldwsclient.HelloWorldClient.main
(HelloWorldClient.java:42)
Test failing line HelloWorldService helloworldService =
(HelloWorldService) moduleContext.locateService
("HelloWorldServiceComponent");
It looks like on FieldInjector line 40 objectFactory is
NullMonitorFactory ... this seems to be off?
--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
Jim,
It looks like the runtime is trying to inject an instance of
HelloWorldServiceImpl into a reference field expecting an instance
of HelloWorldService. The HelloWorldServiceImpl interface is
generated from the WSDL portType declared on the external Web
Service. This scenario was working yesterday so I'm thinking that
the problem may be caused by some very recent changes in
container.java or core maybe?
I think that this kind of scenario should work (independent of the
fact that you're using WSDL and/or Java interfaces):
- a component has a reference requiring an instance of an interface X
- the reference is wired to a service exposing an interface Y
- X and Y are not identical, but they are compatible (Y is a
superset of the methods on X)
- the component should be injected with an instance of interface X
The bug here is that our wiring builder+resolution algorithm
injects into the component an instance of Y instead of X. Jim, does
that ring a bell? are we making sure that the correct interface
specified on the reference is used to configure the proxy factory?
--
Jean-Sebastien