Question regarding SCADomainFinder

2007-11-26 Thread Jeff Davis
Hi,

I'm attempting to perform some testing using some of the distributed
features of Tuscany. I have done the following:

1) In one Java main class, started a new domain.
2) In another Java main, started a node that registered a service. I was
able to verify the service was working correctly by doing something
like:

compositeService =
node.getDomain().getService(ScopeConversationalService.class,
"TestConversationalService");
compositeService.initialize2();

This worked properly.

3) Leaving both the domain and nodes running, I then attempt to use the
SCADomainFinder class in another Java main to get a handle to the domain
so that I can retrieve the service:

SCADomainFinder domainFinder = SCADomainFinder.newInstance();
SCADomain domainProxy =
domainFinder.getSCADomain("http://localhost:8877";);
compositeService =
domainProxy.getService(ScopeConversationalService.class,
"TestConversationalService");

However, it always fails with a null pointer exception on the
domainProxy.getService call:

java.lang.NullPointerException
at
org.apache.tuscany.sca.node.impl.SCADomainImpl.getServiceReference(SCADo
mainImpl.java:417)
at
org.apache.tuscany.sca.node.impl.SCADomainImpl.getService(SCADomainImpl.
java:348)

The same error occurs even if I put a bogus port in the for the domain
URL (8877 is correct).

What my objective in this testing is to determine how I can get a remote
handle to the service so that I can invoke it that way in a distributed
fashion. I suppose I can always instantiate a new domain locally that
has a reference, via one of the bindings to the remote host where the
services primarily will reside, but this doesn't seem like the best way
of going about things (maybe it is, I'm pretty new to Tuscany, so I'm
just trying to get a handle on best practices).

jeff 

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



Re: SCA & WS Binding Wrapper Style

2007-11-26 Thread Jean-Sebastien Delfino

Simon Laws wrote:
[snip]


The assumption I'm making from the info you gave is that you want to have
two SCA components communicate with the same domain but be able to specify
the WSDL that the web services binding uses.  I guess what you would need to
be able to do is specify a binding something like




   http://tuscany.apache.org#wsdl.binding(MyServiceSOAP11Binding)"/>

etc..

Where you are referencing a WSDL binding but not providing a service
location with a view to having the domain sort this out for you. A similar
thing would appear on the service end also.

This all sounds plausible but I just took a look at the SCA WebServices
binding specification and it says that when the #wsdl.binding form is used
the endpoint address URI must be provided via the URI attribute on the
binding which makes it a little difficult for the domain logic to help you
out. There is a possibility that this is a fault in the spec in this case
but let me try a few experiments and think about it a little before we call
it out. If others know the answer now feel free to jump in.



My understanding is that wiring is not limited to the SCA binding. It's 
probably a bug in the WS binding spec, which should allow the WS 
endpoint address to be determined through wiring in the domain.


In other words the above XML snippet should be made to work.

--
Jean-Sebastien

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



Re: SCA & WS Binding Wrapper Style

2007-11-26 Thread Bentley Johnson
I found another modification that will have to be done, unless there is 
alternative, however, this may be related to Javabeans being used for object 
serialization. In many instances, the parameters or return types of our 
service methods are java interfaces and there are implementations of these 
interfaces being created and used. When the XML is created for sending over 
the binding, it attempts to use the interface as the java class that must be 
created on the receiving end. The reflection being used can of course not 
create an instance of the interface and it throws an exception. Is there any 
way to specific for it to use the actual class implementation when converted 
to and from XML?  

Thanks, Bentley

-Original Message-

From: Simon Nash <[EMAIL PROTECTED]>

To: tuscany-user@ws.apache.org

Date: Mon, 26 Nov 2007 21:56:55 +

Subject: Re: SCA & WS Binding Wrapper Style




Bentley,

What modifications are needed to your code to make it conform to the

doc/lit/wrapped standard?  Is this just the removal of overloaded

nethod names, or something else?



   Simon



Bentley Johnson wrote:



