• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

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

 
Greenhorn
Posts: 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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);
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
reply
    Bookmark Topic Watch Topic
  • New Topic