On Monday, May 02, 2011 2:01:26 PM Darrin Thompson wrote: > I'm getting the following stack trace only when responding to a .NET > client with a fault. Normal non-fault responses work fine. Any ideas > of where I could look? Could this be a problem in CXF 2.4.0?
Likely an issue with .NET. Not really sure though. You don't mention if the service is a wsdl first or java first service. If Java first, you could try mucking with the fault things on the @Action annotation to see if you can find an action it would tolerate. For wsdl first, you could add actions for the faults in the wsdl to explicitly set it. When not set, there are a couple algorithms for creating a default Action for the faults and it could be that JAX-WS (which is what CXF would be using) uses a slightly different algorithm than what .NET expects. Explicitly setting it in the wsdl removes the ambiguity. Dan > > System.ServiceModel.Security.MessageSecurityException was unhandled > Message="No signature message parts were specified for messages with > the 'http://blah/MySvc/MyOp/Fault/TestFault' action." > Source="mscorlib" > StackTrace: > Server stack trace: > at > System.ServiceModel.Security.MessageSecurityProtocolFactory.ExtractMessage > Parts(String action, ScopedMessagePartSpecification scopedParts, Boolean > isForSignature) > at > System.ServiceModel.Security.MessageSecurityProtocol.ConfigureReceiveSecur > ityHeader(Message message, String actor, SecurityProtocolCorrelationState[] > correlationStates, SecurityStandardsManager standardsManager, IList`1& > supportingAuthenticators) > at > System.ServiceModel.Security.SymmetricSecurityProtocol.VerifyIncomingMessa > geCore(Message& message, String actor, TimeSpan timeout, > SecurityProtocolCorrelationState[] correlationStates) > at > System.ServiceModel.Security.MessageSecurityProtocol.VerifyIncomingMessage > (Message& message, TimeSpan timeout, SecurityProtocolCorrelationState[] > correlationStates) > at > System.ServiceModel.Channels.SecurityChannelFactory`1.SecurityRequestChann > el.ProcessReply(Message reply, SecurityProtocolCorrelationState > correlationState, TimeSpan timeout) > at > System.ServiceModel.Channels.SecurityChannelFactory`1.SecurityRequestChann > el.Request(Message message, TimeSpan timeout) > at > System.ServiceModel.Dispatcher.RequestChannelBinder.Request(Message > message, TimeSpan timeout) > at System.ServiceModel.Channels.ServiceChannel.Call(String > action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, > Object[] outs, TimeSpan timeout) > at > System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCall > Message 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 visionsolutions.wstest4.contract.IMySvc.MyOp(MyData_2 myData2) > at Program.Run() in > D:\CSharp\WCF-Java\WCF-Test-Client\Program.cs:line 83 at > Program.Main(String[] args) in > D:\CSharp\WCF-Java\WCF-Test-Client\Program.cs:line 69 > at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] > args) at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly() > at System.Threading.ExecutionContext.Run(ExecutionContext > executionContext, ContextCallback callback, Object state) > at System.Threading.ThreadHelper.ThreadStart() > InnerException: > > -- > Darrin -- Daniel Kulp [email protected] http://dankulp.com/blog Talend - http://www.talend.com
