Uploaded image for project: 'Axis'
  1. Axis
  2. AXIS-2830

javax.xml.rpc.JAXRPCException??????

    XMLWordPrintableJSON

Details

    • Wish
    • Status: Resolved
    • Critical
    • Resolution: Invalid
    • None
    • None
    • None
    • Apache Tomcat 6.0, Axis 1.4, Eclipse, Windows XP

    Description

      I have deployed a simple web service using Apache Tomcat 6.0 and Axis 1.4 in Windows XP. Now the server is very simple:
      [code]
      import java.io.*;
      import java.util.*;

      /*
      HelloWorld.java
      This is our web service
      */
      public class HelloWorld
      {
      public String getHelloWorld(String id)
      {
      String retName="";

      try

      { File indexFile = new File("index.txt"); retName=indexFile.getAbsolutePath()+id; }

      catch(Exception e)

      { e.printStackTrace(); }

      return retName;
      }
      }
      [/code]
      Now if the client doesn't send any parameters then everything works well (I am using Eclipse to run the client). But as sson as I try to send a parameter to the server, I get the following error:

      "javax.xml.rpc.JAXRPCException: Number of parameters passed in (0) doesn't match the number of IN/INOUT parameters (1) from the addParameter() calls"

      Why is this happening??? My client is also very simple:
      [code]
      package dummyC;
      import java.util.*;
      import org.apache.axis.client.Call;
      import org.apache.axis.client.Service;
      import org.apache.axis.encoding.XMLType;
      import org.apache.axis.utils.Options;
      import javax.xml.namespace.QName;
      import javax.xml.rpc.ParameterMode;
      import javax.xml.rpc.*;

      public class DummyC {

      /**

      • @param args
        */
        public static void main(String[] args)
        {
        try
        {

      Service service = new Service();
      Call call = (Call)service.createCall();
      String endpoint ="http://localhost:8081/axis/HelloWorld.jws";
      call.setTargetEndpointAddress(new java.net.URL(endpoint));
      call.setOperationName(new QName("getHelloWorld"));

      call.addParameter("param1",XMLType.XSD_STRING, ParameterMode.IN);
      String output = (String)call.invoke(new Object[]{});
      System.out.println("Got result : " + output);
      }
      catch(Exception e)

      { System.out.print("sssss: "+e.toString()); }

      }

      }
      [/code]

      Please guys, I need to solve this problem with in the next couple of days.

      Bye.

      Attachments

        Activity

          People

            Unassigned Unassigned
            asadfx asadfx
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: