CR and WCF

Hi,
We are looking for a replacement to our current report generator (FastReport.NET), that we use with WCF service. It is possible to use Crystal Reports with WCF and use preview, export, standart CR parameters dialog on client side? Or we have create our own dialog windows with parameters and other?

Hi Mikhail,
Looking at Ms's explanation of a WCF service:
http://msdn.microsoft.com/en-us/library/ms731082%28v=vs.110%29.aspx
If you can output the data into an XML or a Dataset then yes CR should be able to do this. XML is better, CR can handle a lot of data using it and ADO.NET (XML) driver. Using Datasets gets limited to about 5k rows but depends on the number of columns and resources available. DS's are very memory intensive.
If you are using VS 2010, 2012 or 2013 Pro and above you can get the installer into VS from this link:
SAP Crystal Reports, developer version for Microsoft Visual Studio: Updates & Runtime Downloads
Do not install just the runtime packages, they do not integrate into VS.
Don

Similar Messages

  • Error 2032 in communication between Flex Client and WCF

    Hi All,
    I'm trying to establish communication between Flex Client
    and WCF service.
    WCF service accepts gZip compressed data and returns gZip
    compressed results.
    So I used Flex ByteArray.compress() and
    ByteArray.uncompress() for this purpose. However, it throws error
    2032.
    The gZip compression/decompression uses MemoryStream class in
    C#. Based on my previous experience, memory stream communication
    between Flex and C# gives erro 2032.
    Is there a work around for this?
    Thanks,
    Vishal

    I read some thread in the forum, and found somebody had the similar problem with me. Just want to know how to settle this problem.
    In the client/server program. Client is a JAVA program and Server a
    VC++ program. The connection works, and the problem appears after some time. The Client sends a lots of requests to Serverm, the server seems receive nothing. But at the same time, the server is able to send messages to Client. The Client also can get the messages and handle them. Don't understand why there this problem and why it appears when it wants.
    The client is a Win2k platorm with JDK1.3.1 and the server is also a Win2K platform with VC++ 6.0.
    In the Client, using:
    inputFromServer = new BufferedReader(new InputStreamReader(socket.getInputStream()));
    outputToServer = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())),true);
    Hope can get your help.

  • Passing generics between DAL and WCF

    Hi,
    I have a solution with layers including wcf. UI calls the WCF.
    I am getting an error when calling a List in Service1.svc from the DAL layer. How can I fix it?
    Thanks
    var client = new ServiceReference1.PizzaAPIClient();
    var customer = new ServiceReference1.CustomerAPI();
    customer.PhoneNumber = txtPhone.text;
    List<ServiceReference1.CustomerAPI> lstcustomers = client.GetCustomerByPhoneNumber(customer);
    WCF
    IService1.cs
    using BL;
    namespace WcfService1
    [ServiceContract]
    public interface IPizzaAPI
    // TODO: Add your service operations here
    [OperationContract]
    List<CustomerAPI> GetCustomerByPhoneNumber(CustomerAPI customer);
    [DataContract]
    public class OrderAPI
    [DataMember]
    public string OrderName { get; set; }
    [DataContract]
    public class CustomerAPI
    int _Customerid;
    string _firstName;
    string _lastName;
    string _phonenumber;
    public CustomerAPI (int custId, string firstname, string lastName, string phonenumber)
    _Customerid = custId;
    _lastName = lastName;
    _firstName = firstname;
    _phonenumber = phonenumber;
    [DataMember]
    public string PhoneNumber
    get { return _phonenumber; }
    set { _phonenumber = value; }
    [DataMember]
    public int CustomerId
    get { return _Customerid; }
    set { _Customerid = value; }
    --omitted for brevity
    Service1.svc
    using DL;
    using BL;
    namespace WcfService1
    // NOTE: You can use the "Rename" command on the "Refactor" menu to change the class name "Service1" in code, svc and config file together.
    public class Service1 : IPizzaAPI
    List<CustomerAPI> customerLst = new List<CustomerAPI>();
    // Method returning the details of the student for the studentId
    public List<CustomerAPI> GetCustomerByPhoneNumber(CustomerAPI customer)
    List<CustomerAPI> customerLst = DL.CustomerDB.GetCustomerByPhoneNumber(customer.PhoneNumber); //Error 8 Cannot implicitly convert type 'System.Collections.Generic.List<BL.CustomerBL>' to 'System.Collections.Generic.List<WcfService1.CustomerAPI>'
    return customerLst;
    CustomerBL.cs -Business Logic Layer
    namespace BL
    public class CustomerBL
    private string phonenumber;
    public int CustomerId { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public String PhoneNumber
    get
    return this.phonenumber;
    set
    this.phonenumber = value;
    if (this.PhoneNumber == "")
    throw new Exception("Please provide Tel ...");
    CustomerDB.cs -DAL layer
    using BL;
    namespace DL
    public static class CustomerDB
    public static SqlConnection InitConnection()
    DL.ConStrings connstrings = new DL.ConStrings();
    return connstrings.GetPizzaDeliveryConnection();
    //public static CustomerBL[] GetCustomerByPhoneNumber(string phonenumber)
    public static List<CustomerBL> GetCustomerByPhoneNumber(string phonenumber)
    SqlConnection connstrings = InitConnection();
    using (var connection = connstrings)//using doesn't require connection closed
    var cmd = connection.CreateCommand();
    cmd.CommandText = "GetCustomerByPhoneNumber";
    cmd.CommandType = System.Data.CommandType.StoredProcedure;
    cmd.Parameters.AddWithValue("@phonenumber", phonenumber);
    connection.Open();
    var customers = new List<CustomerBL>();
    var reader = cmd.ExecuteReader();
    while (reader.Read())
    var customer = new CustomerBL();
    customer.CustomerId = Convert.ToInt32(reader["CustomerId"]);
    customer.FirstName = Convert.ToString(reader["FirstName"]);
    customer.LastName = Convert.ToString(reader["LastName"]);
    customer.Address = Convert.ToString(reader["Address"]);
    customers.Add(customer);
    return customers;

    Hi collie12,
    >>Cannot implicitly convert type 'System.Collections.Generic.List<BL.CustomerBL>' to 'System.Collections.Generic.List<WcfService1.CustomerAPI>'   
    As the error said that we can not simply convert the 'System.Collections.Generic.List<BL.CustomerBL>' to 'System.Collections.Generic.List<WcfService1.CustomerAPI>' by using the following code, because they are different classes:
    List<CustomerAPI> customerLst = DL.CustomerDB.GetCustomerByPhoneNumber(customer.PhoneNumber);
    Please try to modify the above code as following:
    public List<CustomerAPI> GetCustomerByPhoneNumber(CustomerAPI customer)
    List<BL.CustomerBL> CustomerBLList= DL.CustomerDB.GetCustomerByPhoneNumber(customer.PhoneNumber);
    List<CustomerAPI> CustomerAPIList = new List<CustomerAPI>();
    foreach (var CustomerBL in CustomerBLList)
    CustomerAPI CustomerAPI = new CustomerAPI(CustomerBL.CustomerId, CustomerBL.FirstName, CustomerBL.LastName, CustomerBL.PhoneNumber);
    CustomerAPIList.Add(CustomerAPI);
    return CustomerAPIList;
    Best Regards,
    Amy Peng
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Running Oracle on Windows 2008 R2 64-bits and WCF

    I'm trying to deploy to a Windows 2008 R2 64-Bits server running AppFabric a WCF 4.0 service that connects to an Oracle 10gR2 database. On my Windows 7 64-Bits, inside Visual Studio 2010, everything goes well. I first started using Oracle ODP.NET and, on deploy, I started getting the:
    System.IO.FileNotFoundException: Could not load file or assembly 'Oracle.DataAccess, Version=2.112.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342' or one of its dependencies. The system cannot find the file specified.
    File name: 'Oracle.DataAccess, Version=2.112.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342'
    I tried so many things, and nothing seemed to work, and since I'm kinna desperate to get this working, and went to OracleClient, despite the fact that it's marked as deprecated, just to get this working, and buy me time. I removed everything I had installed, but installed just the win64_11gR2_client.zip, with the runtime option. However, than I started getting:
    System.DllNotFoundException: Unable to load DLL 'oramts.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
    So I reinstalled the win64_11gR2_client.zip, adding the Oracle Services for Microsoft Transaction Server component. But then, whenever I made a call to my WCF service, IIS would crash with the error below:
    Faulting application name: w3wp.exe, version: 7.5.7601.17514, time stamp: 0x4ce7afa2
    Faulting module name: ntdll.dll, version: 6.1.7601.17514, time stamp: 0x4ce7c8f9
    Exception code: 0xc0000374
    Fault offset: 0x00000000000c40f2
    Faulting process id: 0xb28
    Faulting application start time: 0x01cc0b141a857fac
    Faulting application path: c:\windows\system32\inetsrv\w3wp.exe
    Faulting module path: C:\Windows\SYSTEM32\ntdll.dll
    Report Id: 7630c4b0-7707-11e0-8419-00155d010609
    If I tried to change the AppPool to enable 32-bits application, the WSDL doesn't even get generated, and I get the:
    A process serving application pool 'MyAppPool' suffered a fatal communication error with the Windows Process Activation Service. The process id was '2856'. The data field contains the error number.
    I'm lost, and I don't know what to do. How can it be this hard to do a "simple" and typical Oracle set up? What problem would I try to solve? Does anyone know of a blog post that would show how to correctly set this up? I tried looking, but coudln't find anything, and I'm sure I'm not the only one with this problem
    Well, any help would be really appreciated. Tks so much

    Supported on Win 2008 R2 64bit is only 10gR2( with patchset level 10.2.0.5) and 11gR2. Oracle support will refuse any assistance for earlier versions, that should you keep in mind. Although some people say client is not so critical as the database server.
    Werner

  • Crystal Reports for Visual Studio and (Wcf) Web Services

    I´m evaluating Crystal reports for Visual Studio 2010. I want to read data from a (Wcf) Webservice into the predefined Reports and deliver them to the Users in an ASP.NET Application. As far as I see reading Webservices via the XML/Webservice datasource works good in the Crystal Reports 2011 Applications - But I have Problems with the Integration of the XML/Webservice datasource in the CRVS2010 Environment.
    I read your Article on sdn: http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/13732
    which helped us to enable the XML Datasource in the CRVS2010 environment on a Machine where Crystal Reports 2011 and VS2010 is installed, but this required copying DLL´s and installing the JRE.
    But I´m not able to  run the XML/Webservices datasource on a webserver in a ASP.NET Application where Crystal Reports 2011 is not installed (only the runtime) - the above post doesn´t help because  the path structure is completely different on my machine. Is there a manual, which helps me to enable the XML datasoucre and the CRVS2010 runtime ?
    I´m not sure if reading XML is the best practice for a new Project, especially after reading your article at http://forums.sdn.sap.com/thread.jspa?threadID=1952093
    I´m now evaluating ADO.NET XML as mentioned in your article, but I´m not sure if this is the right decision.
    Is there a a new version  for Visual Studio 2010 of the u2022csharp_web_adonet.zip example ?
    BTW: All examples in the Sample Code for Crystal reports for Visual Studio 2010 reference Assemblies in Version 14, which are not present on my machine. I had to find/replave 14 through 13, before they are compilable. Did I made a mistake during installation ?

    Hi Henrik,
    First of all you didn't make any mistake installing CRVS2010. It has assemblies with version 13.x
    Now as far as patches are concerned ensure that you are on SP2. You can get runtime and patch from following:
    http://www.sdn.sap.com/irj/sdn/crystal-xcelsius-support?rid=/webcontent/uuid/d01fdad8-44e5-2d10-61ad-9d2d4158f3a8
    You can opt for AD.NET as one of the datasource but what is the error/ warning you get when you use Web Serive as datasource?
    You can find the latest samples created for CR2008 here
    http://www.sdn.sap.com/irj/boc/index?rid=/library/uuid/d0bf8496-2a81-2b10-95ac-b1f48d5b63f5
    - Saurabh

  • Silverlight 5 and WCF Ria Services Link Visual Studio 2012

    Hi, I have a Visual Studio 2010 Project, I installed Visual Studio 2012 and Opened the Project with VS 2012. I can run the Project without issues but at design time the Web Project is no recognized as a valid reference.
    My Silverlight application has a WCF RIA Services link to this Project. If I switch to Visual Studio 2010 I have not design time errors.
    Why in Visual Studio 2012 my Silverlight 5 Project shows a message indicating the Web Project namespace does not exists?
    Obiously the reference does not exists because is a WCF RIA Services link and VS Should infer the namespace.
    I've notice that the generated code is being created with the right namespace, it's just that Visual Studio 2012 is not recognizing the classes in the generated code.
    Help please.

    Hi,
     You need add web service again for VS-2012. You can see the step by step process
     http://atikpassion.blogspot.com/2013/01/add-service-after-migrating-silverlight.html
    Hope it will help you.
    Regards atik sarker

  • Solution for connection between BODS and WCF web service ?

    Hi,
    we have a unique requirement of connecting BODS to WCF webservice. This web service acts as a layer for connection between proprietary databases (secured) and other external systems. Queries are to be sent to this web service in order to fetch data from proprietary databases.
    In order to connect to these web services, we should also provide Address, Binding and contract whose details are already present with us.
    Example of web service address:     net.tcp://op12345:10101/sd
    I heard Adapters are the best way of connecting to the above web service, could you please provide some guidance on connecting through adapters if it is the best solution.
    Could someone suggest the best possible approach(ASAP) to bring connection between BODS and web services and to execute the above requirement.
    Please let me know in case of any more information.
    Regards
    Surya

    Hello Nir,
    I tried to import the my VS2008 + .net 3.5 as Wsdl local file to the Xcelsius 2008 but there is message unable to load url.
    I tried to import your Wsdl developed by .net:
    http://www.webservicex.net/airport.asmx?WSDL
    and it works ok.
    Can you send me or print here the service class definition and the configuration file for  http://www.webservicex.net/airport.asmx?WSDL?
    Thanks in advance,
    Sergey Osmachkin

  • Unity "initalization" and WCF client channels

    Hi folks,
    Any chance you can take a look at this code and tell me why it is/isn't a good idea and alternatives or improvements please?
    Given - Unity, ASP.NET and a WCF service
    //expensive bit, want ONE (singleton) per app - any need for thread/instance/other saftey???container.RegisterInstance<System.ServiceModel.ChannelFactory<ISecurityService>>(new System.ServiceModel.ChannelFactory<ISecurityService>("*"));
    //register the Serivce "creation process" via InjectionFactory (ie: create a new channel for each "Service" request...)
    container.RegisterType<ISecurityService>(
    new InjectionFactory(p=>p.Resolve<System.ServiceModel.ChannelFactory<ISecurityService>>().CreateChannel())
    - sure I'm noJedi but that's no reason to stop trying! -

    First of all, I (personally) find your response a little abusive but perhaps there is something lost in text, so I'll pretend I'm not offended.
    I THINK I disagree with you and I THINK that your suggestion to have a ServiceLayer class as a wrapper around the "WCF service" (I assume you are refering to either the ChannelFactory<T> or svcutil generated client) is simply abstracting
    the communication from the calling code.
    (Note I'm not saying that abstraction is BAD, I'm just struggling to see the benefit).
    eg: "->" means talks to and DI would inject things in the reverse direction
    Your version:
    webapp -> SvcLyr(channel) -> WCF comms Channel  --- WCF magic --- SERVICE contract -> code - DB...
    constructor:
    public webappClass1(SvcLayer<T> dependentService){m_svc= dependentService;}
    My orgininal version:
    webapp -> WCF comms Channel  --- WCF magic --- SERVICE contract -> code - DB...
    constructor:
    public webappClass1(IMyServiceContract dependentService){m_svc= dependentService;}
    What  have we lost/gained by your "ServiceLayer<T>" class? I feel like you are RE-IMPLEMENTING "ChannelFactory<T>" for no benefit...?!?
    My constructor is simple in that it ONLY depends on the service contract and no other "classes"...
    IF my "misuse and abuse" is that "glaring" then PLEASE set me straight and help me to understand the error of my ways, if not then I'd rather you just included the links and abstained from the superlatives, so that I'm not misconstruing
    them as abusive.
    - sure I'm noJedi but that's no reason to stop trying! -

  • WLS Policies and WCF interoperability issue

    Hi all,
    I have created a web service in jdeveloper 11g which I have deployed to an Stand Alone Weblogic Server 10.3.
    The service uses the policy Wssp1.2-2007-Https.xml. I have generated a consumer in Jdeveloper 11g for the service, and it works perfectly.
    However I have the requirement of a consumer in C#, I've used svcutil to generate the client but I'm getting the following warning:
    A security policy was imported for the endpoint. The security policy contains requirements that cannot be represented in a Windows Communication Foundation configuration. Look for a comment about the SecurityBindingElement parameters that are required in the configuration file that was generated. Create the correct binding element with code. The binding configuration that is in the configuration file is not secure.
    In the WSDL I have:
    <wsp:UsingPolicy wssutil:Required="true"/>
    <wsp:Policy wssutil:Id="Wssp1.2-2007-Https.xml">
    <ns0:TransportBinding>
    <wsp:Policy>
    <ns0:TransportToken>
    <wsp:Policy>
    <ns0:HttpsToken/>
    </wsp:Policy>
    </ns0:TransportToken>
    <ns0:AlgorithmSuite>
    <wsp:Policy>
    <ns0:Basic256/>
    </wsp:Policy>
    </ns0:AlgorithmSuite>
    <ns0:Layout>
    <wsp:Policy>
    <ns0:Lax/>
    </wsp:Policy>
    </ns0:Layout>
    <ns0:IncludeTimestamp/>
    </wsp:Policy>
    </ns0:TransportBinding>
    </wsp:Policy>
    Do I have to select a different policy?
    Am I missing something?
    Thanks,
    Miguel.

    Hi all,
    I have created a web service in jdeveloper 11g which I have deployed to an Stand Alone Weblogic Server 10.3.
    The service uses the policy Wssp1.2-2007-Https.xml. I have generated a consumer in Jdeveloper 11g for the service, and it works perfectly.
    However I have the requirement of a consumer in C#, I've used svcutil to generate the client but I'm getting the following warning:
    A security policy was imported for the endpoint. The security policy contains requirements that cannot be represented in a Windows Communication Foundation configuration. Look for a comment about the SecurityBindingElement parameters that are required in the configuration file that was generated. Create the correct binding element with code. The binding configuration that is in the configuration file is not secure.
    In the WSDL I have:
    <wsp:UsingPolicy wssutil:Required="true"/>
    <wsp:Policy wssutil:Id="Wssp1.2-2007-Https.xml">
    <ns0:TransportBinding>
    <wsp:Policy>
    <ns0:TransportToken>
    <wsp:Policy>
    <ns0:HttpsToken/>
    </wsp:Policy>
    </ns0:TransportToken>
    <ns0:AlgorithmSuite>
    <wsp:Policy>
    <ns0:Basic256/>
    </wsp:Policy>
    </ns0:AlgorithmSuite>
    <ns0:Layout>
    <wsp:Policy>
    <ns0:Lax/>
    </wsp:Policy>
    </ns0:Layout>
    <ns0:IncludeTimestamp/>
    </wsp:Policy>
    </ns0:TransportBinding>
    </wsp:Policy>
    Do I have to select a different policy?
    Am I missing something?
    Thanks,
    Miguel.

  • WCF and Windows service

    Hello. Please, can somebody advise me? I create WCF library that realizes endpoint net-pipe for job with external WCF.I placed lib in Windows Service. But I dont know how to make data exchange from library without usage of WCF client-server mechanism.
    How can I put or get data from running WCF service? for example I want to register WCF errors in Eventlog or give parameters to service for transfer them for clients connected to WCF. Thanks a lot

    Thanks.
    In my project i need to create Silverlight or WPF client for industrial monitoring in my plant  in the real time. For this I would like to use duplex channel in  wcf service on the my OPC client
    I have two objects in my Windows Service project. One object is OPC client and database client. If i create this object in code - everything works good. Another object is WCF service library with net.pipe binding for external connection to this service.
    Ok. I define in my code:
    // window service class   
     public partial class SyncSiemensService : ServiceBase
            private OpcServiceClass opcServer = new OpcServiceClass();
            public SyncSiemensService()
                InitializeComponent();
            protected override void OnStart(string[] args)
                      // OPC client- database client object
                      opcServer.Start();
                     // WCF interface for external communication
                     // with this windows service
                      using (ServiceHost host = new ServiceHost(typeof(DuplexPipeWcfService)))
                                     host.Open();
                                     eventLog.WriteEntry("<Bla-Bla-Bla", EventLogEntryType.Information);
    WCF service
            [OperationContract(IsOneWay = true)]
            void GetActValuesFromLine(string line);
    string line - external data FOR opc object
    and his callback
        public interface IDuplexPipeWcfServiceCallback
            [OperationContract(IsOneWay = true)]
            void ActualValuesUpdate(WcfDuplexActualValues value);
    but "WcfDuplexActualValues value" in mine occurrence - data from OPC object for external connection in WCF. And now i dont know, how retrieve data from opc object without usage client-service communication between OPC object and WCF service library.

  • Beginner's questions about WCF and web services

    For the purpose of this forum let me just say that I got my certs back in Dot Net 2.0.  I know how to write simple web services.  Now someone has dumped a huge package of code on my desk that (I think) contains a WCF project (without documentation
    of course).  Contains references to System.ServiceModel.
    So my questions...
    1.  What (if anything) is the difference between WCF and Web API?
    2.  If there is a difference,  how do you decide which one to use?
     3.  Assuming that this project on my desk is a WCF project, where can I find some hints on how to run it in VS2013 Community? 

    WEB API is restricted to ASP.NET and HTTP. 
    http://captechconsulting.com/blog/john-nein/aspnet-web-api-vs-windows-communication-foundation-wcf
    WCF uses more communication protocols than just HTTP, there are more ways to host a WCF service other than IIS, like a selfhosting exe type WCF server,   and WCF is a SOA solution.
    WCF is a more robust solution in a whole lot of ways is the bottom line.
    http://en.wikipedia.org/wiki/Service-oriented_architecture
    http://www.codeproject.com/Articles/515253/Service-Oriented-Architecture-and-WCF

  • Issues with creating and sending BOM XML IDOC to SAP using 2010 WCF-SAP Adapter (without using Biztalk Server)

      I'm trying to replace an existing Biztalk 2006 Send BOM IDOC process, and completely remove Biztalk server from the equation.   The existing Bizatalk 2006 server receives an input BOM (Bill of Materials) flat file, and using a Biztalk Map (BM08),
    and Orchestration, generates an Idoc and sends it to SAP.
      In my replacement C# program, I'm using the 2010 WCF-SAP Adapter, and am trying to generate the BOMMAT03 XML IDOC it to SAP.  
      I generated the BOMMAT03 schema from SAP using the Add Adapter Service in VS 2010.  I was able to generate a BM08 XSLT from the existing BMO8 map in the current Biztalk 2006 process.  I am able to run a XSLT transform on the input BOM flat
    file, and generate an XML file from that.  
      However, I've run into a few issues.   First of which, is that the XML file that is generated from the XSLT transform is NOT the same schema as the BOMMAT03 schema expects.  It's somewhat similar, but different enough that I have to manually
    translate between the two in my code.  I've verified that both the original Bitztalk 2006 process and my replacement program use BOMMAT V3 from SAP.  Question--Is Biztalk 2006 server doing some other magic to turn that transormed XML into the BOMMAT03
    schema?    
     I ended writing code which translates the transformed XML into the BOMMAT03 schema (which is a strong typed XML IDOC at this point).
      However, when I try to send the BOMMAT03 XML IDOC, I get an exception "Object reference not set to an instance of an object."
                   idocClient.Send(idocData, ref sadapterTxGuid);
    idocData is of type BOMMAT03, and I've verified that the various fields are populated.  
      Any help is appreciated. 

    Well, putting in a MSDN subscription support ticket for Biztalk server actually helped with the issue.  They didn't find, or fix the issue directly.  But one of the examples (https://randypaulo.wordpress.com/tag/idoc/) they sent over, jogged my
    memory, and I realized in the code snippet below, I had accidentally deleted the 1st line.  Such a simple mistake, yet was easy to overlook.  The URL example is almost EXACTLY like my code, but without the transform and translation code to convert
    from input XML file to IDOC XML.  If someone is interested in that, let me know.    
    //Forgot the 1st line.  
    idocClient = new IdocBOMMAT03SIEIS_WED_BOMMAT03V3R700Client(binding, endpointAddress);
     idocClient.Send(idocData, ref sadapterTxGuid);
    For anyone else interested in knowing, you CAN send a strongly typed IDOC to SAP using C#.NET and the WCF SAP 2010 Adapter, using the IDOC Binding Client class you generated using the Add Adapter Service Reference in VS2010.  
    The one difference, which no one, not even the tech support from MS could tell me, was why the XSLT which I generated from the original map, did not transform the input BOM XML into the BOMMAT03 XML.  Instead, it transformed it into an intermediate
    XML, which resembled the BOMMAT03 IDOC XML, but still needed to be translated to the BOMMAT03 IDOC format.  
    The tech support person swore up and down that it should.  But I believe that something happens in Biztalk server, after the Mapping occurs, maybe in the Pipeline, which converts that
    intermediate XML into the final BOMMAT03 IDOC XML format.
    I do think that the examples are severely lacking in showing how to send a strong typed IDOC using C# and the WCF-SAP Adapter.  Even worse, the examples are completely lacking in how to actually generate a weakly typed IDOC.  They show how to send
    that weakly typed IDOC, but show me, or give me a class to be able to generate it.
    I realize that this is not quite the "recommended way" to do it, but in reality, not everyone wants or even needs a full Biztalk installation.   For some simple stuff like this, a C#.NET program and WCF-SAP adapter do the trick.  

  • Is it possible to call wcf webservice on adf mobile?

    Hi all,
    I tried to consume a wcf webservice method on adf mobile by using java api as seen as below code snippet.
    I tried to run on classical adf generic application by creating webservice proxy. Then i could get response properly. But when i consume webservice method on adfmobile i get http 501 error response. I have tried using drag and drop into amx page and execute binding action, result is same.
    What might be the reason?
    brgds
        private boolean validateClient()
            List pnames = new ArrayList();
            List pvals = new ArrayList();
            List ptypes = new ArrayList();
            pnames.add("UserName");
            pvals.add("test");
            ptypes.add(String.class);
            pnames.add("Password");
            pvals.add("123");
            ptypes.add(String.class);
            pnames.add("DeviceID");
            pvals.add("123456");
            ptypes.add(String.class);
            GenericType result = null;
            try
                ClientDetail clientDetail = null;
                result = (GenericType)AdfmfJavaUtilities.invokeDataControlMethod("mlService", null, "ValidateClient", pnames, pvals, ptypes);
                for (int i = 0; i < result.getAttributeCount(); i++)
                    // Get each individual GenericType instance that holds the attribute key-value pairs
                    GenericType entityGenericType = (GenericType)result.getAttribute(i);
                    clientDetail = (ClientDetail)GenericTypeBeanSerializationHelper.fromGenericType(ClientDetail.class, entityGenericType);
                if (clientDetail != null)
                    if (clientDetail.getIsValidate().booleanValue())
                        return true;
                    else
                        AdfmfContainerUtilities.invokeContainerJavaScriptFunction("com.accmee.menu", "navigator.notification.alert",
                                                                                  new Object[] { "No access",
                                                                                                 "No access: ", "Ok" });
                } else
                        AdfmfContainerUtilities.invokeContainerJavaScriptFunction("com.accmee.menu", "navigator.notification.alert",
                                                                                  new Object[] { "No access",
                                                                                                 "No access: ", "Ok" });
                    return false;
            catch (AdfInvocationException aie)
                if (AdfInvocationException.CATEGORY_WEBSERVICE.compareTo(aie.getErrorCategory()) == 0)
                    throw new AdfException("Error with the server. Please try later.", AdfException.ERROR);
                aie.printStackTrace();
                throw new AdfException("Uzak veri sağlayısı çağrılırken hata oluştu", AdfException.ERROR);
            return false;

    No, as far as i know they are not secured service. What if they are secured, do i need to authenticate during consuming method in webservice proxy, dont i. But as i said before, i could consume and get response on webservice proxy in regular adf project.
    I can consume methods of another webservice (i.e. http://www.html2xml.nl/Services/Calculator/Version1/Calculator.asmx?WSDL) also in all methods that presented.
    No, i can not obtain access on another way to server, it is remote and out of my control.
    Ok, i tried as you say.
    Problem exists here too. May be an interopability problem on between adf platform and wcf service? What do you think Mr Shmeltzer?
    http://i42.tinypic.com/ny8jtd.png
    <WebServiceConnectionMessages> <debugExecuteFailure> Failed to execute a SAAJ interaction.
    oracle.j2ee.ws.client.jaxws.JRFSOAPFaultException: Client received SOAP Fault from server : The SOAP action specified on the message, '', does not match the HTTP SOAP Action, 'http://tempuri.org/IAuthenticationService/ValidateClient'.
      at oracle.j2ee.ws.client.jaxws.DispatchImpl.throwJAXWSSoapFaultException(DispatchImpl.java:1040)
      at oracle.j2ee.ws.client.jaxws.DispatchImpl.invoke(DispatchImpl.java:826)
      at oracle.j2ee.ws.client.jaxws.OracleDispatchImpl.synchronousInvocationWithRetry(OracleDispatchImpl.java:235)
      at oracle.j2ee.ws.client.jaxws.OracleDispatchImpl.invoke(OracleDispatchImpl.java:106)
      at oracle.adf.model.connection.webservice.impl.SaajInteractionImpl.execute(SaajInteractionImpl.java:80)
      at oracle.adfinternal.model.adapter.webservice.provider.soap.SOAPProvider.execute(SOAPProvider.java:324)
      at oracle.adfinternal.model.adapter.webservice.WSDataControl.invokeOperation(WSDataControl.java:277)
      at oracle.adf.model.bean.DCBeanDataControl.invokeMethod(DCBeanDataControl.java:444)
      at oracle.adf.model.binding.DCInvokeMethod.callMethod(DCInvokeMethod.java:266)
      at oracle.jbo.uicli.binding.JUCtrlActionBinding.doIt(JUCtrlActionBinding.java:1626)
      at oracle.adf.model.binding.DCDataControl.invokeOperation(DCDataControl.java:2169)
      at oracle.adf.model.bean.DCBeanDataControl.invokeOperation(DCBeanDataControl.java:507)
      at oracle.adf.model.adapter.AdapterDCService.invokeOperation(AdapterDCService.java:307)
      at oracle.jbo.uicli.binding.JUCtrlActionBinding.invoke(JUCtrlActionBinding.java:731)
      at oracle.jbo.uicli.binding.JUMethodIteratorDef$JUMethodIteratorBinding.invokeMethodAction(JUMethodIteratorDef.java:173)
      at oracle.jbo.uicli.binding.JUMethodIteratorDef$JUMethodIteratorBinding.initSourceRSI(JUMethodIteratorDef.java:656)
      at oracle.adf.model.binding.DCIteratorBinding.callInitSourceRSI(DCIteratorBinding.java:1700)
      at oracle.adf.model.binding.DCIteratorBinding.internalGetRowSetIterator(DCIteratorBinding.java:1674)
      at oracle.adf.model.binding.DCIteratorBinding.refresh(DCIteratorBinding.java:4476)
      at oracle.adf.model.binding.DCExecutableBinding.refreshIfNeeded(DCExecutableBinding.java:341)
      at oracle.adf.model.binding.DCIteratorBinding.getRowSetIterator(DCIteratorBinding.java:1634)
      at oracle.jbo.uicli.binding.MyIteratorBinding.initSourceRSI(JUAccessorIteratorDef.java:768)
      at oracle.adf.model.binding.DCIteratorBinding.callInitSourceRSI(DCIteratorBinding.java:1700)
      at oracle.adf.model.binding.DCIteratorBinding.internalGetRowSetIterator(DCIteratorBinding.java:1674)
      at oracle.adf.model.binding.DCIteratorBinding.refresh(DCIteratorBinding.java:4476)
      at oracle.adf.model.binding.DCExecutableBinding.refreshIfNeeded(DCExecutableBinding.java:341)
      at oracle.jbo.uicli.binding.JUCtrlValueBinding.isAttributeUpdateable(JUCtrlValueBinding.java:1707)
      at oracle.jbo.uicli.binding.JUCtrlValueBinding.isAttributeUpdateable(JUCtrlValueBinding.java:1826)
      at oracle.jbo.uicli.binding.JUCtrlValueBinding.isUpdateable(JUCtrlValueBinding.java:2722)
      at oracle.adfinternal.view.faces.model.AdfELResolver._isReadOnly(AdfELResolver.java:130)
      at oracle.adfinternal.view.faces.model.AdfELResolver.isReadOnly(AdfELResolver.java:147)
      at oracle.adfinternal.view.faces.model.AdfELResolverProxy.isReadOnly(AdfELResolverProxy.java:78)
      at com.sun.faces.el.DemuxCompositeELResolver._isReadOnly(DemuxCompositeELResolver.java:293)
      at com.sun.faces.el.DemuxCompositeELResolver.isReadOnly(DemuxCompositeELResolver.java:322)
      at com.sun.el.parser.AstValue.isReadOnly(Unknown Source)
      at com.sun.el.ValueExpressionImpl.isReadOnly(Unknown Source)
      at oracle.adfinternal.view.faces.renderkit.rich.EditableValueRenderer._getUncachedReadOnly(EditableValueRenderer.java:476)
      at oracle.adfinternal.view.faces.renderkit.rich.EditableValueRenderer.cacheReadOnly(EditableValueRenderer.java:406)
      at oracle.adfinternal.view.faces.renderkit.rich.LabeledInputRenderer.beforeEncode(LabeledInputRenderer.java:128)
      at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:510)
      at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:923)
      at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1681)
      at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:624)
      at oracle.adf.view.rich.render.RichRenderer.encodeChild(RichRenderer.java:3201)
      at oracle.adfinternal.view.faces.renderkit.rich.PanelFormLayoutRenderer._encodeFormItem(PanelFormLayoutRenderer.java:1088)
      at oracle.adfinternal.view.faces.renderkit.rich.PanelFormLayoutRenderer.access$100(PanelFormLayoutRenderer.java:50)
      at oracle.adfinternal.view.faces.renderkit.rich.PanelFormLayoutRenderer$FormColumnEncoder.processComponent(PanelFormLayoutRenderer.java:1604)
      at oracle.adfinternal.view.faces.renderkit.rich.PanelFormLayoutRenderer$FormColumnEncoder.processComponent(PanelFormLayoutRenderer.java:1523)
      at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:187)
      at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:318)
      at org.apache.myfaces.trinidad.component.UIXComponent.encodeFlattenedChildren(UIXComponent.java:283)
      at oracle.adfinternal.view.faces.renderkit.rich.PanelFormLayoutRenderer._encodeChildren(PanelFormLayoutRenderer.java:420)
      at oracle.adfinternal.view.faces.renderkit.rich.PanelFormLayoutRenderer.encodeAll(PanelFormLayoutRenderer.java:208)
      at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1452)
      at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:511)
      at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:923)
      at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1681)
      at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:624)
      at oracle.adf.view.rich.render.RichRenderer.encodeChild(RichRenderer.java:3201)
      at oracle.adfinternal.view.faces.renderkit.rich.PanelFormLayoutRenderer._encodeFormItem(PanelFormLayoutRenderer.java:1127)
      at oracle.adfinternal.view.faces.renderkit.rich.PanelFormLayoutRenderer.access$100(PanelFormLayoutRenderer.java:50)
      at oracle.adfinternal.view.faces.renderkit.rich.PanelFormLayoutRenderer$FormColumnEncoder.processComponent(PanelFormLayoutRenderer.java:1604)
      at oracle.adfinternal.view.faces.renderkit.rich.PanelFormLayoutRenderer$FormColumnEncoder.processComponent(PanelFormLayoutRenderer.java:1523)
      at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:187)
      at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:318)
      at org.apache.myfaces.trinidad.component.UIXComponent.encodeFlattenedChildren(UIXComponent.java:283)
      at oracle.adfinternal.view.faces.renderkit.rich.PanelFormLayoutRenderer._encodeChildren(PanelFormLayoutRenderer.java:420)
      at oracle.adfinternal.view.faces.renderkit.rich.PanelFormLayoutRenderer.encodeAll(PanelFormLayoutRenderer.java:208)
      at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1452)
      at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:511)
      at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:923)
      at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1681)
      at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:624)
      at oracle.adf.view.rich.render.RichRenderer.encodeChild(RichRenderer.java:3201)
      at oracle.adfinternal.view.faces.renderkit.rich.PanelStretchLayoutRenderer.encodeCenterFacet(PanelStretchLayoutRenderer.java:878)
      at oracle.adfinternal.view.faces.renderkit.rich.PanelStretchLayoutRenderer._encodeCenterPane(PanelStretchLayoutRenderer.java:1299)
      at oracle.adfinternal.view.faces.renderkit.rich.PanelStretchLayoutRenderer._encodeMiddlePanes(PanelStretchLayoutRenderer.java:350)
      at oracle.adfinternal.view.faces.renderkit.rich.PanelStretchLayoutRenderer.encodeAll(PanelStretchLayoutRenderer.java:315)
      at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1452)
      at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:511)
      at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:923)
      at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1681)
      at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:624)
      at oracle.adf.view.rich.render.RichRenderer.encodeChild(RichRenderer.java:3201)
      at org.apache.myfaces.trinidad.render.CoreRenderer.encodeAllChildren(CoreRenderer.java:641)
      at oracle.adf.view.rich.render.RichRenderer.encodeAllChildrenInContext(RichRenderer.java:3062)
      at oracle.adfinternal.view.faces.renderkit.rich.FormRenderer.encodeAll(FormRenderer.java:274)
      at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1452)
      at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:511)
      at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:923)
      at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1681)
      at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:624)
      at oracle.adf.view.rich.render.RichRenderer.encodeChild(RichRenderer.java:3201)
      at org.apache.myfaces.trinidad.render.CoreRenderer.encodeAllChildren(CoreRenderer.java:641)
      at oracle.adf.view.rich.render.RichRenderer.encodeAllChildrenInContext(RichRenderer.java:3062)
      at oracle.adfinternal.view.faces.renderkit.rich.DocumentRenderer.encodeAll(DocumentRenderer.java:1275)
      at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1452)
      at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:511)
      at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:923)
      at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1681)
      at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1677)
      at oracle.adfinternal.view.faces.component.AdfViewRoot.encodeAll(AdfViewRoot.java:91)
      at com.sun.faces.application.view.JspViewHandlingStrategy.doRenderView(JspViewHandlingStrategy.java:431)
      at com.sun.faces.application.view.JspViewHandlingStrategy.renderView(JspViewHandlingStrategy.java:233)
      at org.apache.myfaces.trinidadinternal.application.ViewDeclarationLanguageFactoryImpl$ChangeApplyingVDLWrapper.renderView(ViewDeclarationLanguageFactoryImpl.java:350)
      at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)
      at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:273)
      at org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:165)
      at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._renderResponse(LifecycleImpl.java:1035)
      at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:342)
      at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:236)
      at javax.faces.webapp.FacesServlet.service(FacesServlet.java:509)
      at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
      at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
      at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
      at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
      at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:173)
      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
      at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:125)
      at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:468)
      at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
      at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:468)
      at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:293)
      at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:199)
      at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
      at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:119)
      at java.security.AccessController.doPrivileged(Native Method)
      at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315)
      at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:442)
      at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:103)
      at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:171)
      at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
      at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:139)
      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
      at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
      at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
      at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
      at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
      at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
      at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
      at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
      at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
      at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
      at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
    <env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://tempuri.org/"><env:Header/><env:Body><ns1:ValidateClient/></env:Body></env:Envelope><SOAPProvider> <handleFault> The Web Service call generated a SOAP Fault : [s:Sender] The SOAP action specified on the message, '', does not match the HTTP SOAP Action, 'http://tempuri.org/IAuthenticationService/ValidateClient'.
    <SOAPProvider> <handleFault> Verify if all the necessary parameter values are provided correctly and confirm to the schema constraints as defined in the WSDL
    <SOAPProvider> <handleFault> If the service requires any SOAP headers, Verify that they have been correctly defined in the request
    <SOAPProvider> <handleFault> The Web Service may have generated an exception in an attempt to handle the request, and has returned a SOAP fault to indicate that exception.
    brgds

  • WCF called from Sharepoint - thread abort exception

    Hello,
    we have an SP web part calling WCF service using simple http binding. SP and WCF are located on different servers in different countries, so not at the same machine. Using WCF we send/receive some files, which are processed at the WCF server site, parsed
    and stored to database. It takes some time, of course, but usually not more than minute or 2. On development server it works normally but on production server we are facing problems like
    System.Threading.ThreadAbortException: Thread was being aborted. at System.Net.UnsafeNclNativeMethods.OSSOCK.recv(IntPtr socketHandle, Byte* pinnedBuffer, Int32 len, SocketFlags socketFlags) at System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset,
    Int32 size, SocketFlags socketFlags, SocketError& errorCode) at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size) at System.Net.PooledStream.Read(Byte[] buffer, Int32 offset, Int32 size) at System.Net.Connection.SyncRead(HttpWebRequest
    request, Boolean userRetrievedStream, Boolean probeRead) at System.Net.ConnectStream.ProcessWriteCallDone(ConnectionReturnResult returnResult) at System.Net.HttpWebRequest.GetResponse() at System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan
    timeout) at System.ServiceModel.Channels.RequestChannel.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(IMethodCallMessage methodCall, ProxyOperationRuntime operation) at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message) at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData&
    msgData, Int32 type) at DHI.FRMP.Sharepoint.Tasks.MCSPConnector.IMCSPConnector.TaskUpdate(TaskUpdateRequest request) at DHI.FRMP.Sharepoint.Tasks.TaskEditSave.TaskEditSave.btnSaveChanges_Click(Object sender, ImageClickEventArgs e)
    or
    System.Threading.ThreadAbortException: Thread was being aborted. at System.Threading.WaitHandle.WaitOneNative(SafeHandle waitableSafeHandle, UInt32 millisecondsTimeout, Boolean hasThreadAffinity, Boolean exitContext) at System.Threading.WaitHandle.InternalWaitOne(SafeHandle
    waitableSafeHandle, Int64 millisecondsTimeout, Boolean hasThreadAffinity, Boolean exitContext) at System.Net.LazyAsyncResult.WaitForCompletion(Boolean snap) at System.Net.Connection.SubmitRequest(HttpWebRequest request, Boolean forcedsubmit) at System.Net.ServicePoint.SubmitRequest(HttpWebRequest
    request, String connName) at System.Net.HttpWebRequest.SubmitRequest(ServicePoint servicePoint) at System.Net.HttpWebRequest.GetRequestStream(TransportContext& context) at System.Net.HttpWebRequest.GetRequestStream() at System.ServiceModel.Channels.HttpOutput.WebRequestHttpOutput.GetOutputStream()
    at System.ServiceModel.Channels.HttpOutput.Send(TimeSpan timeout) at System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpChannelRequest.SendRequest(Message message, TimeSpan timeout) at System.ServiceModel.Channels.RequestChannel.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(IMethodCallMessage
    methodCall, ProxyOperationRuntime operation) at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message) at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type) at DHI.FRMP.Sharepoint.Tasks.MCSPConnector.IMCSPConnector.GetTaskCatchmentList(GetTaskCatchmentListRequest
    request) at DHI.FRMP.Sharepoint.Tasks.TaskAdd.ddlWaterRegion_SelectedIndexChanged(Object sender, EventArgs e)
    We have already checked that the client is properly closed and disposed. We also know that the web service call is processed correctly (from the logs).
    Streams are closed.
    Sharepoint timeout for long operation is set to 3600.
    WCF is hosted in windows service application, used .NET 4.0. WCF config:
    <system.serviceModel>
    <client />
    <bindings>
    <basicHttpBinding>
    <binding name="StreamedHTTP" closeTimeout="04:01:00" openTimeout="04:01:00"
    receiveTimeout="04:10:00" sendTimeout="04:01:00" maxBufferSize="2147483647"
    maxReceivedMessageSize="2147483647" messageEncoding="Mtom" transferMode="Streamed">
    <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
    maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
    </binding>
    </basicHttpBinding>
    </bindings>
    <services>
    <service name="DHI.FRMP.MCSPConnector.MCSPConnector">
    <endpoint address="" binding="basicHttpBinding" bindingConfiguration="StreamedHTTP"
    contract="DHI.FRMP.MCSPConnector.IMCSPConnector">
    <identity>
    <dns value="localhost" />
    </identity>
    </endpoint>
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
    </service>
    </services>
    <behaviors>
    <serviceBehaviors>
    <behavior>
    <!-- To avoid disclosing metadata information,
    set the values below to false before deployment -->
    <serviceMetadata httpGetEnabled="True" httpsGetEnabled="False"/>
    <!-- To receive exception details in faults for debugging purposes,
    set the value below to true. Set to false before deployment
    to avoid disclosing exception information -->
    <serviceDebug includeExceptionDetailInFaults="True"/>
    </behavior>
    </serviceBehaviors>
    </behaviors>
    Client creation code
    public static IMCSPConnectorChannel CreateWCFclient(out ChannelFactory<IMCSPConnectorChannel> factory)
    BasicHttpBinding myBinding = new BasicHttpBinding();
    TimeSpan timeOut = new TimeSpan(4, 1, 0);
    int maxSize = 2147483647;
    myBinding.CloseTimeout = timeOut;
    myBinding.OpenTimeout = timeOut;
    myBinding.ReceiveTimeout = timeOut;
    myBinding.SendTimeout = timeOut;
    myBinding.AllowCookies = false;
    myBinding.BypassProxyOnLocal = false;
    myBinding.HostNameComparisonMode = HostNameComparisonMode.StrongWildcard;
    myBinding.MaxBufferSize = maxSize;
    myBinding.MaxBufferPoolSize = maxSize;
    myBinding.MaxReceivedMessageSize = maxSize;
    myBinding.MessageEncoding = WSMessageEncoding.Mtom;
    myBinding.TextEncoding = System.Text.Encoding.UTF8;
    myBinding.TransferMode = TransferMode.Streamed;
    myBinding.UseDefaultWebProxy = true;
    myBinding.ReaderQuotas.MaxDepth = 128;
    myBinding.ReaderQuotas.MaxStringContentLength = maxSize;
    myBinding.ReaderQuotas.MaxArrayLength = maxSize;
    myBinding.ReaderQuotas.MaxBytesPerRead = maxSize;
    myBinding.ReaderQuotas.MaxNameTableCharCount = maxSize;
    ChannelFactory<IMCSPConnectorChannel> myFactory = null;
    //SPSecurity.RunWithElevatedPrivileges(delegate()
    var constants = new Settings(SPContext.Current.Site);//siteelev);
    string endpointAddress = constants.WcfUrl;
    EndpointAddress myEndpoint = new EndpointAddress(endpointAddress);
    myFactory = new ChannelFactory<IMCSPConnectorChannel>(myBinding, myEndpoint);
    IMCSPConnectorChannel channel = myFactory.CreateChannel();
    factory = myFactory;
    return channel;
    Client and factory are both disposed after each usage.
    this is the simplified code with some comments
    IMCSPConnectorChannel channel = CommonFunctions.CreateWCFclient();
    using (var proxy = channel.Wrap<IMCSPConnectorChannel>())
    var svcClient = proxy.BaseObject;
    try
    // do something - works ok
    if (success)
    //try update
    try
    //time consuming WCF method - sometimes 2 minutes, however it passes and in the WCF log is record about it just a second before it crashes back here
    svcClient.TaskUpdate(new TaskUpdateRequest(_taskID));
    catch (FaultException fe)
    //some processing here - not reached
    catch (Exception ue)
    //here it goes to - exception is caught and
    success = false;
    siteelev.WriteLogError(String.Format("Task '{0}' - task update fail on general exception: {1}", _taskID, ue.ToStringWithInnerExceptions()));
    //previos line is processesd, no more code exists after that
    //go back to folder if WCF returns success
    if (success)
    //not reached (success has been set to false when it crashed)
    else
    siteelev.WriteLogInfo("Some log text");
    //this is ALSO NOT reached!! why, I don't understand
    catch (Exception ee)
    // it goes to here!! why ? - the exception has been already handled!
    throw;;
    I don't understand why it goes to the second catch when the exception has been already hadled in previous catch and why it doesn't go into success=false block.
    Any idea what can be wrong?
    Many thanks
    Filip

    Hi,
    thanks for your reply. Now it seems that everything works (I'm still keepng my fingers crossed ;-)
    What we did:
    1) to the page I added 
    protected void Page_Load(object sender, EventArgs e)
                    this.Page.Server.ScriptTimeout = 3600;
    2) to WCF confing at server side we added 
     <serviceThrottling maxConcurrentCalls="100" maxConcurrentSessions="100"/>
    But if this is what helped, I don't know. The timeout had to be already set in cofig files, but this is only what the SP server administrator claimed, I haven't done it personally. This seems to be much clear
    for me.

  • Don't get WCF with custom Class working

    Hey
    I am starting with playing around with WCF. But I don't get it working. I can't see my Problem and this since a few days...
    So, I will explain in Detail, what I did so far.
    I created a blank ASP.NET Project (VS 2013)
    Within I created 2 files
    The first file is the Contract Interface
    mports System.ServiceModel
    Namespace DataClasses
    <ServiceContract> _
    Public Interface ITestService
    <OperationContract> _
    Function ReturnClass() As List(Of TestDataClass)
    End Interface
    End Namespace
    Ok, the second is the TestDataClass
    Imports System.Data.Services.Common
    Imports System.Runtime.Serialization
    Namespace DataClasses
    <Serializable> _
    <DataContract> _
    Public Class TestDataClass
    <DataMember> _
    Public Property Id As Long
    <DataMember> _
    Public Property Firstname As String
    <DataMember> _
    Public Property Lastname As String
    End Class
    End Namespace
    Ok. - The next Thing, I was doing is to create the "returning" information
    Imports System.ServiceModel.Web
    Namespace Proxy
    Public Class TestData
    Implements DataClasses.ITestService
    Public Function ReturnClass() As List(Of DataClasses.TestDataClass) Implements DataClasses.ITestService.ReturnClass
    Dim retList As New List(Of DataClasses.TestDataClass)
    retList.Add(New DataClasses.TestDataClass With {.Firstname = "My", _
    .Id = 2, _
    .Lastname = "Name"})
    Return retList
    End Function
    End Class
    End Namespace
    Ok - So far, as I understood, This should be all correct. (I hope)
    The next, I did was to add a WCF Data Service 5.6 file
    Within this file I changed the code to this:
    Imports System.Data.Services
    Imports System.Data.Services.Common
    Imports System.Linq
    Imports System.ServiceModel.Web
    Public Class DataModelWcf
    Inherits DataService(Of Proxy.TestData)
    ' This method is called only once to initialize service-wide policies.
    Public Shared Sub InitializeService(ByVal config As DataServiceConfiguration)
    config.SetEntitySetAccessRule("*", EntitySetRights.AllRead)
    'config.SetServiceOperationAccessRule("*", ServiceOperationRights.All)
    config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V2
    End Sub
    End Class
    OK. - When I now test the Service by clicking on it and run in browser, I get the following:
    <?xml version="1.0" encoding="UTF-8" standalone="true"?>
    -<service xmlns="http://www.w3.org/2007/app" xmlns:app="http://www.w3.org/2007/app" xmlns:atom="http://www.w3.org/2005/Atom" xml:base="http://localhost:1523/DataModelWcf.svc/">
    -<workspace>
    <atom:title>Default</atom:title>
    </workspace>
    </service>
    OK - The Service itself runs. - But I don't get any "Operation". I can't see my failure. - I tested around for the last few days, but I don't have a Clou, what's wrong...
    I also added a Service into the config file (but don't think, that this will make some differences)
    <system.serviceModel>
    <services>
    <service name="WCF_Test.Proxy.TestData">
    <endpoint address="" contract="WCF_Test.DataClasses.ITestService" binding="basicHttpBinding"/>
    <endpoint address="mex" contract="IMetadataExchange" binding="mexHttpBinding"/>
    </service>
    </services>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
    </system.serviceModel>
    So, thanks for every Little hint to solve this.
    THX - Have  nice Weekend!

    Hello Zero-G. _,
    >> But I don't get any "Operation". I can't see my failure. - I tested around for the last few days, but I don't have a Clou, what's wrong...
    I am afraid that you have mixed the WCF and WCF Data Service, here is a WCF Service example(it works with the Entity Framework while it is not WCF Data Service):
    http://www.codeproject.com/Articles/127395/Implementing-a-WCF-Service-with-Entity-Framework, please check it, in your case, you are use this mode and you do not need to create WCF Data Services.
    If you want to write a custom method in WCF Data Service, you could refer to this link:
    https://msdn.microsoft.com/en-us/library/dd744841(v=vs.110).aspx, as you can see, although if we declare a custom method, it would not show in the web browser, we call it as adding
    the method after the based service link directly:
    http://localhost:12345/Northwind.svc/GetOrdersByCity
    Or call it by using a client project which could detect this method and call it as in this blog:
    http://blogs.msdn.com/b/dataaccesstechnologies/archive/2009/12/01/way-to-expose-custom-method-in-an-entity-class-from-wcf-data-service.aspx
    Regards,
    Fred.
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

Maybe you are looking for

  • Things to know before (and after) building a Mega 865

    As I am seeing a lot of the same questions regarding the Mega 865 I created this document, 29-Oct-2004 Added Northwood benefits 29-Oct-2004 Emphasized NOT to use live update for bios update Processors in general Start with the processor, I would say

  • E-Mail alerts for queues in SMQ2

    Hi, In a asynchronous IDOC->ABAP Proxy scenario, some of the  messages are getting stucked in the transaction SMQ2 in PI system.This happens only when we send 100 IDOCs to PI at the same time and only 5-10 messages are getting stucked with status as

  • Sony WX7 .mts video files not imported into iPhoto 11

    Apple indicates iLife '11 supports AVCHD (.mts) files, however, I've been unable to get iPhoto 11 to import video files from the Sony WX7 camera. Photo's are imported properly via both usb and directly from the SD card reader in my Macbook Pro (i7) 2

  • Yahoo mail sometimes not opening

    I didn't put all info in last inquiry... I have iMac, purchased 2-6-08 with Snow Leopard ver 10.6.8.  I'm having trouble with Yahoo and accessing my email. First Yahoo loads slow. Second, when I enter mail, it sometimes loads a blank page. Sometimes

  • Web application designer web item missing

    Hi, I have a problem with the WAD designer, when I'm designing a new web template and I drag and drop any web item to my template layout, the item appears without image and with a message "Table: Image missing". I try to solve the problem deleting th