2010-02-18 5 views
0

테스트 환경에 배포되어 성공적으로 테스트 된 사용자 지정 SharePoint 웹 서비스를 만들었습니다. 불행히도 웹 서비스는 그 이후로 작동을 멈췄으며 오류가 무엇인지 판단하려고합니다.사용자 지정 SharePoint 웹 서비스에서 오류 디버그

웹 서비스는 이제 SOAP 응답에 다음과 같은 오류를 반환

SOAP:server 
Server was unable to process request. Object reference not set to an instance of an object. 

는 배포 된 웹 서비스에 변경 사항이 없습니다, 그래서 더 최근의 배포는 SharePoint 구성을 변경했다고 가정입니다. 내 웹 서비스 .asmx가 _vti_bin 폴더에 배포되고 어셈블리가 GAC에 배포됩니다. http://servername:port/_vti_bin/MyCustomWebService.asmx으로 이동할 때 WSDL 파일이 표시되는 것을 볼 수 있습니다. 어셈블리의 웹 메서드는 Windows 이벤트 로그에 대한 로깅을 사용하지만 웹 서비스에 액세스하려고하면 로깅이 발생하지 않으므로 웹 메서드를 호출하는 데 전화가 걸리지 않는다고 표시됩니다.

이 문제를 해결하는 데 도움이되는 제안 사항이 있습니까?

감사합니다. MagicAndi.

업데이트는
나는 지금은 엔드 포인트 http://servername:port/Site/_vti_bin/MyCustomWebService.asmx에서 웹 서비스를 사용하는 경우, 그것은 작동 실현,하지만 난 엔드 포인트 http://servername:port/_vti_bin/MyCustomWebService.asmx를 사용할 때 전술 한 바와 같이, 웹 서비스가 실패합니다. 문제의 원인을 진단 할 때 더 업데이트 할 것입니다.

답변

1

를 디버깅하는 데 도움이됩니다 더 많은 정보를 제공합니다. 인프라 규칙에서 허용하지 않으면 서버의 코드에 추가 로깅을 추가해야 할 수 있습니다. 운이 좋다면 비누 메시지에 사용할 수있는 충분한 정보가있을 수 있지만 경험상 null 참조 예외는 일반적으로 쉽게 찾을 수있는 더 많은 정보가 필요합니다.

+0

Tom, 테스트 환경이므로 Visual Studio를 설치하면 문제를 디버깅 할 수 없습니다. 또한 위에서 설명한대로 웹 서비스 코드에 로그인하고 있는데이 코드는 전혀 호출되지 않습니다. 문제는 웹 서비스 코드에 없으며 비트는 끝점에 연결되어 있습니다. – MagicAndi

+0

Tom, 답변으로 허용. – MagicAndi

2

예외에 대해 더 많은 정보를 얻으려면 try catch입니다. 그것은 당신에게 당신의 문제가 가장 쉬운 옵션은 예외에 휴식을 설정 디버거를 연결하는 것입니다

try { 
// Do soap call here 

} 
catch (System.Web.Protocols.SoapException soap_ex) 
{ 
    Console.WriteLine(soap_ex.Detail.OuterXML); 
} 
catch(System.Exception ex) 
{ 
    Console.WriteLine(ex.Message);   
} 
+0

Chris, Thanks. 그게 System.Web.Services.Protocols.SoapException이 아니어야합니까? – MagicAndi

+0

웹 서비스의 내부 상태에 대한 제한된 정보로 클라이언트에 반환 된 오류 만 표시합니다. –

+1

크리스, 다시 한 번 감사드립니다. – MagicAndi

관련 문제