작성한 ColdFusion 웹 서비스에 문제점이 있습니다. 이 서비스는 Base64로 인코딩 된 XML 데이터를 받아 들인 다음 아카이브 목적으로 디스크에 씁니다. 이 파일은 기본 스키마 검사를 거쳐 다음과 같이 오류가 사용자에게 다시보고됩니다ColdFusion 웹 서비스의 SOAP 응답 구조
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<UploadXMLResponse xmlns="http://url">
<UploadXMLReturn>
<AuthMessage>Authentication successful</AuthMessage>
<AuthStatus>Success</AuthStatus>
<FileInfo>File Example.xml was successfully uploaded</FileInfo>
<UploadStatus>Success</UploadStatus>
<xmlValErrors>
<xmlValErrors xsi:type="xsd:string">1824</xmlValErrors>
<xmlValErrors xsi:type="xsd:string">Error Message</xmlValErrors>
<xmlValErrors xsi:type="xsd:string">23</xmlValErrors>
<xmlValErrors xsi:type="xsd:string">1824</xmlValErrors>
<xmlValErrors xsi:type="xsd:string">Error Message</xmlValErrors>
<xmlValErrors xsi:type="xsd:string">38</xmlValErrors>
</xmlValErrors>
<xmlValMessage>Schema validation generated errors</xmlValMessage>
<xmlValStatus>Failure</xmlValStatus>
</UploadXMLReturn>
</UploadXMLResponse>
</soapenv:Body>
</soapenv:Envelope>
문제는 <xmlValErrors>
요소가 약간 이상한 방식으로 중첩되어 있다는 점이다. 이는 ColdFusion에서 오류 배열을 처리하는 방식 때문입니다. 결과는 사용자가 응답을 분석하려고 할 때 초기 <xmlValErrors>
요소 만 볼 수 있다는 것입니다.
. 여기에는 특히 많은 다른 요소가 포함되어 있더라도 <xmlValErrors>
요소가 빈 배열로 간주되므로 특히 문제가있는 것으로 보입니다.
<xmlValErrors>
요소 내의 하위 요소에 이름을 다시 사용하면 문제가있는 것으로 생각됩니다. 그러나 ColdFusion에서이 문제를 해결할 방법을 찾지 못했습니다.
어떻게 해결 될지 생각해 주시면 감사하겠습니다.
알, 정확히 내 문제입니다. Coldfusion이 출력을 구조화하는 방식을 다루는 관점에서 누군가 대답 할 수 있기를 희망합니다. 또는 .Net이 자식 요소를 볼 수 있도록 해주는 솔루션을 제공합니다. –