WCF 서비스의 프록시를 동적으로 생성하기 위해 URL에서 WSDL을 읽으려고합니다. 내가 방법 ServiceDescription.CanRead
에서 XmlException
를 얻을C#의 URL에서 WCF 서비스의 WSDL을 읽는 방법
XmlTextReader xmlTextReader = new XmlTextReader(new StringReader(description))
if (ServiceDescription.CanRead(xmlTextReader))
{
...
}
: 이 내 코드입니다.
오류 메시지는 "루트 레벨의 데이터가 유효하지 않습니다. 라인 1, 위치 1"입니다.
IE에서 WDSL URL을 탐색 할 때 크롬에 표시되지 않는 <wsdl:definitions ...> ... </wsdl:definitions>
태그 앞에 시작에서 다음 태그를 볼 수 있습니다.
<?xml version="1.0" encoding="UTF-8"?>
는이 문제가 될 수 있을까? 하지만 나는 ServiceDescription.CanRead
이 그것을 인식 할 수 있어야한다고 생각합니다. 모든 힌트를 부탁드립니다. 귀하의 질문에 포함 된 첫 번째 행하기 전에이 추가
읽고있는 XML을 검사하는 것은 어떻습니까? 'CanRead'는 XmlSerializer의 내부 인스턴스에서'CanDeserialize'를 호출하고 그 값을 반환합니다. –
IE에 표시되는 xml 선언은 선택 사항이지만 유효합니다. [http://stackoverflow.com/questions/7007427/does-a-valid-xml-file-require-an-xml-declaration](http://stackoverflow.com/questions/7007427/does-a-valid- xml-file-require-an-xml-declaration) –
이것은 XML의 구문 분석을 방해하는 추가 숨겨진 문자 일 수 있습니다. [http://stackoverflow.com/questions/17947238/why-data-at-the-root-level-is-invalid-line-1-position-1-for-xml-document/24513288](http:// stackoverflow.com/questions/17947238/why-data-at-the-root-level-is-invalid-line-1-position-1-for-xml-document/24513288) –