> Hello, thanks for the response and input.

> 

> One thing I realized was that I didn't make clear in my original post was 

> that I am working with the distributed domain/node system which seems to 
use 

> only the SCA binding by default with the Remotable annotation. This does 
not 

> allow me to use the WSDL configurations. This  assumption is based on the  


> sample distributed code and  testing I have attempted.

> 

> Using the default SCA binding of that configuration seems to always use 
the 

> wrapper (document/literal) mode. This is not a large issue, as my code can 


> be modified to conform to its standards. If there is some other way to 
have 

> the services register within the domain that I have not seen, that 

> information would be appreciated.

> 

> Thanks

> 

> Bentley

> 

> -Original Message-

> 

> From: "Simon Laws" <[EMAIL PROTECTED]>

> 

> To: tuscany-user@ws.apache.org

> 

> Date: Thu, 22 Nov 2007 11:28:24 +

> 

> Subject: Re: SCA & WS Binding Wrapper Style

> 

> 

> 

> 

> Hi Bentley

> 

> 

> 

> Some comments/questions below

> 

> 

> 

> Regards

> 

> 

> 

> Simon

> 

> 

> 

> On Nov 21, 2007 7:04 PM, Bentley Johnson <[EMAIL PROTECTED]> 
wrote:

> 

> 

> 

> 

>>It seems that both the default SCA binding for Remotable Interfaces and

> 

> 

>>the

> 

> 

>>basic WS binding are being restricted to the services following the

> 

> 

>>wrapper

> 

> 

> 

> 

> It certainly use doc/lit/wrapped by default and WSDL generated by Tuscany

> 

> Java2WSDL will use this style.  The SCA WebService spec says that, when 
the

> 

> web services binding points to separately authored WSDL files, it allows

> 

> anything that is valid in the WSDL binding. I can't guarantee that this

> 

> actually works at the moment as I would need to try it but the

> 

> specifications intention is that it is supported.

> 

> 

> 

> 

> 

>>style. This is being set within the

> 

> 

>>org.apache.tuscany.sca.binding.ws.axis2.Java2WSDLHelper class in the

> 

> 

>>createWSDLInterfaceContract method. From my understanding, this implies

> 

> 

>>that

> 

> 

>>all methods in the service must have a return type that is not void and

> 

> 

>>that

> 

> 

> 

> 

> You should be able to have a void return type. There is an itest that 
shows

> 

