2011-11-28 2 views
0

내가 (예를 들어)를 포함하는 스키마를 가지고 ...XSI : XS 내에서 구문 분석시 전무는 유효성 검사 실패 : 어떤

<xsd:complexType name="mytype"> 
    <xsd:sequence> 
    <xsd:any maxOccurs="unbounded" processContents="skip"/> 
    </xsd:sequence> 
</xsd:complexType> 

... 그리고이 요소를 포함하는 일부 XML을 ...

<MYELEMENT xmlns = "http://www.mynamespace.co.uk/types" xsi:nil = "true"/> 

... 'mytype'을 기대하는 SOAP 호출이 있습니다. 위의 내용이 포함 된 XML이 반환되면 다음 오류가 발생합니다.

caused by: org.xml.sax.SAXException: validation error: #cvc-elt.3.1 Element "{http://www.mynamespace.co.uk/types}MYELEMENT" is not nillable. ({com.tibco.xml.validation}COMPLEX_E_ELEMENT_NOT_NILLABLE)

TIBCO 5.5 디자이너 내에서 수행되는 SOAP 호출입니다. TIBCO는 전 세계적으로 가장 잘 알려진 도구는 아닙니다. 내가 정말로이 질문에서 빠져 나오고 싶은 것은 오류가 예상 된 동작인지 여부 (요소에 정의 된 네임 스페이스가 있는지 여부)입니다.

나는 processContents="skip"을 통해 무엇이든 허용해야한다고 생각했을까요?

정보를 완성하기 만하면 http://www.mynamespace.co.uk/types 네임 스페이스를 SOAP 수신기에서 사용할 수 있습니다. 스키마에 MYELEMENT가 정의되어 있는지 여부와 관계없이 nillable="true"의 유무에 관계없이이 오류가 발생합니다. 고객으로부터 XML을 받고 있으므로 MYELEMENT에서 xsi : nil = "true"를 제거 할 수 없습니다.

+0

아마도 MYELEMENT의 유형은 http://www.mynamespace.co.uk/types:mytype입니까? 전체 스키마 및 인스턴스를 게시 할 수 있습니까? – kennethmay

+0

나는 그 행동으로 인해 오류가 발생해서는 안된다는 것을 검증했다. 스키마의 이름이 지정 되었더라도 MYLLEMENT가 스키마에 있는지 여부는 신경 쓰지 않아야합니다. 문제는 TIBCO 문제입니다. – Erad

+0

사실 내가 말한 것은 MYELEMENT의 부모가 "mytype"유형이어야한다는 것입니다. – kennethmay

답변

0

TIBCO 디자이너 5.5 버그가 발견되었습니다. 5.6 이상을 사용하십시오.