Page 1 of 1
Cybersource Error
Posted: Mon May 12, 2008 4:47 pm
by mianders
I am getting the following error in the AC error logs. Any ideas on what is causing this? I followed the config directions completely.
5/12/2008 7:05:09 PM Error Provider threw exception in DoAuthorize. The type initializer for 'CyberSource.WSSecurity.Signature' threw an exception.; Retrieving the COM class factory for component with CLSID {698BFD43-76AA-4D13-98FE-5BE9FF5E05B8} failed due to the following error: 80040154.
Re: Cybersource Error
Posted: Tue May 13, 2008 3:13 am
by sohaib
Please make sure you have installed Microsoft Web Services Enhancements (WSE) 3.0 and CyberSource Simple Order API Client.
WSE 3.0
http://www.microsoft.com/downloads/deta ... laylang=en
CyberSource Simple Order API Client
http://apps.cybersource.com/cgi-bin/pag ... T/_.NET2.0
Re: Cybersource Error
Posted: Tue May 13, 2008 8:10 am
by mianders
I installed both of these as shown in the directions found in the help guide. Both are installed on the machine.
Re: Cybersource Error
Posted: Tue May 13, 2008 8:13 am
by Katie
Hello,
Here's a link to the configuration/setup docs for Cybersource.
http://help.ablecommerce.com/mergedProj ... source.htm
The System Requirements section has the software necessary to install.
Make sure to follow all instructions as Cybersource is one of the more complicated gateways to setup.
Hope this helps,
Katie
Re: Cybersource Error
Posted: Tue May 13, 2008 8:17 am
by sohaib
Regarding COM error there is a blurb in the CyberSource
readme.
-------------------------------------------------------
DEPLOYING THE CLIENT TO ANOTHER MACHINE
-------------------------------------------------------
To deploy the client to another machine without running
the installer provided by CyberSource, copy all the
DLLs, and optionally, the PDBs, in the lib directory to
the target machine.
Additionally, the file CybsWSSecurity.dll must
be registered. To register it on the command prompt,
go to the directory where the files have been copied
into and type:
regsvr32 CybsWSSecurity.dll
-------------
Can you go locate the CybsWSSecurity.dll file (I think it's in BIN),
run the regsvr32 command line for it, and retest to verify that's your issue?
Re: Cybersource Error
Posted: Tue May 13, 2008 10:19 am
by mianders
I have followed all of the steps in the help guide. I also rebooted the box after each install. It is still providing the same error.
Do I need to configure anything for WSE?
Re: Cybersource Error
Posted: Tue May 13, 2008 10:39 am
by sohaib
Thats strange!!
The next thing I was going to suggest was to reboot your system ... but that you have already done.
I have checked our bug database to see if there is any relevant information I can find. It is confirmed that the error "The type initializer for 'CyberSource.WSSecurity.Signature' threw an exception..." occurs when CyberSource Simple Order API Client is not correctly installed.
The solution that we know of is to Install Simple Order API Client for .NET 2.0.
Registering the COM manually using regsvr32 is the last resort.
Re: Cybersource Error
Posted: Tue May 13, 2008 11:15 am
by mianders
I have installed the API using the Cybersource install, and I have also tried the regsvr32. I also ran the sample included in the Cybersource install and still get the same error. I have logged a ticket with Cybersource as well.
Re: Cybersource Error
Posted: Tue May 13, 2008 12:06 pm
by Logan Rhodehamel
Do you know if the server is running the website in medium, high, or full trust?
Re: Cybersource Error
Posted: Tue May 13, 2008 12:42 pm
by mianders
There is no trust level specified in the web.config.
Also, I am running an x64 Windows Server box. Will that cause any issues?
Re: Cybersource Error
Posted: Tue May 13, 2008 12:46 pm
by Logan Rhodehamel
mianders wrote:Also, I am running an x64 Windows Server box. Will that cause any issues?
That is a distinct possibility. I am investigating.
Re: Cybersource Error
Posted: Tue May 13, 2008 12:54 pm
by Logan Rhodehamel
If IIS is running in a 64 bit process, it will not be able to load the 32 bit CyberSource order api. Here is an article that discusses how to run 32 bit processes in IIS:
http://blogs.msdn.com/rakkimk/archive/2 ... esses.aspx
Is this information helpful?
Re: Cybersource Error
Posted: Tue May 13, 2008 3:38 pm
by mianders
Logan Rhodehamel wrote:If IIS is running in a 64 bit process, it will not be able to load the 32 bit CyberSource order api. Here is an article that discusses how to run 32 bit processes in IIS:
http://blogs.msdn.com/rakkimk/archive/2 ... esses.aspx
Is this information helpful?
Here is the response from Cybersource:
If it is able to run using that method, that is fine, however we are not able to support 64-bit processing using the Simple Order API at all. You will need to run the SOAP toolkit API for 64-bit processing
Re: Cybersource Error
Posted: Tue May 13, 2008 4:29 pm
by mianders
Any chance that AbleCommerce would build an integration to Cybersource using the SOAP Toolkit API? This is required to run AbleCommerce 7.0 on a 64-bit box and use Cybersource.
Re: Cybersource Error
Posted: Tue May 13, 2008 4:30 pm
by Logan Rhodehamel
Is this IIS6 or IIS7? Have you tried enabling 32 bit applications in IIS first?
Re: Cybersource Error
Posted: Tue May 13, 2008 4:38 pm
by mianders
Yes, breaks the web server and comes up unavailble on the client. We are running IIS 6.0 on Windows Server 2003 SP2. In IIS 6.0, you cannot have 32-bit and 64-bit web applications running on the same server.
See the following article:
http://www.microsoft.com/technet/prodte ... x?mfr=true
In IIS 7.0, which comes on Windows Server 2008, you can run both, but only at an applicaiton pool level. Either way, it is more of a hack. The AbleCommerce software runs great on 64-bit Windows
Also, see the following article from David Wang which discusses some of the issues:
http://blogs.msdn.com/david.wang/archiv ... _IIS6.aspx
Re: Cybersource Error
Posted: Wed May 14, 2008 10:05 am
by Logan Rhodehamel
I have logged this as bug 6791. I can't make promises about when we will be able to address it, yet. As it stands right now, we can't support CyberSource in a 64-bit IIS process.
Re: Cybersource Error
Posted: Tue Jan 12, 2010 5:01 pm
by sigpop
I had this error, too. CyberSource confirmed the .NET API for NVP doesn't work in the 64-bit environment and instructed me to use the SOAP API instead.
Re: Cybersource Error
Posted: Tue Jan 12, 2010 10:15 pm
by Logan Rhodehamel
We fixed this problem quite some time ago... I believe for the 7.0.2 version we incorporated the SOAP api for our CyberSource integration and eliminated the dependence on the .NET API. In current versions of AbleCommerce it is compatible with 64bit windows.
Re: Cybersource Error
Posted: Fri Jan 21, 2011 2:16 pm
by myvo04
I am running AbleCommerce 7.0.5. In the Edit Gateway window, I am prompted to enter a transaction key that is generated through the CyberSource merchant interface. I entered that information and am getting the following error when I try to authorize a transaction in the Admin interface. Since I'm using a transaction key in the gateway setup, it appears to me I am using the SOAP API so is it still required that I have Microsoft Web Services Enhancements (WSE) 3.0 and CyberSource Simple Order API Client installed? These are currently on the server from a pervious version of AbleCommerce that I upgraded from...the CyberSource configuration steps in the AbleCommerce user guide contradict what I'm actually seeing in the Edit Gateway window so I'm not sure the correct way to set this up.
ERROR 2011-01-21 10:38:19,213 180031ms Object a - Provider threw exception in DoAuthorize.
System.Web.Services.Protocols.SoapHeaderException:
XML parse error.
at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
at CyberSource.Clients.SoapWebReference.TransactionProcessorWse.runTransaction(RequestMessage requestMessage)
at CommerceBuilder.Payments.Providers.CyberSource.PaymentProvider.SendRequest(RequestMessage request)
at CommerceBuilder.Payments.Providers.CyberSource.PaymentProvider.DoAuthorize(AuthorizeTransactionRequest authorizeRequest)
at CommerceBuilder.Payments.PaymentEngine.a(AuthorizeTransactionRequest A_0, Boolean A_1)