Tomcat works fine, I have deployed my service and I can list it, but it
doesn't work.
I can't run any of the examples that come with SOAP, too :-(
Always there is one 'NoSuchMethodError' error or another.
Xerces.jar is first on Classpath, with and without Tomcat.
Any help would be greatly appreciated.
Stephan
Xerces: 1.4.2
SOAP: 2.2
Tomcat 3.2.3
Exception in thread "main" java.lang.NoSuchMethodError
at org.apache.soap.util.xml.QName.<init>(QName.java:80)
at org.apache.soap.util.xml.QName.matches(QName.java:146)
at org.apache.soap.Envelope.unmarshall(Envelope.java:237)
at org.apache.soap.rpc.Call.invoke(Call.java:230)
at Client.main(Client.java:25)
The Code is a snippet from
http://www-106.ibm.com/developerworks/library/ws-peer2/#f1
import java.net.*;
import java.util.*;
import org.apache.soap.*; // Body, Envelope, Fault, Header
import org.apache.soap.rpc.*; // Call, Parameter, Response
public class Client
{
public static void main( String[] args ) throws Exception
{
URL url = new URL( "http://localhost:8000/soap/servlet/rpcrouter" );
String urn = "urn:demo1:exchange";
Call call = new Call(); // prepare the service invocation
call.setTargetObjectURI( urn );
call.setMethodName( "getRate" );
call.setEncodingStyleURI( Constants.NS_URI_SOAP_ENC );
Vector params = new Vector();
params.addElement( new Parameter( "country1", String.class, "USA",
null ) );
params.addElement( new Parameter( "country2", String.class, "japan",
null ) );
call.setParams( params );
try
{
System.out.println( "invoke service\n" + " URL= " + url + "\n URN
=" + urn );
System.out.println("Aktueller Stand:\n"+call.toString());
Response response = call.invoke( url, "" ); // invoke the service