Hi,

I need your help running this Axis code.
This is my java code :

import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;
import org.apache.axis.utils.Options;

public class CurrencyClientAxis
{
   public static void main(String [] args) throws Exception
   {
       Options options = new Options(args);

       String endpoint = "http://services.methodes.com:80/soap";;

       args = options.getRemainingArgs();

       if (args == null || args.length != 2) {
           System.err.println("Usage: CurrencyClientAxis ctry1 ctry2");
           return;
       }

       Service  service = new Service();
       Call     call    = (Call) service.createCall();

       call.setTargetEndpointAddress( new java.net.URL(endpoint) );
       call.setOperationName( "getRate" );
       call.addParameter( "country1", XMLType.XSD_STRING, Call.PARAM_MODE_IN );
       call.addParameter( "country2", XMLType.XSD_STRING, Call.PARAM_MODE_IN );

       Float ret = (Float) call.invoke( new Object [] { args[0], args[1] });

       System.out.println("Got result : " + ret);
   }
}

When I run it by invoking the java command ("java CurrencyClientAxis france
uk"),
I have the following errors :
Exception in thread "main" org.xml.sax.SAXException: Bad envelope namespace:
    at org.apache.axis.AxisFault.makeFault(AxisFault.java:106)
    at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:383)
    at org.apache.axis.client.Call.invoke(Call.java:1268)
    at org.apache.axis.client.Call.invoke(Call.java:1113)
    at org.apache.axis.client.Call.invoke(Call.java:1043)
    at org.apache.axis.client.Call.invoke(Call.java:1069)
    at org.apache.axis.client.Call.invoke(Call.java:674)
    at CurrencyClientAxis.main(CurrencyClientAxis.java:85)
Caused by: org.xml.sax.SAXException: Bad envelope namespace:
    at
org.apache.axis.message.EnvelopeBuilder.startElement(EnvelopeBuilder.java:108)
    at
org.apache.axis.encoding.DeserializationContext.startElement(DeserializationCont
ext.java:643)
    at
org.apache.xerces.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:
445)
    at
org.apache.xerces.impl.XMLNamespaceBinder.handleStartElement(XMLNamespaceBinder.
java:832)
    at
org.apache.xerces.impl.XMLNamespaceBinder.startElement(XMLNamespaceBinder.java:5
68)
    at
org.apache.xerces.impl.dtd.XMLDTDValidator.startElement(XMLDTDValidator.java:808
)
        ... 6 more

Here are my set-up :
1. I run that code from my PC, no server, no firewall.
2. the echo %JAVA_HOME% gives C:\j2sdk1.4.0
3. the echo %CLASSPATH% gives "."
4. I put axis.jar, clutil.jar, log4j.jar, wsdl4j.jar ( all jars from Axis ) into
my %JAVA_HOME%\jre\lib\ext
5. I put xercesImpl.jar and xmlParserAPIs.jar into my %JAVA_HOME%\jre\lib\ext

Any ideas ?

Thanks,
nusa

Reply via email to