2014-07-22 3 views
-1

VMware SDK 5.1을 사용하려고하는데 Java 코드 샘플이 제공됩니다.왜 "wsdl을 찾을 수 없습니다"오류가 발생합니까?

vim25.jar 파일은 vimService.wsdl 파일을 기반으로 Apache Axis에 의해 만들어진 jar 파일 인 것으로 보입니다.

프로젝트에 vim25.jar 파일이 포함 된 샘플 클래스를 사용하여 Eclipse 프로젝트를 만들었습니다. 내가 샘플 및 서버에 연결하는 시도를 실행하면

, 나는이 오류를 얻을 :

Exception in thread "main" javax.xml.ws.WebServiceException: Cannot find 'vimService.wsdl' wsdl. Place the resource correctly in the classpath.

내가 vimService.wsdl이 프로젝트에 의해 클래스 경로에 파일을 추가하는 시도를> 속성> 자바 빌드 경로 > Libaries와 그것을 거기에 두는 것.

나는 이클립스 프로젝트의 루트에 wsdl 파일을 복사하려고 시도했다. 프로젝트/src 폴더의 루트에 넣으려고했습니다. 그리고 Run> Run Configurations ... Classpath 탭을 통해 클래스 패스에 추가를 시도했습니다.

오류를 해결할 수 없습니다.

이 오류가 발생하는 이유와 Apache Axis 및 관련 wsdl에 의해 생성 된 jar 파일이 어떻게 작동해야하는지 이해하는 데 도움을 줄 수 있습니까?

감사합니다.

답변

0

질문을 본 후에 나는 Eclipse에서 샘플 프로젝트를 만들었습니다 (저는 vsphere python api로 작업 중입니다).

나는 Steve Jins VI Java 웹 사이트에서 vijava5120121125.zip을 다운로드했습니다. 우편 번호를 추출하고 두 개의 항아리가 있습니다 : dom4j-1.6.1.jarvijava5120121125.jar. 샘플 프로젝트의 Java 빌드 경로에 두 개의 jar를 추가했습니다. 그런 다음 Vi java 웹 사이트의 샘플을 실행하고 성공적으로 실행 중입니다.

import java.net.MalformedURLException; 
import java.net.URL; 
import java.rmi.RemoteException; 

import com.vmware.vim25.*; 
import com.vmware.vim25.mo.*; 

public class TestVsphere { 

    public static void main(String[] args) { 
     try { 
      ServiceInstance si = new ServiceInstance(new URL("https://15.22.10.11/sdk"), "Administrator", "Password123", true); 
      Folder rootFolder = si.getRootFolder(); 
      String name = rootFolder.getName(); 
      ManagedEntity[] mes = new InventoryNavigator(rootFolder).searchManagedEntities("VirtualMachine"); 
      if(mes==null || mes.length ==0) 
      { 
       return; 
      } 

      VirtualMachine vm = (VirtualMachine) mes[0]; 

      VirtualMachineConfigInfo vminfo = vm.getConfig(); 
      VirtualMachineCapability vmc = vm.getCapability(); 

      vm.getResourcePool(); 
      System.out.println("Hello " + vm.getName()); 
      System.out.println("GuestOS: " + vminfo.getGuestFullName()); 
      System.out.println("Multiple snapshot supported: " + vmc.isMultipleSnapshotsSupported()); 

      si.getServerConnection().logout(); 
     } catch (RemoteException | MalformedURLException e) { 
      e.printStackTrace(); 
     } 
    } 

}