Webサービス関連の質問またはヒント



Web Service Related Questions



1.wcf詳細なエラーログを記録する方法は?

次のようにwcfロギングを呼び出す場合:



System.ServiceModel.FaultException:内部エラーのため、サーバーはリクエストを処理できませんでした。エラーの詳細については、サーバーでIncludeExceptionDetailInFaults(ServiceBehaviorAttributeまたは構成動作のいずれかから)をオンにして例外情報をクライアントに送り返すか、Microsoft .NET Framework 3.0SDKのドキュメントに従ってトレースをオンにします。サーバーのトレースログを調べます。

サーバースタックトレース:
System.ServiceModel.Channels.ServiceChannel.ThrowIfFaultUnderstood(メッセージ応答、MessageFault障害、文字列アクション、MessageVersionバージョン、FaultConverter faultConverter)
System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime操作、ProxyRpc&rpc)で
System.ServiceModel.Channels.ServiceChannel.Call(String action、Boolean oneway、ProxyOperationRuntime operation、Object [] ins、Object [] outs、TimeSpan timeout)で
System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall、ProxyOperationRuntime操作)で
System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessageメッセージ)で



[0]で例外が再スローされました:
System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg、IMessage retMsg)で
System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData&msgData、Int32 type)で

上部のメソッド名

最上位のメソッドパス



これらのヒントでは、問題がどこにあるかを正確に特定することはできません

解決策は、構成ファイルwcfサイトを変更することです

includeExceptionDetailInFaults='true' />

includeExceptionDetailInFaults = 'True'、エラーの詳細を返す場合があります

2.wse暗号化のWebサービス

Webサービスを呼び出すときのエラーメッセージ:

System.Web.Services.Protocols.SoapHeaderException:ヘッダー http://schemas.xmlsoap.org/ws/2004/08/addressing :最終的な受信者に対するアクションは必須ですが、System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessageメッセージ、WebResponse応答、ストリームresponseStream、ブール値asyncCall)のメッセージには存在しません。

理由は、暗号化されたWebサービスが呼び出すときにトークンを渡す必要があるためです

2.1インストールパッケージMicrosoft.Web.Services3

2.2パブリック部分クラスWebService:System.Web.Services.Protocols.SoapHttpClientProtocol

パブリック部分クラスWebServiceとして修正:WebServicesClientProtocol

コード例2.3:

|_+_|