Thanks Ant,
I have composed client for WS Here is the snippet of the client....
-------------------------------------------------------------------------------------------------------------------------
public class HelloWorldClientImpl {
@Reference
protected HelloWorldService serviceA;
public String sayHello(String name) {
System.out.println("HelloWorldClientImpl.serviceA = "+serviceA);
return serviceA.sayHello(name);
}
}
-------------------------------------------------------------------------------------------------------------------------
@Remotable
public interface HelloWorldService {
String sayHello(String name);
}
-------------------------------------------------------------------------------------------------------------------------
public class JMSClient {
public static void main(String[] args) throws NodeException {
SCANode node = SCANodeFactory.createNodeWithComposite("client.composite");
HelloWorldClientImpl client =
node.getDomain().getService(HelloWorldClientImpl.class, "HelloWorldClient");
System.out.println(client.sayHello("World"));
}
}
-------------------------------------------------------------------------------------------------------------------------
<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
name="RPCComposite">
<component name="HelloWorldClient">
<implementation.java class="helloworld.HelloWorldClientImpl"/>
<reference name="serviceA" />
</component>
<reference name="serviceA" promote="HelloWorldClient/serviceA">
<interface.java interface="helloworld.HelloWorldService" />
<binding.jms
initialContextFactory="com.ibm.websphere.naming.WsnInitialContextFactory"
jndiURL="iiop://localhost:2809">
<destination name="HelloWorldService"/>
<response>
<destination name="HelloWorldService"/>
</response>
</binding.jms>
</reference>
</composite>
-------------------------------------------------------------------------------------------------------------------------
jndi.properties
# START SNIPPET: jndi
java.naming.factory.initial =
com.ibm.websphere.naming.WsnInitialContextFactory
# use the following property to configure the default connector
java.naming.provider.url = vm://localhost?broker.persistent=false
# use the following property to specify the JNDI name the connection factory
# should appear as.
#connectionFactoryNames = connectionFactory, queueConnectionFactory,
topicConnectionFactry
connectionFactoryNames = ConnectionFactory
# register some queues in JNDI using the form
# queue.[jndiName] = [physicalName]
# queue.RequestQueue = RequestQueue
# queue.ResponseQueue = ResponseQueue
queue.HelloWorldService = HelloWorldService
# register some topics in JNDI using the form
# topic.[jndiName] = [physicalName]
#topic.MyTopic = example.MyTopic
# END SNIPPET: jndi
Here Service is deployed successfuly, i can test with hello.jsp....It was
working fine in WS.
Now when i run above code I m getting "HelloWorldClientImpl.serviceA = null"
and gettign NPE....
I m using "HelloWorldService" for both Request and Response queue...
any idea ?
Thanks
Nishant Joshi