2012-02-24 9 views
0

this link에서 TripPriceService.wsdl 가져 오기 로컬 폴더에 저장된 언급 된 wsdl 파일에서 wsdl을 제공하여 서비스 참조 (ServiceReference1)를 Windows 응용 프로그램에 추가합니다. 내 질문에 두 부분이 있습니다내 soapclient에서 예외 캐치

1) 아래의 오류 메시지가 wsdl (TripPriceServiceException)에 따라 유효한 비누 오류입니까?

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:trip="http://trip.price.service"> 
    <soapenv:Header/> 
    <soapenv:Body> 
     <soapenv:Fault> 
     <faultcode>soapenv:client</faultcode> 
     <faultstring>error</faultstring> 
     <detail> 
      <trip:TripPriceServiceException/> 
     </detail> 
     </soapenv:Fault> 
    </soapenv:Body> 
</soapenv:Envelope> 

2) 이제 응답이 비누 일 때 세부 태그를 처리하고 잡는 방법 : 오류가 발생 했습니까?

Imports windowsapp1.ServiceReference1 
Public Class Form1 

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
     Dim obj As New ServiceReference1.TripPriceServiceFacadeClient 
     Dim abc As New ServiceReference1.trip 
     Dim a As Single 
     Dim d As ServiceReference1.TripPriceServiceException 
     a = obj.getTripPrice(abc) 
    End Sub 
End Class 

라인 obj.getTripPrice가 서비스를 호출합니다. 그러나 응답이 비누 오류 (유형 TripPriceServiceException) 인 경우 예외가 발생합니까? 이러한 경우를 처리하는 방법, 우리는 ServiceReference1.TripPriceServiceException 사용해야합니까? 그냥 내 현재 상황을 설명하기 위해이 wsdl 사용한. 우리는 웹 서비스 클라이언트에서 이러한 결함을 처리 할 필요가 있습니다.

답변

0

아마도 귀하의 질문을 이해할 수 없습니다. 왜 Try/Catch/End Try 블록을 사용하지 않고 TripPriceServiceException을 잡을까요?

+0

안녕하세요 john은 TrpPriceServiceExcetion에 유효한 비누 오류 xml입니다. 왜 내가 물어 보는 이유는 유효한 xml이 비누 오류에 대한 세부 태그 아래에 올 수 있기 때문입니다. 그러나 TripPriceServiceException Type의 경우 trip : TripPriceServiceException 요소가 detail 태그 아래에 올 수 있습니다 (현재까지 내가 undertsnad 인 경우) – Suresh

+1

유효합니다. 당신은 맞습니다. 그 내용 (내용 없음)만이 그 잘못으로 나타날 수 있습니다. 그것은 잡을 수있는'FaultException '으로 변환되어야합니다. –

+0

안녕하세요. "Message = 서버가 프로토콜 위반을 저지른 경우"섹션 = ResponseHeader Detail = CR에 LF가 나와야합니다. "이 오류는 웹 서비스 테스트를 위해 개발 한 샘플 웹 서비스 클라이언트에서 발생합니다. 우리가 useUnsafeHeaderParsing = "true"를 추가하면 이것이 나올 것이라는 것을 알고 있습니다. 그러나 우리는 서비스 제공 업체이며 고객이 왜이 오류를 겪고 있는지 확실하지 않습니다. xslt, xml 변환을 사용하여 비누 오류를 생성합니다. 응답은 데이터 전력 어플라이언스에서 발생합니다. – Suresh