Hi
I cannot understand what this error message trying to tell me? It is a run time error message.
<faultstring>SOAPException( Server.generalException: Tried to invoke method public java.lang.String[] AddFinder.process(java.lang.String) throws java.lang.Exception with arguments java.lang.String. The arguments do not match the signature.; nested exception is:
java.lang.IllegalArgumentException: java.lang.ClassCastException@ec9441 )<faultstring>
I think I understand the classCastException part eg.
Object o = new Integer (42);
String s = o; //ERROR
But do not fully understand….. “throws java.lang.Exception with arguments java.lang.String. The arguments do not match the signature.; nested exception is:”
I am binding to a AddFinder object remotely and then calling the method process(String s) defined in the AddFinder interface (at the bottom of email).
This works fine when calling on its own in a separate class, but what I am attempting is to call the AddFinder.process() method within another service.
Eg combining two web services to produce a third web service with different functionality.
address = (IAddFinder) Registry.bind(addressWSDL, IAddFinder.class); // The first argument (addressWSDL) is a URL to the remote service.
The other service…. “gridref = (IGridRef) Registry.bind(gridrefWSDL, IGridRef.class);” ( my own service) works fine..
This is the class the exception above is generated from …………………………
package project.addy;
import electric.registry.*;
public class FromA2B implements IFromA2B
{
IAddFinder address = null; // remote service for full address
IGridRef gridref = null; // myservice for grid reference info
// Constructor
public FromA2B(String addressWSDL, String gridrefWSDL) throws RegistryException
{
address = (IAddFinder) Registry.bind(addressWSDL, IAddFinder.class);
gridref = (IGridRef) Registry.bind(gridrefWSDL, IGridRef.class);
}
public String getDistance(String a)
{
String[] f = address.process(a); // ERROR HERE
String pcf = gridref.getReference(a);
String result = f[0] + " "+ pcf;
return result:
}
This is the interface for the AddFinder …………………………..
// generated by GLUE Professional 4.1.2 (wsdl2java) on Mon Mar 08 12:05:34 GMT 2004
package project.addy;
public interface IAddFinder
{
String[] process( String s );
}
Thanks Keith
I cannot understand what this error message trying to tell me? It is a run time error message.
<faultstring>SOAPException( Server.generalException: Tried to invoke method public java.lang.String[] AddFinder.process(java.lang.String) throws java.lang.Exception with arguments java.lang.String. The arguments do not match the signature.; nested exception is:
java.lang.IllegalArgumentException: java.lang.ClassCastException@ec9441 )<faultstring>
I think I understand the classCastException part eg.
Object o = new Integer (42);
String s = o; //ERROR
But do not fully understand….. “throws java.lang.Exception with arguments java.lang.String. The arguments do not match the signature.; nested exception is:”
I am binding to a AddFinder object remotely and then calling the method process(String s) defined in the AddFinder interface (at the bottom of email).
This works fine when calling on its own in a separate class, but what I am attempting is to call the AddFinder.process() method within another service.
Eg combining two web services to produce a third web service with different functionality.
address = (IAddFinder) Registry.bind(addressWSDL, IAddFinder.class); // The first argument (addressWSDL) is a URL to the remote service.
The other service…. “gridref = (IGridRef) Registry.bind(gridrefWSDL, IGridRef.class);” ( my own service) works fine..
This is the class the exception above is generated from …………………………
package project.addy;
import electric.registry.*;
public class FromA2B implements IFromA2B
{
IAddFinder address = null; // remote service for full address
IGridRef gridref = null; // myservice for grid reference info
// Constructor
public FromA2B(String addressWSDL, String gridrefWSDL) throws RegistryException
{
address = (IAddFinder) Registry.bind(addressWSDL, IAddFinder.class);
gridref = (IGridRef) Registry.bind(gridrefWSDL, IGridRef.class);
}
public String getDistance(String a)
{
String[] f = address.process(a); // ERROR HERE
String pcf = gridref.getReference(a);
String result = f[0] + " "+ pcf;
return result:
}
This is the interface for the AddFinder …………………………..
// generated by GLUE Professional 4.1.2 (wsdl2java) on Mon Mar 08 12:05:34 GMT 2004
package project.addy;
public interface IAddFinder
{
String[] process( String s );
}
Thanks Keith