You are viewing a plain text version of this content. The canonical link for it is here.
Posted to soap-dev@xml.apache.org by Rocky Raccoon <rr...@bigfoot.com> on 2000/09/22 02:22:55 UTC

"no signature match" Fault

Hi,
    I have Deployed a Soap Service using Tomcat.
This is the DeploymentDescriptor.
<isd:service xmlns:isd="http://xml.apache.org/xml-soap/deployment"
     id="urn:dst" >
<isd:provider type="java"
     scope = "Application"
     methods="func1 funct2">
<isd:java class="MySoap" static="false"/>
</isd:provider>
</isd:service>

In my SoapService I have these methods func1 & func2
 public String func1(Integer val);
 public String func2(String val);

I build a call this way.
  String encodingStyleURI = Constants.NS_URI_SOAP_ENC;

  BeanSerializer beanSer = new BeanSerializer();

  // Build the call.
  Call call = new Call();
  call.setTargetObjectURI("urn:dst");
  call.setMethodName("func1");
  call.setEncodingStyleURI(encodingStyleURI);

  Vector params = new Vector();
  Integer i = new Integer(101);

  params.addElement(new Parameter("val", Integer.class,i, null));


  call.setParams(params);

  Response resp = null;
  String strOut = null;

  try
  {
   resp = call.invoke(url, "");
  }
  catch (SOAPException e)
  {
    // Process Exception
  }

  // Check the response.

  if (!resp.generatedFault())
  {
   Parameter ret = resp.getReturnValue();
   Object value = ret.getValue();
   strOut = value != null ? "\n" + value : null ;
  }
  else
  {
   Fault fault = resp.getFault();
   strOut =new String("Generated fault: ")
      + "  Fault Code   = " + fault.getFaultCode()
      + "  Fault String = " + fault.getFaultString();
  }



Calling func1 generates this Fault.
Fault Code   = SOAP-ENV:Server  Fault String = MySoap.func1(int) -- no
signature match

The other function func2 gets called properly.
Any idea what I am doing wrong ?

--
rgds
http://www.bigfoot.com/~rrocky/