Java 使用eclipse和Axis2生成第一个web服务客户端的问题
我精确地遵循了每个步骤(除了跳过步骤4,因为我现在只想让它在eclipse中工作) 我很小心地使用了每一个软件的精确版本(EclipseHelios、Axis2 1.5.2等)。我在MacOSX10.7.5上运行这个,现在在windows上运行,就像在教程中一样 无论如何,在第5步创建测试客户机之前,一切都很顺利。我能够通过向导创建客户端——但前提是我将其指向以下URL:Java 使用eclipse和Axis2生成第一个web服务客户端的问题,java,eclipse,axis2,Java,Eclipse,Axis2,我精确地遵循了每个步骤(除了跳过步骤4,因为我现在只想让它在eclipse中工作) 我很小心地使用了每一个软件的精确版本(EclipseHelios、Axis2 1.5.2等)。我在MacOSX10.7.5上运行这个,现在在windows上运行,就像在教程中一样 无论如何,在第5步创建测试客户机之前,一切都很顺利。我能够通过向导创建客户端——但前提是我将其指向以下URL: localhost:8080/MyFirstWebService/services/FirstWebSertice?wsdl
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生成代码。FirstWebServiceLocator
是由Axis 1.x生成的类,但是本教程中的代码需要Axis2生成的代码。URLhttp://localhost:8080/axis2/services/FirstWebService?wsdl
将由本教程步骤4中安装的服务处理。由于您跳过了该步骤,URL将无法工作
在正常的tomcat行为下,URL的“/axis2”部分引用部署在tomcat中的特定web应用程序(WAR文件)。在本例中,从tomcat的角度来看,web应用程序是axis2.war
URL的“services/FirstWebSertice”部分引用在Axis2环境中运行的特定Axis2服务(AAR文件)
正如@andreas Veias所指出的,ProjectExplorer映像中的样板java类似乎是由Axis而不是Axis2生成的。Axis和Axis2实际上是两个不同的web服务库;一个不仅仅是另一个的更新版本。似乎您使用了错误的代码生成器来生成这些类。URL
http://localhost:8080/axis2/services/FirstWebService?wsdl
将由本教程步骤4中安装的服务处理。由于您跳过了该步骤,URL将无法工作
在正常的tomcat行为下,URL的“/axis2”部分引用部署在tomcat中的特定web应用程序(WAR文件)。在本例中,从tomcat的角度来看,web应用程序是axis2.war
URL的“services/FirstWebSertice”部分引用在Axis2环境中运行的特定Axis2服务(AAR文件)
正如@andreas Veias所指出的,ProjectExplorer映像中的样板java类似乎是由Axis而不是Axis2生成的。Axis和Axis2实际上是两个不同的web服务库;一个不仅仅是另一个的更新版本。似乎您使用了错误的代码生成器来生成这些类