Can Wcf-Custom Adapter implement Wcf-WebHttp Functionality?

Can the Wcf-Custom adapter implement the same functionality as the Wcf-WebHttp adapter in BizTalk 2013? In particular, can it provide the same functionality as the operation map and the variable map? If not, is there any other way to provide Wcf-WebHttp
functionality without hosting an adapter in IIS with an isolated host?
Thanks!

Yes, but...
You can set the mappings on outgoing messages with some new Context Properties.  This describes how to do it on a Dynamic Port, but it should work the same on a static port. 
http://masteringbiztalkserver.wordpress.com/2013/11/11/calling-restful-service-using-dynamic-send-ports-biztalk-2013/
The receive side is a bit different since I'm 97% sure all the mapping happens in the BizTalk Adapter (WS-WebHttp) not any of the binding elements.
However, you can essentially replicate that functionality with a Custom Pipeline Component.  In that case you would use the WCF-Custom Adapter with the webHttpBinding.

Similar Messages

  • Issue with WCF-Custom adapter polling Oracle db

    Hi,
    I have a scenario where BizTalk connects to Oracle db using WCF-custom adapter with OracleDbBding which has queries at P below properties:
    PolledDataAvailableStatement
    PollingStatement
    PostPollStatement
    The interface was working for more than 2 years, but when oracle server is moved from prod to DR server, it started throwing crazy errors.I have gone thru many blogs there seems to no definitive answer or solution for this.
    I have been getting below errors:
    The adapter "WCF-Custom" raised an error message. Details "The faulted WCF service host at address oracledb:// could not be restarted, and as a result no messages can be
    received on the corresponding receive location. BizTalk Server will continue trying to start the service host until it succeeds or the receive location is disabled.
    The adapter "WCF-Custom" raised an error message. Details "The faulted WCF service host at address oracledb://xxxxx/?PollingId= could not be restarted, and as a result
    no messages can be received on the corresponding receive location. BizTalk Server will continue trying to start the service host until it succeeds or the receive location is
    disabled.
    To fix the problem, you may choose to:
    1. Use the error information given to fix the problem.
    2. Restart the receive location.
    3. Keep waiting for BizTalk to recycle the service host. Another event will notify if the service host is successfully started.
    Detailed error information: Microsoft.ServiceModel.Channels.Common.ConnectionException: Connection request timed out ---> Oracle.DataAccess.Client.OracleException Connection
    request timed out    at Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object
    src, String procedure)
       at Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, Object src)
       at Oracle.DataAccess.Client.OracleConnection.Open()
       at Microsoft.Adapters.OracleCommon.OracleCommonConnectionWrapper..ctor(String connectionString, OracleCommonExecutionHelper executionHelper)
       at Microsoft.Adapters.OracleDB.OracleDBConnection.Microsoft.ServiceModel.Channels.Common.IConnection.Open(TimeSpan timeout)
       --- End of inner exception stack trace ---
       at Microsoft.Adapters.OracleDB.OracleDBConnection.Microsoft.ServiceModel.Channels.Common.IConnection.Open(TimeSpan timeout)
       at Microsoft.ServiceModel.Channels.Common.Design.ConnectionPool.GetConnection(Guid clientId, TimeSpan timeout)
       at Microsoft.ServiceModel.Channels.Common.Design.ConnectionPool.GetConnectionHandler[TConnectionHandler](Guid clientId, TimeSpan timeout, MetadataLookup metadataLookup,
    String& connectionId)
       at Microsoft.ServiceModel.Channels.Common.Channels.AdapterChannelListener`1.OnOpen(TimeSpan timeout)
       at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
       at System.ServiceModel.Dispatcher.ChannelDispatcher.OnOpen(TimeSpan timeout)
       at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
       at System.ServiceModel.ServiceHostBase.OnOpen(TimeSpan timeout)
       at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
       at System.ServiceModel.Channels.CommunicationObject.Open()
       at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfReceiveEndpoint.Enable()
       at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfReceiveEndpoint.RecycleServiceHost(Object unused)".-------------------------
    The adapter "WCF-Custom" raised an error message. Details "System.ServiceModel.CommunicationObjectFaultedException: The communication object,
    Microsoft.ServiceModel.Channels.Common.Channels.AdapterInputChannel, cannot be used for communication because it is in the Faulted state.
       at System.ServiceModel.Channels.CommunicationObject.Close(TimeSpan timeout)
       at System.ServiceModel.Channels.CommunicationObject.Close()
       at System.ServiceModel.Dispatcher.ErrorHandlingReceiver.Close()".

    "Oracle.DataAccess.Client.OracleException Connection  request timed out    at Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object 
    src, String procedure)"
    Looks like it's the Oracle client that can't connect. Can you run any queries from the Oracle tools?

  • Nonce property in WCF custom adapter

    Hello All,
    How to configure Nonce property in WCF Custom Adapter in Biztalk.
    I have created custom assembly as mentioned in other blogs(http://weblog.west-wind.com/posts/2012/Nov/24/WCF-WSSecurity-and-WSE-Nonce-Authentication), where we can create UsernameToken to specfy it, but how to use it?
    I have added it into GAC, but biztalk is not referring it.
    Pooja Jagtap Software Engineer KPIT Cummins

    Hi,
    You should look into the following articles first:
    http://msdn.microsoft.com/en-us/library/ms731075.aspx
    http://msdn.microsoft.com/en-us/library/dd203050(v=bts.10).aspx#BKMK_ConsumeWCFSvc
    You don't even necessarily need to code a new binding. Using the WCF-Custom adapter, you can choose your binding as customBinding (in the bindings tab of the port configuration), and then specify which binding elements should constitute your binding.
    Of course, another workaround is to call a WSE 3.0 service using a developed external assembly in an orchestration.
    Hope the information helps.
    Best regards,
    WenJun

  • BizTalk 2010 - WCF-Custom Adapter with sqlbinding - rror was encountered while attempting to transmit the message

    BizTalk 2010 RTM version with SQL 2008 R2 .
    An intermittent issue with the WCF-Custom adapter with sqlbinding, calling a SQL stored proc as below
    Message gets suspended in BT Admin console  with "An internal server error was encountered while attempting to transmit the message" .
    Event log shows 
    A message sent to adapter "WCF-Custom" on send port "xxx" with URI "mssql://server/db?" is suspended.  Error details: Unknown Error Description 
    Any advice please. Thanks
    Sullu.
    http://biztalkguide.blogspot.com/ Please mark as answer if this solved the issue.Thanks

    Hi Chen
    Is there any update on this please ?
    I have applied the latest CU and have noticed the following issue.
    BizTalk 2010 Enterprise Edition with BizTalk 2010 CU6 and CU3 for BizTalk Adapter Pack works fine , no issues noticed.
    However ,
    On a DEV VM ,BizTalk 2010 Developer Edition with BizTalk 2010 CU6 and CU3 for BizTalk Adapter Pack still gives the error mentioned in this post.
    In addition Microsoft BizTalk Adapter Pack ,Microsoft BizTalk Adapter Pack(x64) & WCF LOB Adapter SDK are also installed .
    Below is the Error message.
    Message gets suspended in BT Admin console  with "An internal server error was encountered while attempting to transmit
    the message" .
    A message sent to adapter "WCF-Custom" on send port "xxx" with URI "mssql://server/db?" is
    suspended.  Error details:
    Unknown Error Description 
    Could you please check and advice what needs to be done to resolve this ? Thanks .
    Regards,
    Sullu
    http://biztalkguide.blogspot.com/ Please mark as answer if this solved the issue.Thanks

  • WCF Custom Adapter

    Hi all,
    I am facing the below mentioned issue  while configuring the WCF custom Adapter in Biztalk Server 2013 
    WCF-Custom Transport Properties
    Error saving properties.
    (System.ArgumentException) Invalid binding.
      (System.IO.FileNotFoundException) Could not load file or assembly 'Oracle.DataAccess, Version=2.111.7.0, Culture=neutral, PublicKeyToken=89b483f429c47342' or one of its dependencies. The system cannot find the file specified.
    Any one please suggest
    OK   

    Dear Biztalk007,
    I also faced the same issue but on Biztalk 2010. Here is what I did.
    The issue may be three fold. You must have following installed in addition to your stand alone biztalk installation
    1) Biztalk  WCF Adapter pack
    2) Biztalk LOB adapter pack
    3) Appropriate Oracle Client.
    But you must take care of the thing that a proper Oracle Client suitable to your needs. I am working on Biztalk 2010 and I intsalled Oracle 11g.
     I am pretty sure ,yur error will be resolved after their installation.
    Regards,
    Mandar Dharmadhikari
    Please mark as answer if this helps to answer your question.

  • Problem with WCF-Custom adapter (WS HTTP Binding with reliable messaaging) - Error event logged, even though transaction completed Sucessfully

    Hi All
    I am using WCF-Custom (WS HTTP Binding) with Message security as Windows and using Reliable messaging in the send port. Its a static Port. 
    Every thing works fine as expected for the interface. ie the transaction is success. After a min of the transaction completion. I am getting the following error
    01. I have not checked Propagate Fault message (as a solution provided in another blog)
    02. Its a static Port
    03. I am using reliable messaging
    The below error events are logged in the event viewer
    The Message Engine Encountered an error while suspending one or more Messages ( ID 5677)
    Event  ID : 5796
    The transport proxy method MoveToNextTransport() failed for adapter WCF-Custom: Reason: “Messaging engine has no record of delivering the message to the adapter. This could happen if MoveToNextTransport() is called multiple times for the same message by
    the adapter or if it is called for a message which was never delivered to the adapter by the messaging engine”. Contact the adapter vendor
    Should I have log this issue with Microsoft through Service request ? or is there any work around is there. Unfortunate is I cannot remove the reliable messaging from the service.
    Arun

    Hi,
    Is there any solution to this problem?
    I am getting the same issue "The transport proxy method MoveToNextTransport() failed for adapter WCF-NetTcp: Reason: "Messaging engine has no record of delivering the message to the adapter.
    This could happen if MoveToNextTransport() is called multiple times for the same message by the adapter or if it is called for a message which was never delivered to the adapter by the messaging engine". Contact the adapter vendor"
    I checked this link http://rajwebjunky.blogspot.be/2011/09/biztalk-dynamic-request-response-port.html, but
    in my case i am not using dynamic port.
    In my scenario, i have a number of dehydrated orchestrations that become active every Monday 6:00 AM UTC and make to calls to a WCF service, to spread out the load I have implemented a load distribution logic where orchestrations send request to service
    in every 1 minute (not at the same time). but still i get this error sometime.
    I have opened a ticket with MS support but thought that someone might have already found the root cause.
    Let me know if there is one.
    Thanks,
    Rahul
    Best Regards, Rahul Dubey MCTS BizTalk Server

  • Error in WCF-Custom adapter (sqlbinding)

    There is a stored procedure tempdbo.dbo.InsertArTrxTyp.  I used the Add Generated Items wizard to create the schema and binding file for the stored procedure.  Import the binding file and get a send port, type WCF-Custom, with sqlbinding.  When
    the port action header is 
    <BtsActionMapping xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <Operation Name="InsertArTrxTyp" Action="Procedure/dbo/InsertArTrxTyp" />
    </BtsActionMapping>
    The event log shows error
    <Operation Name="InsertArTrxTyp" Action="Procedure/dbo/InsertArTrxTyp" /></BtsActionMapping>" was not understood.
    If I reduce the action header to 
    Procedure/dbo/InsertArTrxTyp
    the event log shows
    Object [dbo].[InsertArTrxTyp] of type StoredProcedure does not exist
    In the second case, SQL Profiler shows the code sent to the sql server querying for the existence of
    @ORIGINALOBJECTNAME=N'InsertArTrxTyp',@ORIGINALSCHEMANAME=N'dbo'
    If I run that code, I get results that indicate the existence of that object.
    Why is the fist action mapping wrong?  Why does the second action mapping result in no object found?  I've read this
    post but don't see how it applies to this situation as I'm not using an orchestration.

    Hi,
    Try and check following points:
    1. Update the SQL URI with the complete SQL instance name, if you are using the a named instance.
    2. Verify if the user, under which BizTalk host instance in running, have suffecient rights on the target DB to execute the SP.
    Hope this will help.
    HTH,
    Sumit
    Sumit Verma - MCTS BizTalk 2006/2010 - Please indicate "Mark as Answer" or "Mark as Helpful" if this post has answered the question

  • Root element is missing - Response from a WCF service - WCF-Custom adapter

    hi BizTalk experts,
    In the production environment, as soon as the response is getting subscribed by the orchestration, the orchestration instance is getting suspended and the error that shows up in console is 
    "Root element is missing".
    I have checked the actual response message in the console it is a well formed xml. This is happening only for a few responses from the WCF services. A majority of them are getting processed successfully. I have tried getting the parsing the response in a
    pipeline (using custom pipeline component, the production one uses xml receive) and pass it to the orchestration, but it fails giving the same error.
    Thanks in advance.

    Do you have any mapping done on the response message from the WCF service . ?
    If so Better to copy the suspended message coming from the WCF service and validate against the custom response Schema you have created.
    Note : You can try running fiddler tool to check the response from from the web service incase of failure.
    Also try logging the message in the event viewer or any debug tool.
    Thanks
    Abhishek

  • In which order operations will execute in Composit Operation by WCF-Custom adapter with SQLBindings?

    Suppose my Composite opertaion request schema is as below:
    <?xml version="1.0" encoding="utf-8" ?>
    <Request xmlns="http://[PROJECT_NAME].[COMPOSITE_SCHEMA_NAME]">
      <Insert xmlns="http://schemas.microsoft.com/Sql/2008/05/TableOp/[SCHEMA]/[TABLE_NAME]">
        <Rows>
          <[TABLE_NAME]>
            <[FIELD1_NAME]>[Value1]</[FIELD1_NAME]>
            <[FIELD2_NAME]>[Value1]</[FIELD2_NAME]>
          </[TABLE_NAME]>
        </Rows>
      </Insert>
      <[SP_NAME] xmlns="http://schemas.microsoft.com/Sql/2008/05/Procedures/[SCHEMA]" />
      <Delete xmlns="http://schemas.microsoft.com/Sql/2008/05/TableOp/[SCHEMA]/[TABLE_NAME]">
        <Rows>
          <[TABLE_NAME]>
            <[FIELD1_NAME]>[Value1]</[FIELD1_NAME]>
          </[TABLE_NAME]>
        </Rows>
      </Delete>
    </Request>
    Query is that in which order the requset message will be execute? Which one statement (Insert, SP or Delete) will execute first and
    Which one (Insert, SP or Delete) will execute in last?

    they will execute in the same order which you mentioned in the composite schema. Means they will execute order by nodes in the composite message
    have a look
    here , see below snap from that URL.
    in your case, the order will be
    1. INSERT
    2. SP
    3. Delete
    Please mark the post as answer if this answers your question. If this post is helpful, please vote as helpful by clicking the upward arrow mark next to my reply.

  • Req Custom adapter  implementation

    Hi,
    I am new to SUN IDM 8.1, I need to write custom resource adapter, appreciated in advance if some one help me the steps I need to follow?
    Thanks
    Sudarsan

    When you change adapter type and adapter namespace, you have to adjust
    - the ra.xml
    - the reference in the adapter code (SPIManagedConnectionFactory.java and XIConfiguration.java)
    - the adapter meta meta data object
    All references must be identical

  • WCF-Custom performance problem with large response messages

    We're trying to debug a performance issue in Biztalk 2013 when using a WCF-Custom adapter to call en external WCF-enpoint.
    From a Biztalk orchestration we're calling en external WCF-service to retrieve an xml message sometimes containing a lot of Base64 encoded data. The response message can be up to 10Mb in size. The send port is very slow in retrieving the response
    and a 10Mb message can take up to 3min to retrieve. For comparison we've made a console program with the same service reference and binding as the Biztalk adapter uses and we can retrieve the same message in about 3 seconds.
    The WCF is using binary encoding over http and we've set the maxMessageSize, maxBufferSize and maxBufferPoolSize to Int32-MaxValue. We realise that using Biztalk there will be overhead because the message is put into the message box but we're unsure how
    to improve the performance of the send port.
    Any suggestions?

    Hello,
    There are certain Optimization you can do with your BizTalk.
    1)The first thing that I would do is to check the BizTalk SQL server jobs are running correctly
     (SQL Sever Mgmt Studio –> SQL Server Agent –> Jobs). Lookout for the jobs with the word “CleanUp” in them.
    2)Another check that you could do is to verify the entries in the Spool table
     (Database[@Name='BizTalkMsgBoxDb']/Table[@Name='Spool']). Ideally, the number of entries should not be HUGE
     (as in not over 100/200 entries)
    3) Create seperate host and host handler for your send Port.
    4) Set The MaxReceiveInterval from adm_service(BizTalk Management DB) class table 100 ms from 500(By default).
    5)Increased the Throttling Settings Internal message queue size to 1000 from 100 In new Application Host.
    6)Set the Maximum number of messaging engine threads per CPU to 40 (By default it is 20).
    7) Add Max connection in your BTSNTSVC.exe.config file
    <system.net>
                <connectionManagement>
                            <add address
    = “*” maxConnections = “300” />
                </connectionManagement>
    </system.net>
    For other setting you can look for BizTalk Optimization Guide
    http://www.microsoft.com/en-ca/download/details.aspx?id=10855 
    Above setting are for generic performance enhancement purpose.
    Note: You can verify through Orchestration debugger or Orchestration tracing how much time send port is and pipeline is taking to publish the message to Biz Talk again .
    These will give you better picture what more settings you need to apply .
    Thanks
    Abhishek

  • UsnernameToken authentication failed using WCF-BasicHttp adapter

    I have read the other topic that is identical to this, but there is no detail as to what was actually changed to allow Kerrey to override the default 256 character limit. So I figured I would start a new thread and see if someone can show me what my binding
    file should include to override this setting.
    thanks,
    Chuck
    Charles

    So, the problem is that somewhere in the BizTalk/WCF bridge layer, a password is cut off at 256.  The WCF-Custom Adapter has the same issue.
    You have two options.
    Biding File:
    Export a binding file.
    Trim all but the one Send Port where you need the long password.
    Fine the Password element in the TransportTypeData blob.  Yes, it's escaped Xml so edit carefully.
    Enter you long password, save.
    Import Binding file, then delete (so you don't have the clear test password anymore).
    SSO:  (This is the 'better' option)
    Create an SSO Affiliate Application
    Set the Service Credentials.  SSO will accept the long password.
    Set Use Single SignON and your Affiliate application in the Client Credentials dialog on the Security Tab.
    Somewhere prior to the Adapter (Orchestration, Send Pipeline) set the BTS.SSOTicket Context Property
    I've never tried the binding file option but SSO works great and is designed for such scenarios (storing passwords).

  • Biztalk WCF Cutom Adapter

     Actually my WCF Custom adapter is pointing to my local machine SQL now ineed to point to my Dev environment the same send Port
    like my local machines URL is mssql://HDUPEDEVBIZ\Biztalk/AfmsDevice?
    i have to change now to mssql://HDUPEDEVSQLDB02\INSTANCE_1/AfmsDevice?
    i get an error saying that its not a well formed URI
    Any suggestions on this?

    mssql://HDUPEDEVSQLDB02/INSTANCE_1/AfmsDevice?
    its: mssql://[ServerName]/[InstanceName if any]/[DatabaseName]?
    Also remember that once you change from a local DB to a DB on another machine, MSDTC needs to be running
    on both instances (Biztalk and DB), if you have UseAmbientTransaction set to true.
    Morten la Cour

  • WCF Custom - Solicit response port - System.ArgumentException: The provided URI scheme 'https' is invalid; expected 'http',

    Hi,
    BizTalk WCF Custom Adapter - is send in a solicit response port. It works with a http address.
    However, I need to point it to a Https location.
    I imported the bindings, and changed the address to https. I was able to re-import the bindings. The send port gets started. But, when we try send a message via the send port, it throws an error:
    Error Description: System.ArgumentException: The provided URI scheme 'https' is invalid; expected 'http'.
    Parameter name: via
    Any help is appreciated.
    Regards,
    Sharmishtha

    The error logs do not give any other information.
    Also, security is TransportCredentialOnly, with Basic - Client Credential Type.
    Regards,
    Sharmishtha
    Hi Sharmishtha,
    TransportCredentialOnly mode
    does not provide message integrity and confidentiality. It provides HTTP-based client authentication. You need to use either of the below security mode :
    Transport
    TransportWithMessageCredential
    Rachit
    Please mark as answer or vote as helpful if my reply does

  • BizTalk 2013 R2 - WC-Custom Adapter SAP-Binding: Unhandeld exception on failure tests

    Dear Mr./Ms.
    We have set up a test environment with BizTalk 2013 R2 Developer edition.
    And we have also set up the SAP adapter following this blog
    https://sandroaspbiztalkblog.wordpress.com/2015/03/04/biztalk-server-20132013-r2-step-by-step-wcf-sap-adapter-installation-guide/#comments
    .But instead we used a WCF-Custom adapter with SAP-Binding
    Everthing works fine if BizTalk can connect to SAP. But if we do some failure test, like giving in a wrong password. We get next error in the event viewer:
    Application: BTSNTSvc64.exe
    Framework Version: v4.0.30319
    Description: The process was terminated due to an unhandled exception.
    Exception Info: System.Runtime.CallbackException
    Stack:
    at Microsoft.Adapters.Internal.LayeredChannelBindingElement.LayeredAsyncResult.SignalFinished(System.Object, System.Exception)
    at Microsoft.Adapters.Internal.LayeredChannelBindingElement.LayeredOutboundChannel`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].AsyncRequest(System.Object)
    at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
    at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
    at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
    at System.Threading.ThreadPoolWorkQueue.Dispatch()
    We would expect that we get some kind of authentication error and a suspended message. But Instead the host instance crash and message stays in process. Thanks in advance.
    Kind regards
    Benny Verhamme
    benny verhamme signed

    We would expect that we get some kind of authentication error and a suspended message. But Instead the host instance crash and message stays in process. Thanks in advance.
    Hi Benny,
    Thanks for your feedback in BizTalk forum.
    As you mentioned above, we will receive an unhandled exception when we did something wrong during the procedure. I'm afraid that this is "by design", if this request is urgent for you, you could consider contact support directly(http://support.microsoft.com
     ).   Thanks for your understanding.
    Best regards,
    Angie
    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

  • Mac pro not booting up

    Help my mac pro will not boot up gray screen with apple logo and the loading icon keeps going round and round but nothing else happening. Iam running Lion OS X (10.7) Help please

  • Server socket needs to sends images to applet

    Dear expert programmers I've got a simple socket server ruuning on my machine which accepts a connection from an applet on an arbitrary port. The problem I have is that it needs to "CONSTANTLY" take screenshots of the desktop and send them to the app

  • Problem in connection

    Hi I am trying to make bluetooth L2CAP connection. At server side, i wrote following code String surl = "btl2cap://localhost:" + uuid.toString() +";name=" + appName; request = lserver.acceptAndOpen();where uuid is 102030405060708090A0B0C0D0E0F021 And

  • Automator app in OS X

    Does anyone know where the Automator files reside in OS X?  I own a Mac mini and need to erase some workflows and folder actions.

  • Can't purchase music - duplicate file name specified

    Recently I started having a problem with iTunes.  When I open iTunes I get an error message "Duplicate file name specified".  I can close the message window and iTunes seems to function normally for most activities, however, if I try to buy a song fr