> an example (

> 

> 
http://svn.apache.org/repos/asf/incubator/tuscany/java/sca/itest/ws-void-args-return/
 
[http://svn.apache.org/repos/asf/incubator/tuscany/java/sca/itest/ws-void-args-return/]
 


> 
[http://svn.apache.org/repos/asf/incubator/tuscany/java/sca/itest/ws-void-args-return/
 
[http://svn.apache.org/repos/asf/incubator/tuscany/java/sca/itest/ws-void-args-return/]]

> 

> )

> 

> 

> 

> 

> 

>>overloaded methods are not allowed.

> 

> 

> 

> 

>  Do you mean WSDL operations with the same name but with different

> 

> parameters?

> 

> 

> 

> 

> 

>>Is there a way to set it to not use the wrapper style or is it just the

> 

> 

>>standard that is used by the SCA binding and must be followed?

> 

> 

> 

> 

> I think the intention is that any web services communications that go on

> 

> under Tuscany's control, e.g. where the remote version of the SCA binding 
is

> 

> in use, choose the doc/lit/wrapped style and stick with that. If 
alternative

> 

> styles are required then this would be configured using a

> 

> separately/manually authored WSDL to describe what style is required.  I

> 

> would imagine this would very likely to be the case if SCA is configured 
to

> 

> talk to web services that are provided by other, non-SCA, systems. Here 
you

> 

> would expect to be able to get the WSDL from the service provided. Do you

> 

> have a scenario that requires the use of something other than the

> 

> doc/lit/wrapped style in the case that one SCA component is talking to

> 

Re: SCA & WS Binding Wrapper Style

2007-11-26 Thread Bentley Johnson
Simon, 

Yes, it requires the removal of overloaded methods and I also have to change 
any java objects to be in a javabean format. Although, this would have to be 
done either way. Our system had some code which was not conformed to 
javabean style and since we are now converting to use Tuscany, it must be 
updated for the java object creation by tuscany.  I had thought that the 
non-void return type was an issue, but I tried the sample mentioned in the 
previous response and think it should work just fine.

There is also a different issue that I have discovered and was going to post 
about, but I was trying to check the old mailing lists first. I did not find 
it mentioned there. It seems that the the Transformer classes for converting 
to and from XML for both simple and javabean styled objects does not handle 
the inclusion of null values.  This includes both passing in a null as a 
parameter or returning null from a method.  Is this a desired/required 
situation that nulls can not be used? or is it a flaw in the conversion. The 
one exception where null values do process correctly are null Strings.  If 
this is a requirement, then I would also have to change logic in my system 
to work around not being able to use null values. This may be problematic. 

Thanks, Bentley



-Original Message-

From: Simon Nash <[EMAIL PROTECTED]>

To: tuscany-user@ws.apache.org

Date: Mon, 26 Nov 2007 21:56:55 +

Subject: Re: SCA & WS Binding Wrapper Style




Bentley,

What modifications are needed to your code to make it conform to the

doc/lit/wrapped standard?  Is this just the removal of overloaded

nethod names, or something else?



   Simon



Bentley Johnson wrote:



> Hello, thanks for the response and input.

> 

> One thing I realized was that I didn't make clear in my original post was 

> that I am working with the distributed domain/node system which seems to 
use 

> only the SCA binding by default with the Remotable annotation. This does 
not 

> allow me to use the WSDL configurations. This  assumption is based on the  


> sample distributed code and  testing I have attempted.

> 

> Using the default SCA binding of that configuration seems to always use 
the 

> wrapper (document/literal) mode. This is not a large issue, as my code can 


> be modified to conform to its standards. If there is some other way to 
have 

> the services register within the domain that I have not seen, that 

> information would be appreciated.

> 

> Thanks

> 

> Bentley

> 

> -Original Message-

> 

> From: "Simon Laws" <[EMAIL PROTECTED]>

> 

> To: tuscany-user@ws.apache.org

> 

> Date: Thu, 22 Nov 2007 11:28:24 +

> 

> Subject: Re: SCA & WS Binding Wrapper Style

> 

> 

> 

> 

> Hi Bentley

> 

> 

> 

> Some comments/questions below

> 

> 

> 

> Regards

> 

> 

> 

> Simon

> 

> 

> 

> On Nov 21, 2007 7:04 PM, Bentley Johnson <[EMAIL PROTECTED]> 
wrote:

> 

> 

> 

> 

>>It seems that both the default SCA binding for Remotable Interfaces and

> 

> 

>>the

> 

> 

>>basic WS binding are being restricted to the services following the

> 

> 

>>wrapper

> 

> 

> 

> 

> It certainly use doc/lit/wrapped by default and WSDL generated by Tuscany

> 

> Java2WSDL will use this style.  The SCA WebService spec says that, when 
the

> 

> web services binding points to separately authored WSDL files, it allows

> 

> anything that is valid in the WSDL binding. I can't guarantee that this

> 

> actually works at the moment as I would need to try it but the

> 

> specifications intention is that it is supported.

> 

> 

> 

> 

> 

>>style. This is being set within the

> 

> 

>>org.apache.tuscany.sca.binding.ws.axis2.Java2WSDLHelper class in the

> 

> 

>>createWSDLInterfaceContract method. From my understanding, this implies

> 

> 

>>that

> 

> 

>>all methods in the service must have a return type that is not void and

> 

> 

>>that

> 

> 

> 

> 

> You should be able to have a void return type. There is an itest that 
shows

> 

> an example (

> 

> 
http://svn.apache.org/repos/asf/incubator/tuscany/java/sca/itest/ws-void-args-return/
 
[http://svn.apache.org/repos/asf/incubator/tuscany/java/sca/itest/ws-void-args-return/]
 


> 
[http://svn.apache.org/repos/asf/incubator/tuscany/java/sca/itest/ws-void-args-return/
 
[http://svn.apache.org/repos/asf/incubator/tuscany/java/sca/itest/ws-void-args-return/]]

> 

> )

> 

> 

> 

> 

> 

>>overloaded methods are not allowed.

> 

> 

> 

> 

>  Do you mean WSDL operations with the same name but with different

> 

> parameters?

> 

> 

> 

> 

> 

>>Is there a way to set it to not use the wrapper style or is it just the

> 

> 

>>standard that is used by the SCA binding and must be followed?

> 

> 

> 

> 

> I think the intention is that any web services communications that go on

> 

> under Tuscany's control, e.g. where the remote version of the SCA binding 
is

> 

> in use, choose the doc/lit/wrapped style and stick w

Re: SCA & WS Binding Wrapper Style

2007-11-26 Thread Simon Nash

Bentley,
What modifications are needed to your code to make it conform to the
doc/lit/wrapped standard?  Is this just the removal of overloaded
nethod names, or something else?

  Simon

Bentley Johnson wrote:


Hello, thanks for the response and input.

One thing I realized was that I didn't make clear in my original post was 
that I am working with the distributed domain/node system which seems to use 
only the SCA binding by default with the Remotable annotation. This does not 
allow me to use the WSDL configurations. This  assumption is based on the  
sample distributed code and  testing I have attempted.


Using the default SCA binding of that configuration seems to always use the 
wrapper (document/literal) mode. This is not a large issue, as my code can 
be modified to conform to its standards. If there is some other way to have 
the services register within the domain that I have not seen, that 
information would be appreciated.


Thanks

Bentley

-Original Message-

From: "Simon Laws" <[EMAIL PROTECTED]>

To: tuscany-user@ws.apache.org

Date: Thu, 22 Nov 2007 11:28:24 +

Subject: Re: SCA & WS Binding Wrapper Style




Hi Bentley



Some comments/questions below



Regards



Simon



On Nov 21, 2007 7:04 PM, Bentley Johnson <[EMAIL PROTECTED]> wrote:





It seems that both the default SCA binding for Remotable Interfaces and




the




basic WS binding are being restricted to the services following the




wrapper





It certainly use doc/lit/wrapped by default and WSDL generated by Tuscany

Java2WSDL will use this style.  The SCA WebService spec says that, when the

web services binding points to separately authored WSDL files, it allows

anything that is valid in the WSDL binding. I can't guarantee that this

actually works at the moment as I would need to try it but the

specifications intention is that it is supported.






style. This is being set within the




org.apache.tuscany.sca.binding.ws.axis2.Java2WSDLHelper class in the




createWSDLInterfaceContract method. From my understanding, this implies




that




all methods in the service must have a return type that is not void and




that





You should be able to have a void return type. There is an itest that shows

an example (

http://svn.apache.org/repos/asf/incubator/tuscany/java/sca/itest/ws-void-args-return/ 
[http://svn.apache.org/repos/asf/incubator/tuscany/java/sca/itest/ws-void-args-return/]


)






overloaded methods are not allowed.





 Do you mean WSDL operations with the same name but with different

parameters?






Is there a way to set it to not use the wrapper style or is it just the




standard that is used by the SCA binding and must be followed?





I think the intention is that any web services communications that go on

under Tuscany's control, e.g. where the remote version of the SCA binding is

in use, choose the doc/lit/wrapped style and stick with that. If alternative

styles are required then this would be configured using a

separately/manually authored WSDL to describe what style is required.  I

would imagine this would very likely to be the case if SCA is configured to

talk to web services that are provided by other, non-SCA, systems. Here you

would expect to be able to get the WSDL from the service provided. Do you

have a scenario that requires the use of something other than the

doc/lit/wrapped style in the case that one SCA component is talking to

another SCA component with the same domain?







Thanks





-Bentley






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



Re: SCA & WS Binding Wrapper Style

2007-11-26 Thread Simon Laws
On Nov 26, 2007 8:58 PM, Bentley Johnson <[EMAIL PROTECTED]> wrote:

> Hello, thanks for the response and input.
>
> One thing I realized was that I didn't make clear in my original post was
> that I am working with the distributed domain/node system which seems to
> use
> only the SCA binding by default with the Remotable annotation. This does
> not
> allow me to use the WSDL configurations. This  assumption is based on the
> sample distributed code and  testing I have attempted.
>
> Using the default SCA binding of that configuration seems to always use
> the
> wrapper (document/literal) mode. This is not a large issue, as my code can
> be modified to conform to its standards. If there is some other way to
> have
> the services register within the domain that I have not seen, that
> information would be appreciated.
>
> Thanks
>
> Bentley
>
> -Original Message-
>
> From: "Simon Laws" <[EMAIL PROTECTED]>
>
> To: tuscany-user@ws.apache.org
>
> Date: Thu, 22 Nov 2007 11:28:24 +
>
> Subject: Re: SCA & WS Binding Wrapper Style
>
>
>
>
> Hi Bentley
>
>
>
> Some comments/questions below
>
>
>
> Regards
>
>
>
> Simon
>
>
>
> On Nov 21, 2007 7:04 PM, Bentley Johnson <[EMAIL PROTECTED]>
> wrote:
>
>
>
> > It seems that both the default SCA binding for Remotable Interfaces and
>
> > the
>
> > basic WS binding are being restricted to the services following the
>
> > wrapper
>
>
>
> It certainly use doc/lit/wrapped by default and WSDL generated by Tuscany
>
> Java2WSDL will use this style.  The SCA WebService spec says that, when
> the
>
> web services binding points to separately authored WSDL files, it allows
>
> anything that is valid in the WSDL binding. I can't guarantee that this
>
> actually works at the moment as I would need to try it but the
>
> specifications intention is that it is supported.
>
>
>
> >
>
> > style. This is being set within the
>
> > org.apache.tuscany.sca.binding.ws.axis2.Java2WSDLHelper class in the
>
> > createWSDLInterfaceContract method. From my understanding, this implies
>
> > that
>
> > all methods in the service must have a return type that is not void and
>
> > that
>
>
>
> You should be able to have a void return type. There is an itest that
> shows
>
> an example (
>
>
> http://svn.apache.org/repos/asf/incubator/tuscany/java/sca/itest/ws-void-args-return/
> [
> http://svn.apache.org/repos/asf/incubator/tuscany/java/sca/itest/ws-void-args-return/
> ]
>
> )
>
>
>
> >
>
> > overloaded methods are not allowed.
>
>
>
>  Do you mean WSDL operations with the same name but with different
>
> parameters?
>
>
>
> >
>
> > Is there a way to set it to not use the wrapper style or is it just the
>
> > standard that is used by the SCA binding and must be followed?
>
>
>
> I think the intention is that any web services communications that go on
>
> under Tuscany's control, e.g. where the remote version of the SCA binding
> is
>
> in use, choose the doc/lit/wrapped style and stick with that. If
> alternative
>
> styles are required then this would be configured using a
>
> separately/manually authored WSDL to describe what style is required.  I
>
> would imagine this would very likely to be the case if SCA is configured
> to
>
> talk to web services that are provided by other, non-SCA, systems. Here
> you
>
> would expect to be able to get the WSDL from the service provided. Do you
>
> have a scenario that requires the use of something other than the
>
> doc/lit/wrapped style in the case that one SCA component is talking to
>
> another SCA component with the same domain?
>
>
>
> >
>
> >
>
> > Thanks
>
> >
>
> > -Bentley
>
> >
>
> >
>
> >
>
> >
>
>
> Hi Bentley

Yes, you are right. The mechanism for automatically locating services in a
domain and providing the correct wiring endpoints for release 1.0 does rely
on using the default SCA binding. When used remotely the default SCA binding
relies on web services and generates,  on the fly, all the necessary
information to make the end to end connections work. This of course involves
making some assumptions, one of which is the use of the doc/literal/wrapped
style.

When you are talking to web services outside of SCA you can of course use
binding.ws and specify the WSDL of your choice.

Recently I added some code to the node implementation in subversion trunk to
make the automatic lookup of node endpoints work for other types of bindings
also but it's not well tested yet. I'm currently filling out more of the
domain functions and this is one of the parts of the jigsaw which I'm
circling back round to complete.

The assumption I'm making from the info you gave is that you want to have
two SCA components communicate with the same domain but be able to specify
the WSDL that the web services binding uses.  I guess what you would need to
be able to do is specify a binding something like




   http://tuscany.apache.org#wsdl.binding(MyServiceSOAP11Binding)"/>

etc..

Where you are referencing a WSDL b

Re: SCA & WS Binding Wrapper Style

2007-11-26 Thread Bentley Johnson
Hello, thanks for the response and input.

One thing I realized was that I didn't make clear in my original post was 
that I am working with the distributed domain/node system which seems to use 
only the SCA binding by default with the Remotable annotation. This does not 
allow me to use the WSDL configurations. This  assumption is based on the  
sample distributed code and  testing I have attempted.

Using the default SCA binding of that configuration seems to always use the 
wrapper (document/literal) mode. This is not a large issue, as my code can 
be modified to conform to its standards. If there is some other way to have 
the services register within the domain that I have not seen, that 
information would be appreciated.

Thanks

Bentley

-Original Message-

From: "Simon Laws" <[EMAIL PROTECTED]>

To: tuscany-user@ws.apache.org

Date: Thu, 22 Nov 2007 11:28:24 +

Subject: Re: SCA & WS Binding Wrapper Style




Hi Bentley



Some comments/questions below



Regards



Simon



On Nov 21, 2007 7:04 PM, Bentley Johnson <[EMAIL PROTECTED]> wrote:



> It seems that both the default SCA binding for Remotable Interfaces and

> the

> basic WS binding are being restricted to the services following the

> wrapper



It certainly use doc/lit/wrapped by default and WSDL generated by Tuscany

Java2WSDL will use this style.  The SCA WebService spec says that, when the

web services binding points to separately authored WSDL files, it allows

anything that is valid in the WSDL binding. I can't guarantee that this

actually works at the moment as I would need to try it but the

specifications intention is that it is supported.



>

> style. This is being set within the

> org.apache.tuscany.sca.binding.ws.axis2.Java2WSDLHelper class in the

> createWSDLInterfaceContract method. From my understanding, this implies

> that

> all methods in the service must have a return type that is not void and

> that



You should be able to have a void return type. There is an itest that shows

an example (

http://svn.apache.org/repos/asf/incubator/tuscany/java/sca/itest/ws-void-args-return/
 
[http://svn.apache.org/repos/asf/incubator/tuscany/java/sca/itest/ws-void-args-return/]

)



>

> overloaded methods are not allowed.



 Do you mean WSDL operations with the same name but with different

parameters?



>

> Is there a way to set it to not use the wrapper style or is it just the

> standard that is used by the SCA binding and must be followed?



I think the intention is that any web services communications that go on

under Tuscany's control, e.g. where the remote version of the SCA binding is

in use, choose the doc/lit/wrapped style and stick with that. If alternative

styles are required then this would be configured using a

separately/manually authored WSDL to describe what style is required.  I

would imagine this would very likely to be the case if SCA is configured to

talk to web services that are provided by other, non-SCA, systems. Here you

would expect to be able to get the WSDL from the service provided. Do you

have a scenario that requires the use of something other than the

doc/lit/wrapped style in the case that one SCA component is talking to

another SCA component with the same domain?



>

>

> Thanks

>

> -Bentley

>

>

>

>