[Mono-bugs] [Bug 658520] New: Problem with calling inherited methods on WCF Service hosted on Linux

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Thu Dec 9 08:40:35 EST 2010


https://bugzilla.novell.com/show_bug.cgi?id=658520

https://bugzilla.novell.com/show_bug.cgi?id=658520#c0


           Summary: Problem with calling inherited methods on WCF Service
                    hosted on Linux
    Classification: Mono
           Product: Mono: Class Libraries
           Version: 2.8.x
          Platform: x86-64
        OS/Version: Windows 7
            Status: NEW
          Severity: Major
          Priority: P5 - None
         Component: WCF
        AssignedTo: mono-bugs at lists.ximian.com
        ReportedBy: maciej.kopanski at intel.com
         QAContact: mono-bugs at lists.ximian.com
          Found By: DeveloperNet
           Blocker: ---


Created an attachment (id=404164)
 --> (http://bugzilla.novell.com/attachment.cgi?id=404164)
Zipped Example of solution which should reproduce problem

Description of Problem:

I found a problem with calling inherited methods on WCF Services. This problem
is reproducable when we're trying to connect to WCF Service hosted on Linux
from client application working on Windows 7 OS. Problem was discovered during
my WCF tests on mono and I thing it could be caused by incorrect inheriting
ServiceContract in hosted service. Example code is attached.

Steps to reproduce the problem:
1. Create Base class with method void BaseMethod() and with IBase interface
with propoer Service Contract
2. Create Child class with method (void ChildMethod()) and IChild interface
with Service Contract. Child class and interface should inherit by Base class
and IBase interface.
3. Setup Service hosts under mono with netTcpBinding.
4. Start Service host under Linux OS (i.e. Suse 11.3)
5. Create Client application on Windows 7 
6. Connect to IChild service
7. Try to call ChildMethod(); on connected IChild WCF Service
8. Try to call BaseMethod(); on connected IChild WCF Service


Actual Results:
There is no problem with calling ChildMethod(); but after calling BaseMethod();
Client application stops(wait for response from service) and server application
on linux raises Exception:

System.ServiceModel.ActionNotSupportedException: Action
'http://tempuri.org/IBaseClass/BaseMethod' did not match any operations in the
target contract
  at System.ServiceModel.Dispatcher.ListenerLoopManager.FindEndpointDispatcher
(System.ServiceModel.Channels.Message message) [0x00000] in <filename
unknown>:0 
  at System.ServiceModel.Dispatcher.ListenerLoopManager.ProcessInput
(IInputChannel input, System.ServiceModel.Channels.Message message) [0x00000]
in <filename unknown>:0 

Expected Results:
ChildMethod(); and BaseMethod(); should be called without any problems. Client
application should work after calling BaseMethod(); and server application
shouldn't return any exception.

How often does this happen? 
Always.

Additional Information:
See Atached Code example.

-- 
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the mono-bugs mailing list