2011-11-23 6 views
0

itinerary을 입력으로 사용하는 BPEL 프로세스를 작성 중입니다. 요소 및 일부 속성의 제한없는 목록으로 구성됩니다.
프로세스의 작업은 목록의 모든 요소를 ​​"예약"하고 속성에 값을 할당 한 다음 itinerary을 반환하는 것입니다.
각 요소는 그 자체로 두 가지 요소, 즉 예약 프로세스 (잘 작동 됨)에 대한 정보와 항공편 또는 호텔 일 수있는 특정 개체로 구성됩니다. 나는 그 요소과 같이 정의했습니다 :이 입력NetBeans 6.5.1의 BPEL 프로세스에서 상속 사용

<urn:itineraryReservation> 
     <urn:flight> 
     <urn:objType>flight</urn:objType> 
     <urn:departureCity>Ottawa</urn:departureCity> 
     <urn:arrivalCity>Toronto</urn:arrivalCity> 
     <urn:departureTime>2007-10-26T08:36:28</urn:departureTime> 
     <urn:arrivalTime>2004-02-14T19:44:14</urn:arrivalTime> 
     <urn:airline>Aircanada</urn:airline> 
     </urn:flight> 
     <urn:reservation> 
     <urn:price>3</urn:price> 
     </urn:reservation> 
    </urn:itineraryReservation> 

의 종류하지만 함께 CompositeApplication에서 사용한 다음

<xsd:complexType name="ObjectType" abstract="true"> 
    <xsd:sequence> 
     <xsd:element name="objType" type="xsd:string"></xsd:element> 
    </xsd:sequence> 
</xsd:complexType> 

<xsd:complexType name="FlightType"> 
    <xsd:complexContent> 
     <xsd:extension base="tns:ObjectType"> 
      <xsd:sequence> 
       <xsd:element name="departureCity" type="xsd:string"></xsd:element> 
       <xsd:element name="arrivalCity" type="xsd:string"></xsd:element> 
       <xsd:element name="departureTime" type="xsd:dateTime"></xsd:element> 
       <xsd:element name="arrivalTime" type="xsd:dateTime"></xsd:element> 
       <xsd:element name="airline" type="xsd:string"></xsd:element> 
      </xsd:sequence> 
     </xsd:extension> 
    </xsd:complexContent> 
</xsd:complexType> 

<xsd:complexType name="ItineraryReservationType"> 
    <xsd:sequence> 
     <xsd:element name="object" type="tns:ObjectType"></xsd:element> 
     <xsd:element name="reservation" type="tns:ReservationType"></xsd:element> 
    </xsd:sequence> 
</xsd:complexType> 

프로세스는 마지막 assign에 도달하기 위해 itinerary 요소를 복사하려고 할 때마다 출력은 Particle not found in the complex type. element={urn:ws.bpelschema}flight, complexType={urn:ws.bpelschema}ItineraryReservationType입니다.
명백한 대안은 항공편과 호텔을위한 두 개의 목록을 가지고 다니는 것이지만, 나는이 항목에 대해 더 잘할 수 있고 아무것도 찾을 수 없다고 생각했습니다.
도움 주셔서 감사합니다.

답변

0

XML 스키마 문제에서 알 수있는 한 문제는 < urn : object xsi : type = "urn : FlightType"을 사용하는 것으로 가정합니다. >; 모두 괜찮을거야. 귀하의 의도가 대체 그룹을 사용하는 것이 아니라면 ... XSD 스 니펫에서 알기 힘들 수도 있습니다.

이 유형의 문제점에 대한 최선의 조언은 도구로 검증 된 XML 스키마에서 생성 된 XML 샘플 파일을 갖도록 권장하는 것입니다. 유효한 XML이 어떻게 보이는지 시각화하여 제공해야합니다. 그러면 누구나 XML을 쉽게 코드화 할 수 있어야합니다.

+0

오랫동안 복용 해 주셔서 고맙고 죄송합니다. netbeans는 다음과 함께 사용하는 것이 좋지 않습니다. -/대체 그룹에 대해 잘 모르지만 .. 목격됩니다. – mccc