2012-06-27 4 views
0

현재 POJOs/beans를 Axis2를 통해 배포 할 매개 변수로 사용하는 일부 웹 서비스를 작업하고 있습니다. 문제는 WSDL을 생성하는 Axis2의 기본 제공 코드가 필요한 것과 다른 방식으로 POJO를 나타냅니다.사용자 정의 스키마에서 (복잡한) 데이터 유형을 사용하도록 Axis2를 설정하려면 어떻게해야합니까?

예를 들어, 나는 다음과 같은 클래스가 : 나는 XML처럼 (마이너스 모든 네임 스페이스 데이터)를보고 싶습니다

public class Employee { 
    private String firstName; 
    private String lastName; 
    //mutators, accessors 
} 

public class Department { 
    private String name; 
    private List<Employee> employees; 
    //mutators, accessors 
} 

그러나

<department> 
    <name>marketing<name> 
    <employees> 
    <employee> 
     <firstName>Juan</firstName> 
     <lastName>dela Cruz</lastName> 
    <employee> 
    <employee> 
     <firstName>Pedro</firstName> 
     <lastName>Mahusay</lastName> 
    <employee> 
    </employees> 
<department> 

을 1, 축 위를 나타낼 것 XML 형식 :

<department> 
    <name>marketing<name> 
    <employees> 
    <firstName>Juan</firstName> 
    <lastName>dela Cruz</lastName> 
    </employees> 
    <employees> 
    <firstName>Pedro</firstName> 
    <lastName>Mahusay</lastName> 
    <employees> 
<department> 

MessageBuilder와 MessageFormatters를 살펴 보았습니다. 여전히 XML을 OMElement (Builder의 경우)로 처리하여 작동하게하는 방법을 모르는 경우. 나는 Axis2가 웹 서비스 코드가 사용할 수있는 Bean으로이 OMElements를 어떻게 변환하는지 모른다. 거기에 첫 번째처럼 작동하도록 (아마도 더 간단하거나 더 논리적/효율적인?) 방법이 있습니까?

감사합니다.

답변

0

당신은 직원 개체의 목록을 포함 종업원의 객체가 필요합니다.

WSDL과 XSD를 직접 작성한 다음 XML 스텁을 생성하려면 XML 형식을 완벽하게 제어 할 수있는 것이 가장 좋습니다.

+0

그래, 나는 다른 방법 (wsdl2java)을 고려 중이다. 그러나 웹 서비스는 기존 웹 응용 프로그램에 포함되므로 WSDL을 생성하려면? wsdl 기능을 사용하고 싶습니다. 그리고 여분의 ** Employees ** 클래스는 꽤 ​​"부자연 스럽습니다"(Axis2가 이것을 보았음에도 불구하고). 하지만 네, 이것은 가장 간단한 해결책/해결 방법이 될 수 있습니다. 감사. –

관련 문제