2010-12-01 9 views
3

WCFテストクライアントのbasichttpbindingエンドポイントを使用してWCFサービスをテストしようとしています。私は、メソッドにこのエラーをパラメータなしの呼び出しを行うことができますという事実に.Net 4.0パラメータを渡すときにWCFサービスが失敗する

Failed to invoke the service. Possible causes: The service is offline or inaccessible; the client-side configuration does not match the proxy; the existing proxy is invalid. Refer to the stack trace for more detail. You can try to recover by starting a new proxy, restoring to default configuration, or refreshing the service.

An error occurred while executing the command definition. See the inner exception for details.

Server stack trace: at System.ServiceModel.Channels.ServiceChannel.ThrowIfFaultUnderstood(Message reply, MessageFault fault, String action, MessageVersion version, FaultConverter faultConverter) at System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation, ProxyRpc& rpc) at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout) at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs) at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation) at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

Exception rethrown at [0]: at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg) at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type) at IErouter.GetClientSearch(String surname, String forename, String street, String postcode) at ErouterClient.GetClientSearch(String surname, String forename, String street, String postcode)

:私は無問題とにパラメータを渡すことはありませんが、私は次のエラーを取得するパラメータを渡す必要があるときのメソッドをテストすることができます私には意味がありません。

[ServiceContract] 
public interface IErouter 
{ 
    #region Client Search 

    [OperationContract] 
    SelectClientSearch_Result[] GetClientSearch(
     string surname, string forename, string street, string postcode); 

    #endregion 

    #region Changes 

    [OperationContract] 
    ChangeForBlackBerry[] GetClientChanges(string blackberryPin); 

    [OperationContract] 
    bool AcceptChange(int changeId, string blackberryPin); 

    [OperationContract] 
    bool AcknowledgeChange(int changeId, string blackberryPin); 

    [OperationContract] 
    ChangeForBlackBerry[] GetManagerChangesForShiftType(string blackberryPin, 
     string date, int shiftTypeId); 

    [OperationContract] 
    ClientDetailChangeViewModel GetClientDetailChange(int changeId); 

    #endregion 

    #region Client Details 

    [OperationContract] 
    ClientDetailViewModel GetClientDetails(int clientId); 

    [OperationContract] 
    SelectUserLevel_Result GetUserLevel(string blackberryPin); 

    #endregion 

    #region Useful Contacts 

    [OperationContract] 
    SelectAdminCentreTelNo_Result[] GetAdminCentreTelNos(); 

    [OperationContract] 
    string GetDutyEmail(); 

    [OperationContract] 
    SelectDutyManager_Result[] GetDutyManagerTelNos(); 

    [OperationContract] 
    string GetGhaHandyTelNo(); 

    [OperationContract] 
    SelectHospitalNos_Result[] GetHospitalTelNos(); 

    [OperationContract] 
    string GetICTTelNo(); 

    [OperationContract] 
    string GetMAHMobileTelNo(); 

    [OperationContract] 
    SelectMyManagerNo_Result[] GetMyManagerTelNo(string blackberryPin); 

    [OperationContract] 
    string GetNHSDirectTelNo(); 

    [OperationContract] 
    string GetOOHEmail(); 

    [OperationContract] 
    string GetOOHTelNo(); 

    [OperationContract] 
    string GetOperationsEmail(); 

    [OperationContract] 
    string GetOperationsTelNo(); 

    [OperationContract] 
    string GetOtherHandyPersonTelNo(); 

    [OperationContract] 
    SelectSWTelNos_Result[] GetSWTelNo(); 

    #endregion 

    #region Gaurdian 24 Visit Monitoring 

    [OperationContract] 
    string StartVisitMonitoring(int clientId, int activityDuration, 
     string activityText, string blackberryPin); 

    [OperationContract] 
    string StopVisitMonitoring(int clientId, string activityId, 
     string blackberryPin); 

    #endregion 
} 
+0

サービスとデータの契約を投稿できますか? – scmccart

+0

ああ、以前はこれをキャッチしませんでしたが、「コマンド定義の実行中にエラーが発生しました」というメッセージが表示されます。エンティティフレームワークを使用していますか? – scmccart

+1

そして内部の例外は何ですか?データクラス(ClientDetailViewModelなど)の[DataContract]属性を設定しました –

答えて

0

エラーはアプリケーションの他の場所から発生していました... WCFエラーは最大ではありません。 :)

+1

これはかなり古いコメントですが、エラーの原因を説明できますか? –

+0

+1はどこから始まったのか説明が必要ですか? –

1

これは、シリアル化のエラーの可能性があり - あなたは[のDataContract]またはあなたのリターンクラスSelectClientSearch_Resultで[Serializableを]持っているかどうかを確認します。

1

これは、web.configファイルに以下を追加しようとしている価値があるかもしれない:

<serviceHostingEnvironment> 
    <baseAddressPrefixFilters> 
     <add prefix="http://host:port"/> 
    </baseAddressPrefixFilters> 
</serviceHostingEnvironment> 

問題が解決しない場合は、上記の追加や要素を削除してみてください:<host></host>(アイデア最後からリンクしました)

web.configに次の文字列を追加するだけで役立ちます。私が読んだ

<system.serviceModel>   
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />  
</system.serviceModel> 

サイトでは、以下のとおりです。

http://msdn.microsoft.com/en-us/library/aa702682.aspx 
http://msdn.microsoft.com/en-us/library/ms731336.aspx 
http://community.discountasp.net/showthread.php?t=7719 

一つまさに私はそれが関連するかもしれないと思った理由ですASMXサービスのように動作WCFサービスを述べました。

編集:

すばやく読む価値がありますか? http://support.microsoft.com/kb/958478

+0

元気いっぱいですが、これで喜んではいけません。より多くの情報を得るために内部の例外を取得する必要があります – littlechris

関連する問題