2008-08-17 4 views
0

페이지 내에 포함 된 Flex 응용 프로그램이있는 .net 웹 응용 프로그램이 있습니다. 이 flex 어플리케이션은 .net webservice를 호출합니다. 내가 디버거를 통해 실행 였는지를 추적 할 수 있고 내가 응답을 얻을 때까지 모두 멋지다 :SoapException : .NET 웹 서비스가 Flex에서 호출 될 때 루트 요소가 누락됩니다.

플렉스에서 호출이 좋아 보인다




soap:ReceiverSystem.Web.Services.Protocols.SoapException: Server was unable to process request 

. ---> System.Xml.XmlException: Root element is missing. 

    at System.Xml.XmlTextReaderImpl.Throw(Exception e) 

    at System.Xml.XmlTextReaderImpl.ThrowWithoutLineInfo(String res) 

    at System.Xml.XmlTextReaderImpl.ParseDocumentContent() 

    at System.Xml.XmlTextReaderImpl.Read() 

    at System.Xml.XmlTextReader.Read() 

    at System.Web.Services.Protocols.SoapServerProtocol.SoapEnvelopeReader.Read() 

    at System.Xml.XmlReader.MoveToContent() 

    at System.Web.Services.Protocols.SoapServerProtocol.SoapEnvelopeReader.MoveToContent() 

    at System.Web.Services.Protocols.SoapServerProtocolHelper.GetRequestElement() 

    at System.Web.Services.Protocols.Soap12ServerProtocolHelper.RouteRequest() 

    at System.Web.Services.Protocols.SoapServerProtocol.RouteRequest(SoapServerMessage message) 

    at System.Web.Services.Protocols.SoapServerProtocol.Initialize() 

    at System.Web.Services.Protocols.ServerProtocolFactory.Create(Type type, HttpContext context, HttpRequest 

request, HttpResponse response, Boolean& abortProcessing) 

    --- End of inner exception stack trace --- 
 
는 웹 서비스를 통해 실행은 훌륭하지만 이것은 내가 Wireshark를 통해 캡처 반응이다 , 여기서 무슨 일이 일어나고있는거야?

나는 ... paramatized 방법으로 "안녕하세요"에서 여러 웹 방법을 시도 나는 그것이 "로 인코딩 할 수있는 뭔가가있을 수 있습니다 생각

동일한 응답을 가진 모든 컴백 ... - - & gt "라고 말하면서 .net이 응답으로 렌더링하는 것을 제어하는 ​​방법을 확신 할 수 없습니다.

답변

1

서비스에 잘못 구성된 XML 문서를 보내는 것처럼 보입니다. 피들러 (Fiddler) 또는 그와 비슷한 것을 사용하여 웹 서비스로 전송되는 실제 통화 사본을 얻을 수 있습니까? 문제가 무엇인지 알아 내면 큰 도움이 될 것입니다.

+0

요청이 잘못된 경우 디버거가있는 웹 서비스를 통해 정상적인 실행을 볼 수 없을 것이라고 생각합니다. – mmattax

0

Flex 3를 사용하고 있습니까? 그렇다면 웹 서비스가 실행될 때 중단 점을 설정하고 요청을 인코딩 할 때 실제로 Flex 프레임 워크를 단계별로 실행할 수 있습니다. mx.rpc.soap.SoapEncoder를 보면 와이어를 통해 전송 될 내용을 정확히 볼 수 있습니다.

1

저는 최근 Flex 어플리케이션을 사용하여 .NET REST 인터페이스를 사용했습니다. 몇 가지 이상한 예외도 있었고 문제는 요청을 보낼 때 xmlns (네임 스페이스)를 루트 요소에 포함하는 것을 잊었다는 것입니다. 이것은 야생 추측이지만 도움이되기를 바랍니다.

관련 문제