若Hello.java是个接口,HelloImpl.java实现了Hello.java。举一反三(HelloImple.java调用了其他包下的类。又怎么办呢)
Hello.java
package com.bing.inter;
public interface Hello {
public String sayHello(String name);
}
HelloImpl.java (注意没有包名)
import com.bing.inter.Hello;
public class HelloImpl implements Hello {
@Override
public String sayHello(String name) {
return "你好,"+name;
}
}
以上我都是在eclipse下编写的代码
把HelloImpl.java复制到webapps/axis/目录下。重名名HelloImpl.jws。
然后把eclipse的build/classes的包含Hello.class的包目录 复制到webapps/axis/WEB-INF/classes中。
启动tomcat,输入http://localhost:9080/axis/HelloImpl.jws?wsdl。是否发布成功。
测试端代码:
package com.bing.test;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
public class TestHello1 {
public static void main(String[] args) {
Service service=new Service();
String url="http://localhost:9080/axis/HelloImpl.jws?wsdl";
try {
Call call=(Call)service.createCall();
call.setTargetEndpointAddress(url);
call.setOperation("sayHello");
Object[] input=new Object[]{"大兵哥"};
String result=(String) call.invoke(input);
System.out.println(result);
} catch (Exception e) {
e.printStackTrace();
}
}
}
你好,大兵哥