2012-05-09 4 views
0

C#에서 WSO2 데이터 서비스를 사용할 수 없습니다. 문서화 된 방법을 사용하여 데이터 서비스를 만든 다음 "TryIt"함수에서 데이터 서비스와 상호 작용할 수 있습니다. 나는 IsOneWay 또는 I는 서비스 참조를 업데이트 할 때까지 제대로 작동 후 FaultContractAttributes 중 하나를 제거하여 생성 된 코드를 편집하는 경우C#에서 WSO2 데이터 서비스를 사용 중입니다.

The method 'update_RealtyIntroduction_operation' in type 'Realty1.ServiceReference1.RealtyIntroduction_DataServicePortType' is marked IsOneWay=true 
and declares one or more FaultContractAttributes. One-way methods cannot declare FaultContractAttributes. 
To fix it, change IsOneWay to false or remove the FaultContractAttributes. 

: 그런 다음 나는 나타나는 오류는 비주얼 스튜디오 2010에서 서비스 참조를 등록합니다. WSO2가 W3C 표준에 위배된다는 점에서 WSO2에서 생성 된 문제 인 것 같습니다. 이 표준은 다음과 같은 동작을 정의합니다

<wsdl:definitions .... > <wsdl:portType .... > * 
     <wsdl:operation name="nmtoken"> 
      <wsdl:input name="nmtoken"? message="qname"/> 
     </wsdl:operation> 
    </wsdl:portType > 
</wsdl:definitions> 

http://www.w3.org/TR/wsdl#_one-way

을하지만 WSO2가 생성하는 다음

<wsdl:operation name="update_RealtyIntroduction_operation"> 
     <wsdl:documentation /> 
     <wsdl:input wsaw:Action="urn:update_RealtyIntroduction_operation" message="ns0:update_RealtyIntroduction_operationRequest" /> 
     <wsdl:fault wsaw:Action="urn:update_RealtyIntroduction_operationDataServiceFault" name="DataServiceFault" message="ns0:DataServiceFault" /> 
</wsdl:operation> 

는 사람이 상호 운용 만드는 방법에 대한 몇 가지 조언이 있습니까?

답변

1

예, 이것은 비공개 작업의 버그 인 것 같습니다. 지금은 잠재적 인 in-only 조작을 위해 데이터 서비스 조작에 대한 플래그 "returnRequestStatus"를 설정하여 실제로 in-out 조작을 수행 한 다음 성공적인 호출에 대해 정적 성공 메시지를 송신하거나 그렇지 않으면 SOAP 오류가 전송됩니다. 그리고 이러한 유형의 작업에서 생성 된 WSDL은 사양을 준수합니다.

건배, Anjana.

+0

감사합니다. Anjana, 귀하의 조언을 시도했지만 문제를 해결하지 못했습니다. WSO2 스튜디오를 통해 모든 작업을 수행 할 수 있는지 테스트하기 위해 Eclipse를 설치하는 것이 바쁩니다. –

관련 문제