axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rhimbo <rhi...@yahoo.com>
Subject No parameters specified to the Call object! You must call addParameter() ...
Date Wed, 19 Apr 2006 00:06:25 GMT
Folks,

Has no one encountered this problem calling a service end point that
takes no arguments??  

Here is the code called from my DII client:


    try
      {
	Service service = new org.apache.axis.client.Service();
	Call call = (Call) service.createCall();

	URL endpointURL = new URL(sessionEndpoint);
	call.setTargetEndpointAddress(endpointURL);

	QName opQName = new QName(sessionEndpoint, "returnSession");

	call.setOperationName("returnSession");
	call.removeAllParameters();

	QName returnType = new QName(sessionEndpoint, 
                                     "PlayerSession");
	Class cl = PlayerSession.class; 

	BeanSerializerFactory bsf = 
	  new BeanSerializerFactory(cl, returnType);
	BeanDeserializerFactory bdf = 
	  new BeanDeserializerFactory(cl, returnType);

	call.registerTypeMapping(cl, returnType, bsf, bdf);
  	call.setReturnType(new QName("PlayerSession"));
  	

	Object [] args = new Object [] {1}; 


	// How to invoke when there are no arguments? 
	Object result = call.invoke(args);

      }
    catch (Exception ex)
      {
	System.out.println(ex.getMessage());
	ex.printStackTrace();
      }
  


Here is the exception I get:

No parameters specified to the Call object!  You must call addParameter()
for all parameters if you have called setReturnType().
AxisFault
 faultCode:
{http://schemas.xmlsoap.org/soap/envelope/}Server.generalException
 faultSubcode:
 faultString: No parameters specified to the Call object!  You must call
addParameter() for all parameters if you have called setReturnType().
 faultActor:
 faultNode:
 faultDetail:
        {http://xml.apache.org/axis/}stackTrace:No parameters specified
to the Call object!  You must call addParameter() for all parameters if
you have called setReturnType().


But if I make the call using the "void Call.invoke()" API with no 
args like this:

     call.invoke()

I get this exception:

java.lang.NullPointerException
        at org.apache.axis.client.Call.invoke(Call.java:2695)
        at FamilyJaxClient.returnSession(FamilyJaxClient.java:392)
        at FamilyJaxClient.run(FamilyJaxClient.java:43)
        at FamilyJaxClient.main(FamilyJaxClient.java:461)



I found the following link on an Apache developer list mail archive.

http://mail-archives.apache.org/mod_mbox/ws-axis-dev/200203.mbox/%3C20020315171552.73661.qmail@icarus.apache.org%3E

Can't tell if the exchange means this is a bug?  


So how do you call a web service that takes no arguments?  

Thanks,

Vartan




__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

Mime
View raw message