Your
email description says you're calling a "server" named magic, but in the code
you set the service operation name (eg, RPC method name) to "magic". Are
you sure that operation shouldn't be something like:
call.setOperationName(new QName("http://soapinterop.org/",
"echoString"));
-----Original Message-----I've looked thru archives and see quite a few questions about compatibility with gSoap and not too many answers to the questions. I am using Axis 1.1 RC 1 and gSoap 2.2.2, trying to call the example gSoap server named "magic" from vanilla java code (below). I have verified the server responds using a gSoap client, but cannot get my Axis client to work with it. The error I get back is "Method 'ns1:magic' not implemented".
From: Joe Johannsen [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, February 19, 2003 3:37 PM
To: [EMAIL PROTECTED]
Subject: calling gSoap server from Axis client - "method not implemented" error
Questions:
1. How compatible are Axis and gSoap?
2. why doesn't it work? How can I look more deeply at this problem?
3. As a newbie to Axis I could also use tips on where I can read something in detail on QName() - I don't have an understanding of what that is doing or why http://soapinterop.org is referenced there.
Thanks,
Joe
-----------------------------------------------------------
TestClient.java:
-----------------------------------------------------------
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import javax.xml.namespace.QName;
public class TestClient {
public static void main(String [] args) {
try {
String endpoint =
"http://192.168.0.2:2222";
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress( new java.net.URL(endpoint) );
call.setOperationName(new QName("http://soapinterop.org/", "magic"));
String ret = (String) call.invoke( new Object[] { "4" } );
System.out.println("Sent '4', got '" + ret + "'");
} catch (Exception e) {
System.err.println(e.toString());
}
}
}
