2012-01-26 4 views
0

간단한 오케스트레이션을 만들어 WCF 서비스를 호출하고 응답을 받았습니다. 웹 서비스 방법은 매우 간단합니다 :BizTalk 및 WCF 서비스 : System Diagnostics.TextWriterTraceListener 클래스의 형식을 찾을 수 없습니다?

string GetSimple(int value)

에 BizTalk 폴더를 모니터링하고, 거기에서 FILE 어댑터를 사용하여 활성화 메시지를 수신 한 후 적절한 메시지를 구성하고 웹 서비스를 호출합니다. 그러나이 예외와 함께 실패합니다 내가 TextWriterTraceListener를 찾을 수 없습니다

 
Error Description: System.Configuration.ConfigurationErrorsException: Couldn't find type for class System Diagnostics.TextWriterTraceListener. 

Server stack trace: 
    at System.Diagnostics.TraceUtils.GetRuntimeObject(String className, Type baseType, String initializeData) 
    at System.Diagnostics.TypedElement.BaseGetRuntimeObject() 
    at System.Diagnostics.ListenerElement.GetRuntimeObject() 
    at System.Diagnostics.ListenerElement.GetRuntimeObject() 
    at System.Diagnostics.ListenerElementsCollection.GetRuntimeObject() 
    at System.Diagnostics.TraceSource.Initialize() 
    at System.Net.Logging.InitializeLogging() 
    at System.Net.Logging.get_On() 
    at System.Net.WebRequest.Create(Uri requestUri, Boolean useUriBase) 
    at System.Net.WebRequest.Create(Uri requestUri) 
    at System.ServiceModel.Channels.HttpChannelFactory.GetWebRequest(EndpointAddress to, Uri via, NetworkCredential credential, TokenImpersonationLevel impersonationLevel, AuthenticationLevel authenticationLevel, SecurityTokenProviderContainer proxyTokenProvider, SecurityTokenContainer clientCertificateToken, TimeSpan timeout) 
    at System.ServiceModel.Channels.HttpChannelFactory.GetWebRequest(EndpointAddress to, Uri via, SecurityTokenProviderContainer tokenProvider, SecurityTokenProviderContainer proxyTokenProvider, SecurityTokenContainer clientCertificateToken, TimeSpan timeout) 
    at System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.GetWebRequest(EndpointAddress to, Uri via, SecurityTokenContainer clientCertificateToken, TimeoutHelper& timeoutHelper) 
    at System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.GetWebRequest(EndpointAddress to, Uri via, TimeoutHelper& timeoutHelper) 
    at System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelAsyncRequest.BeginSendRequest(Message message, TimeSpan timeout) 
    at System.ServiceModel.Channels.RequestChannel.BeginRequest(Message message, TimeSpan timeout, AsyncCallback callback, Object state) 
    at System.ServiceModel.Dispatcher.RequestChannelBinder.BeginRequest(Message message, TimeSpan timeout, AsyncCallback callback, Object state) 
    at System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.StartSend(Boolean completedSynchronously) 
    at System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.Begin() 
    at System.ServiceModel.Channels.ServiceChannel.BeginCall(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, TimeSpan timeout, AsyncCallback callback, Object asyncState) 
    at System.ServiceModel.Channels.ServiceChannel.BeginRequest(Message message, TimeSpan timeout, AsyncCallback callback, Object state) 
    at System.ServiceModel.Channels.ServiceChannel.BeginRequest(Message message, AsyncCallback callback, Object state) 

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 System.ServiceModel.Channels.IRequestChannel.BeginRequest(Message message, AsyncCallback callback, Object state) 
    at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfClient`2.SendRequestMessage(IBaseMessage bizTalkMessage, IRequestChannel channel) 
    at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfClient`2.SendMessage(IBaseMessage bizTalkMessage) 


Exception type: XlangSoapException 
Source: Microsoft.XLANGs.BizTalk.Engine 
Target Site: Void VerifyTransport(Microsoft.XLANGs.Core.Envelope, Int32, Microsoft.XLANGs.Core.Context) 
The following is a stack trace that identifies the location where the exception occured 

    at Microsoft.BizTalk.XLANGs.BTXEngine.BTXPortBase.VerifyTransport(Envelope env, Int32 operationId, Context ctx) 
    at Microsoft.XLANGs.Core.Subscription.Receive(Segment s, Context ctx, Envelope& env, Boolean topOnly) 
    at Microsoft.XLANGs.Core.PortBase.GetMessageId(Subscription subscription, Segment currentSegment, Context cxt, Envelope& env, CachedObject location) 
    at Orch.Orc.segment1(StopConditions stopOn) 
    at Microsoft.XLANGs.Core.SegmentScheduler.RunASegment(Segment s, StopConditions stopCond, Exception& exp) 
    


. 어디 있니? 이 예외를 제거하는 방법?

답변

1

WCF 서비스 또는 BTSNtSvc.exe.config의 구성 파일에 문제가있는 것 같습니다. BizTalk 올바른 요청을 보내는 것 같습니다.

대부분의 경우 WCF에서 로깅 메시지에 대한 설정에 문제가 있거나 로깅 관련 잘못된 매개 변수가있는 BTSNtSvc.exe.config가 있습니다.

표준 .net 클라이언트에서 서비스를 호출하여 문제의 범위를 좁힐 수 있습니다.

HTH

+0

시도해 보았습니다. 간단한 WPF 프로젝트에서 서비스를 호출하면 올바르게 작동합니다. – mmdemirbas

+2

문제가되는 구성 파일 요소는이 MSDN 문서에서 거의 확실하게 복사되었습니다. https://msdn.microsoft.com/en-us/library/bb203855.aspx?f=255&MSPPError=-2147217396. 점 대신에 공백이 있습니다. "System Diagnostics.TextWriterTraceListener"대신 "System.Diagnostics.TextWriterTraceListener"라고 말해야합니다. –