2012-08-31 5 views
1

wsdl2java로 java 클래스 파일을 생성하고 xmlbeans 데이터 바인딩을 사용했습니다. 때문에 같은 수많은 오류의 결과 파일을 컴파일 할 수 없습니다wsdl2java xmlbeans 데이터 바인딩 문제

public interface PolicyGroupDTODocument extends org.apache.xmlbeans.XmlObject 

:

private com.sample.webservice.PolicyGroupType getPolicyGroup(com.sample.webservice.PolicyGroupDTODocument wrappedType) 
{ 
    return wrappedType.get().xgetPolicyGroup(); 
} 

PolicyGroupDTODocument는 다음과 같이 정의된다 : 여기

error: cannot find symbol [javac] return wrappedType.get().xgetPolicyGroup();

error: cannot find symbol [javac] return wrappedType.get().xgetPolicyPresharedKey();

하는 첫 번째 오류 일치 생성 된 코드의 예 구현 예 :

public class PolicyGroupDTODocumentImpl extends org.apache.xmlbeans.impl.values.XmlComplexContentImpl implements com.sample.webservice.PolicyGroupDTODocument 

get 및 xget 메서드는 XmlObject에서 다소 상속 받았다고 가정합니다. 생성 된 코드에 어떤 문제가 있습니까? 아니면 생성 프로세스에 문제가 있습니까?

+0

PolicyGroupDTODocument # get()에서 어떤 유형이 반환됩니까? – Ilya

+0

@Ilya 클래스 PolicyGroupDTODocument 자체는 wsdl2java에 의해 순전히 생성됩니다. 이 메소드 정의를 어디에서 검색해야합니까? 생성 된 Java 파일에서? – BSen

+0

예, 생성 된 클래스 PolicyGroupDTODocument – Ilya

답변

0

가 이상하다 ... 당신의 문제에 대답하기 위해, 세부 사항은 다음 제공하십시오 : 당신이 WSDL2Java의를 실행했을 때 당신이 준

  1. 무엇을 명령 옵션을. 모든 옵션은 다음에서 찾을 수 있습니다 this link.

  2. Wsdl2Java를 실행하면 다음과 같은 메시지가 인쇄됩니다. Axis2_home : .....을 사용하고 Java_HOME .....을 사용하여 이러한 값을 제공 할 수 있습니까?

  3. 나는 하나의 디렉토리에 모든 소스 코드 파일이 있다고 가정합니다. 그렇다면 언제 편집 문제가 발생합니까? 당신은 명령 줄에서 javac를 사용하거나 IDE와 같은 Eclipse를 사용하여 모든 파일을 가져 와서 컴파일하려고합니까? 아니면 jar 파일을 만들려고합니까?

    위의 2 단계에서 사용 된 JDK와 동일한 JDK를 사용하고 2 단계에서와 같은 축 jar를 사용하고 있는지 확인하십시오. 설정 한 classpath가 OK인지 확인하십시오. 설정중인 classpath 값을 제공 할 수 있습니까? 클래스 경로 문제와 관련이있을 가능성이 큽니다. -b 옵션을 사용하지 않고 1 한번에 실행 WSDL2Java의 및 오류가가는 경우 참조 :

업데이트 # 1 다음 단계를 시도합니다. 2. Java 패키지가 com.sample.webservice이므로 javac -d 명령을 사용하여 com 폴더의 상위 디렉토리에서 컴파일해야합니다. -g com/sample/webservice/*. java
javac 컴파일러가 패키지 구조를 작성하도록 -d 옵션이 전달됩니다. -g 옵션을 사용하면 자세한 디버그 결과를 얻을 수 있습니다.

+0

생성 옵션은 http://pastebin.com/jqYYgyiF입니다. Axis2_home과 같은 메시지는 표시되지 않지만 그 값은 잘되어야합니다. 나는 javac를 사용하여 병을 만듭니다. – BSen

+0

@BSen은 원래의 답변을 주석으로 업데이트했습니다. – ag112

+0

옵션이 삭제되었습니다. 이제 해당 메소드가 작동합니다. – BSen

0

다른 버전의 Axis2를 사용해보십시오. 아이러니하게도, 다른 버전으로 생성되면 코드가 컴파일 될 수 있음을 발견했습니다. 일단 실행하고 컴파일 한 후에는 동일한 버전의 Axis를 사용하여 코드를 실행해야합니다. 그렇지 않으면 무수히 많은 다른 오류가 발생합니다.

나는 1.4, 1.5.6 및 1.6.0 사이에서 전환하는 다른 결과가 있습니다.