Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Westi on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

I cannot understand what this error message trying to tell me?

Status
Not open for further replies.

kb365

Programmer
Mar 8, 2004
1
GB
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

 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top