Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用eclipse和Axis2生成第一个web服务客户端的问题_Java_Eclipse_Axis2 - Fatal编程技术网

Java 使用eclipse和Axis2生成第一个web服务客户端的问题

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

我精确地遵循了每个步骤(除了跳过步骤4,因为我现在只想让它在eclipse中工作)

我很小心地使用了每一个软件的精确版本(EclipseHelios、Axis2 1.5.2等)。我在MacOSX10.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生成代码。

FirstWebServiceLocator
是由Axis 1.x生成的类,但是本教程中的代码需要Axis2生成的代码。

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服务库;一个不仅仅是另一个的更新版本。似乎您使用了错误的代码生成器来生成这些类。

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服务库;一个不仅仅是另一个的更新版本。似乎您使用了错误的代码生成器来生成这些类