2012-05-09 8 views
0

C#からWSO2データサービスを使用できません。私は文書化された方法でデータサービスを作成し、 "TryIt"機能からデータサービスとやりとりすることができます。 は、その後、私はVisual Studioでサービス参照を登録し、私が受け取る2010年エラーは、次のとおりです。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. 

私はIsOneWayまたはFaultContractAttributesのいずれかを除去することにより、生成されたコードを編集した場合、私はサービス参照を更新するまで、それが正常に動作します。 W2CがW3C標準に反するという点で、WSO2によって生成されるWSDL 1.1に問題があるようです。 標準は、以下の操作を定義:

<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

これは、オンリーワンの操作のバグであるようです。現時点では、潜在的なオンリーワンの操作のために、データサービス操作が実際にインライン操作になるようにフラグ "returnRequestStatus"を設定し、呼び出しが成功すると静的な成功メッセージを送信します。それ以外の場合はSOAPフォールトを送信します。そして、これらのタイプの操作から生成されたWSDLは、仕様に準拠します。

乾杯、 Anjana。

+0

ありがとうございましたAnjana、私はあなたのアドバイスを試みましたが、それは問題を解決するように見えませんでした。私はWSO2スタジオを介してすべてを得ることができるかどうかをテストするEclipseをインストールする忙しいです。 –

関連する問題