I am attempting to write a stand-alone JUnit test to invoke and validate a web 
service I have running in JBoss 4.0.4GA (JDK 5).  According to 
http://labs.jboss.com/portal/jbossws/user-guide/en/html/clients.html all I need 
to do is use this:
public void testEchoString() throws Exception
  |    {
  |       ServiceFactoryImpl factory = new ServiceFactoryImpl();
  |       Service service = factory.createService(new 
QName("ANY_SERVICE_NAME"));
  | 
  |       Call call = service.createCall();
  |       call.setOperationName(new QName(TARGET_NAMESPACE, "echoString"));
  |       call.addParameter("String_1", Constants.TYPE_LITERAL_STRING, 
ParameterMode.IN);
  |       call.addParameter("String_2", Constants.TYPE_LITERAL_STRING, 
ParameterMode.IN);
  |       call.setReturnType(Constants.TYPE_LITERAL_STRING);
  | 
  |       call.setTargetEndpointAddress(TARGET_ENDPOINT_ADDRESS);
  | 
  |       String hello = "Hello";
  |       String world = "world!";
  |       Object retObj = call.invoke(new Object[]{hello, world});
  |       assertEquals(hello + world, retObj);
  |    }

However, the "echoString" service takes simple String objects as input and my 
service takes a custom object.  I have tried modifying the code to use my 
object but I am getting an exception.  Here is my code:

  | public void testEchoString() throws Exception {
  |         ServiceFactoryImpl factory = new ServiceFactoryImpl();
  |         Service service = factory.createService(new QName("JBossTest2"));
  | 
  |         Call call = service.createCall();
  |         call.setOperationName(new 
QName("http://us.mycompany.com/jbosstest2/1.0";, "prescreen"));
  |         call.addParameter("JBossTest2Request", new 
QName("JBossTest2Request"), ParameterMode.IN);
  |         call.setReturnType(new 
QName("com.mycompany.us.test.JBossTest2Reply"));
  | 
  |         
call.setTargetEndpointAddress("http://jbertr1005:8080/jbosstest2/1.0";);
  | 
  |         String hello = "Hello";
  |         String world = "world!";
  |         Object retObj = call.invoke(new Object[] { new JBossTest2Request() 
});
  |         assertEquals(hello + world, retObj);
  |     }
  | 

And here is the exception I am receiving:


  | java.lang.IllegalArgumentException: Invalid null parameter
  |     at org.jboss.ws.jaxrpc.CallImpl.setReturnType(CallImpl.java:349)
  |     at org.jboss.ws.jaxrpc.CallImpl.setReturnType(CallImpl.java:341)
  |     at 
com.mycompany.us.test.ws.WSTestCase.testEchoString(WSTestCase.java:51)
  |     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 junit.framework.TestCase.runTest(TestCase.java:154)
  |     at junit.framework.TestCase.runBare(TestCase.java:127)
  |     at junit.framework.TestResult$1.protect(TestResult.java:106)
  |     at junit.framework.TestResult.runProtected(TestResult.java:124)
  |     at junit.framework.TestResult.run(TestResult.java:109)
  |     at junit.framework.TestCase.run(TestCase.java:118)
  |     at junit.framework.TestSuite.runTest(TestSuite.java:208)
  |     at junit.framework.TestSuite.run(TestSuite.java:203)
  |     at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:478)
  |     at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:344)
  |     at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
  | 
  | 

How do I get a simple DII client to invoke a web service that uses custom 
objects for input and output?

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3947756#3947756

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3947756


-------------------------------------------------------
All the advantages of Linux Managed Hosting--Without the Cost and Risk!
Fully trained technicians. The highest number of Red Hat certifications in
the hosting industry. Fanatical Support. Click to learn more
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=107521&bid=248729&dat=121642
_______________________________________________
JBoss-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to