我遵循this tutorial的每一步准确地说(除了跳过第 4 步,因为我现在只想让它在 Eclipse 中工作)。
我小心翼翼地使用每个软件的确切版本(eclipse helios、axis 2 1.5.2 等)。我在 mac os x 10.7.5 上运行它,现在在 Windows 上运行,就像教程中一样。
无论如何,一切都很顺利,直到第 5 步我去创建测试客户端。我能够通过向导创建客户端——但前提是我将其指向以下 URL:
localhost:8080/MyFirstWebService/services/FirstWebSertice?wsdl
而不是教程中的这个
http://localhost:8080/axis2/services/FirstWebService?wsdl
之后,它不会生成两个名为 FirstWebServiceStub.java 和 FirstWebServiceCallbackHandler.java 的类,而是生成如下图所示的几个类。
这是一个重大差异吗?我做错了什么吗?我应该如何翻译教程中的代码以使其与生成的类一起使用?
package com.sencide;
import java.rmi.RemoteException;
import com.sencide.FirstWebServiceStub.AddTwoNumbers;
import com.sencide.FirstWebServiceStub.AddTwoNumbersResponse;
public class TestClient {
public static void main(String[] args) throws RemoteException {
FirstWebServiceStub stub = new FirstWebServiceStub();
AddTwoNumbers atn = new AddTwoNumbers();
atn.setFirstNumber(5);
atn.setSecondNumber(7);
AddTwoNumbersResponse res = stub.addTwoNumbers(atn);
System.out.println(res.get_return());
}
}
最佳答案
FirstWebServiceLocator
是由 Axis 1.x 生成的类,但教程中的代码需要由 Axis2 生成的代码。
关于java - 使用 eclipse 和 axis 2 生成第一个 Web 服务客户端时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15626371/