none
problems with a wcf 64 bit service RRS feed

  • Question

  • hi

    i have made a wcf service that runs on a 64 bit server with win2008 r2 standard

    it communicate with an oracle database and when I test it on the server, it works fine returning data from the db

    now, I have to make a Service Reference in my VS2010 project on a 32 bit machine with windows 7, and here is the problem

    when I invoke a client method, it goes to an exception saying:

    The server was unable to process the request due to an internal error.  For more information about the error, either turn on IncludeExceptionDetailInFaults (either from ServiceBehaviorAttribute or from the <serviceDebug> configuration behavior) on the server in order to send the exception information back to the client, or turn on tracing as per the Microsoft .NET Framework 3.0 SDK documentation and inspect the server trace logs.

    since i used the same wcf service on a 32bit server with win2003 i hadn't no problems

    i have no ideas about solving this problem and so i ask you some help

    Wednesday, February 6, 2013 9:13 AM

Answers

  • This is nothing to do with 32 bit Client consuming a 64 bit WCF service as I am sure, OS version information are not a part of SOAP moving in wire.

    As per your exceptions details try enabling includeExceptionDetailInFaults and see at client end what is the real exception server is throwing or you can enable WCF tracing on server end to find out the root cause.

    My primary suspect to your issue is, the response of WCF service is somewhere referring to a Oracle Type contract and attempting to serialize Oracle types with the WCF serializer is the issue.


    Lingaraj Mishra

    Wednesday, February 6, 2013 12:30 PM

All replies

  • This is nothing to do with 32 bit Client consuming a 64 bit WCF service as I am sure, OS version information are not a part of SOAP moving in wire.

    As per your exceptions details try enabling includeExceptionDetailInFaults and see at client end what is the real exception server is throwing or you can enable WCF tracing on server end to find out the root cause.

    My primary suspect to your issue is, the response of WCF service is somewhere referring to a Oracle Type contract and attempting to serialize Oracle types with the WCF serializer is the issue.


    Lingaraj Mishra

    Wednesday, February 6, 2013 12:30 PM
  • Thank you for your answer; I've solved the problem. 

    In another forum I've found the solution, and I paste here the text. Many thanks.

    ----------------------------

    I'm going to give you the answers from what I've just went through on 
    Windows Server 2008 R2 which is a 64 bit operating system. The 
    application suite of libraries I was given were developed using .net 
    3.5 x86 with the older DLL libraries and I was stuck because I had 
    installed the newer x64 clients from oracle.

    What I found was the following: Install the latest x64 client from 
    Oracle for Windows Server 2008. I believe this would be the 2.7.0 
    client. When you select the installation, make sure you do custom and 
    select the .NET libraries. Configure your tnsnames files and test your 
    tnsping against your data source.

    Next, if you are running a 32 bit application, install the same 
    version of the client for 32 bit. Also, follow the same installation 
    routine, and select the same home.

    When your finished, you will find that you have a single app/product 
    with two client directories (Client1 and Client2).

    if you navigate to the windows/assemblies directory you will find 
    that you have a reference to the Oracle.DataAccess.dll (x2) with one 
    for x86 and one for AMD64.

    Now, depending on if you have developers or are developing on the 
    machine yourself, you may be ok here, however, if they are using older 
    drivers, then you need to perform one last step.

    Navigate to the app\name\product\version\client_1\odp.net\publisher 
    policy\2.x directory. Included in here are two policy files. use 
    gacutil /i to install the Policy.2.111.Oracle.DataAccess.dll into the 
    GAC. This will redirect legacy oracle ODP calls to the newer versions. 
    So, if someone developed with the 10g client, it will now work with the 
    11 client.

    If you need further details, or need other questions answered like 
    flipping 32 bit mode on or off on your .net assemblies, email me.

    J Banks jbanks27@hotmail.com

    Good luck.

    FYI -- Some may be installing the latest ODP.NET with the 2.111.7.20. 
    The main oracle client itself comes with 2.111.7.0 .. I've not had any 
    success with the 7.20 but have no issues with the 7.0 client. 

    -----------------------------------------

    Wednesday, February 13, 2013 5:09 PM