# JasonHolden.com > Jason Holden ## Posts - [Large File Uploads with ColdFusion](https://jasonholden.com/large-file-uploads-with-coldfusion/): Uploading large files via HTTP can be a challenge. It can result in timeouts and frustrated users. Additionally, large uploads may not be possible if your hosting provider imposes HTTP file upload size restrictions (most do). The solution is “chunking”. Chunking involves breaking a single large file upload into multiple smaller files and uploading the smaller files to the server. The chunks are stitched back together to recreate the large file. We’ll need to create some JavaScript to break the file into chunks and then upload each chunk one by one. It’s possible to upload more than one chunk simultaneously, […] - [Microsoft Graph Error ResourceUnhealthy](https://jasonholden.com/microsoft-graph-error-resourceunhealthy-mdbreplicationprotectionutilizationmonitor-is-unhealthy/): Ran into an issue with the sendMail resource within the Microsoft Graph API. Calls to: https://graph.microsoft.com/v1.0/users//sendMail Resulted in this response: { "error": { "code": "ResourceUnhealthy", "message": "MdbReplicationProtectionUtilizationMonitor is unhealthy." } } Based on the information I can find it appears to be related to throttling. The response should contain a retry-after header that provides the number of seconds your application should wait before attempting to resend the message. DO NOT attempt to resend immediately as this will simply add to the throttle limit. - [<cfhtmltopdf> broken in ColdFusion 2023](https://jasonholden.com/broken-in-coldfusion-2023/): UPDATE:  Confirmed bug https://tracker.adobe.com/#/view/CF-4219706 There appears to be a bug in the cfhtmltopdf tag running on ColdFusion 2023. The orientation attribute is ignored.

Test Landscape Output

This is the output: - [Send O365 email using ColdFusion and Microsoft Graph](https://jasonholden.com/send-o365-email-using-coldfusion-and-microsoft-graph/): With SMTP Relay being increasingly phased out within Office/Exchange 365 I decided to migrate some of our application email to Microsoft Graph. In order to use Microsoft Graph API to send email you’ll need to have an Exchange 365 account and a licensed user/inbox. To access the Microsoft Graph API your program will need to authenticate itself using OAuth. The first step is to register your application in Azure AD. Open the Azure AD Portal: https://portal.azure.com/ Click App Registrations. Click New registration. Enter the Name of your application. Leave everything else default. Click Register. After registering your application, write down […] - [Accessing Oracle NetSuite REST API using PowerShell](https://jasonholden.com/accessing-oracle-netsuite-rest-api-using-powershell/): This Article was updated 06/06/2025 due to NetSuite phasing out support for RSA PKCSv1.5 As part of a recent project I needed to lookup and export data from Oracle NetSuite using PowerShell. It took me several hours of spinning my wheels on this problem, but I was finally able to connect. I’m writing this post in hopes that I can save someone else a little time and hair pulling. Credentials Setup Official documents for Credentials Setup The first thing you’ll need to do is access NetSuite using an account that has the administrator role or the Integration Application permission assigned. […] - ["The administrator module is not installed" after manual ColdFusion update](https://jasonholden.com/the-administrator-module-is-not-installed-after-manual-coldfusion-update/): After manually applying an update to one of the ColdFusion servers I manage I started getting this error when opening the ColdFusion Administrator console: The administrator module is not installed. You can install module through CLI package manager(CF_ROOT/bin/cfpm.bat) by running the command : install administrator. Executing the suggested command showed what appeared to be a successful install, but still received the same error. I reviewed the ColdFusion update log {cfusion}\hf-updates\hf-XXXX-XXXXX-XXXXXX and found several module installs failed with this error: An error has occurred while installing the package XXXXX. Exception : URI does not specify a valid host name: {Local Path […] - [ColdFusion Word Mail Merge using OOXML](https://jasonholden.com/coldfusion-word-mail-merge-using-ooxml/): If you’ve ever needed to use ColdFusion to manipulate Word documents, you might have tried a 3rd party library like Doc4J or Apache POI. While these libraries are very robust I found them to be limiting in different ways. Apache POI lacks built-in mail merge capability (which to me seems very odd given the information below) and Doc4j threw an odd Jakarta error that I was not able to fix. I also looked at paid for libraries like Apose, but the licensing costs were just too prohibitive Finally I decided on direct OOXML manipulation. This turned out to be much […] - [ColdFusion 2021 Query of Queries Bug](https://jasonholden.com/coldfusion-2021-query-of-queries-bug/): There seems to be a potential bug in ColdFusion 2021 Query of Queries. Today I ran into this error: Index 5 out of bounds for length 5 null The index bounds will change based on the number of columns in the query as explained below. This error was being thrown in a very basic QoQ: SELECT * FROM qUsers WHERE User_ID = While Investigating the source for the original qUsers query I noticed two columns with the same name: Looking a little deeper I found that the original qUsers query was being ordered […] - [AuthenticationFailed Error from MongoDB using ColdFusion 2021](https://jasonholden.com/authenticationfailed-error-from-mongodb-using-coldfusion-2021/): I found that after changing the password for a MongoDB NoSQL DSN using ColdFusion Administrator you need to restart the ColdFusion Application service in Windows. Even changing to the correct password will cause a MongoDB authentication error: Exception authenticating MongoCredential{mechanism=SCRAM-SHA-256, userName='{Your Username}', source='{Your Auth Source}', password=, mechanismProperties=} null Command failed with error 18 (AuthenticationFailed): 'Authentication failed.' on server XXXXXXXXXXXXX:27017. The full response is {"ok": 0.0, "errmsg": "Authentication failed.", "code": 18, "codeName": "AuthenticationFailed"} This error may be logged in the MongoDB server log: {"t":{"$date":"2021-11-08T14:39:07.067-06:00"},"s":"I", "c":"ACCESS", "id":20249, "ctx":"conn122","msg":"Authentication failed","attr":{"mechanism":"SCRAM-SHA-256","speculative":false,"principalName":"{Your Username}","authenticationDatabase":"{Your Auth Source}","remote":"XXX.XXX.XXX.XXXX:51204","extraInfo":{},"error":"AuthenticationFailed: SCRAM authentication failed, storedKey mismatch"}} Update 11/12/23 — Since writing […] - [Wordpress Admin Checkboxes Not Working](https://jasonholden.com/wordpress-admin-checkboxes-not-working/): If the checkboxes within the WordPress Admin do not appear checked. You may need to verify that your Content-Security Policy (CSP) allows “data:” as a source. Example: default-src data: 'self' *.googleapis.com *.gstatic.com; - [ColdFusion 2021 CFHTTP returning 404](https://jasonholden.com/coldfusion-2021-cfhttp-returning-404/): In ColdFusion 2021 I encountered a new wrinkle when using CFHTTP. The url attribute must contain no leading or trailing spaces: In my case the value of someurlvariable was coming from a database. - [ColdFusion 2021: "Could not initialize class..." error after service restart](https://jasonholden.com/coldfusion-2021-could-not-initialize-class-error-after-service-restart/): Another potential bug found within ColdFusion 2021 with this error: Could not initialize class cfApplication2ecfmXXXXXXXXX Interestingly the TYPE of error was: java.lang.NoClassDefFoundError The class name cfApplication2ecfmXXXXXXXXX indicated to me that it was an issue with the saved class files in {CFRoot}\cfusion\wwwroot\WEB-INF\cfclasses The file cfApplication2ecfmXXXXXXXXX.class did exist in the \cfclasses folder The only working solution I’ve found so far is to disable the “Save class files” option using the ColdFusion administrator console (Server Settings > Cache > Uncheck Save class files) There seems to be conflicting recommendations about this settings, however the ColdFusion administrator console states that the option should be […] - [ColdFusion 2021 DateFormat() issue](https://jasonholden.com/coldfusion-2021-dateformat-issue/): DateFormat() in ColdFusion 2021 is now case-sensitive. This no longer produces the desired result: #dateFormat("11/21/2020 2:38:16 PM","MM/DD/YYYY")# Pre-ColdFusion 2021: 11/21/2020 ColdFusion 2021: 11/326/2020 Note that ColdFusion 2021 displays the day of the year To fix: #dateFormat("11/21/2020 2:38:16 PM","mm/dd/yyyy")# UPDATE Adobe has added a JVM flag that can adjust this behavior: -Dcoldfusion.datemask.useDasdayofmonth which defaults to FALSEhttps://helpx.adobe.com/coldfusion/cfml-reference/coldfusion-functions/functions-c-d/DateFormat.html Since Adobe is defaulting to FALSE it's probably best to update your code accordingly. - [Commonly Flagged PCI DSS HTTP Response Headers](https://jasonholden.com/commonly-flagged-pci-dss-http-response-headers/): Below are some common PCI DSS flagged HTTP response headers and how to easily fix them using IIS and the URL Rewrite module. Server Response Header This header discloses information about your web server software and version. Example: Microsoft-IIS/10.0 Action: REMOVE URL Rewrite Rule: X-Powered-By Response Header Discloses information about the web application platform. Example: PHP/7.3.1 Action: REMOVE URL Rewrite Rule: […] - [Gpg4Win Pass Key PassPhrase in Batch File](https://jasonholden.com/gpg4win-pass-key-passphrase-in-batch-file/): In Windows (not sure of *nix OS) the GPG command-line has an obscure switch necessary in order to use the ‐‐passphrase argument: ‐‐pinentry-mode (https://gnupg.org/documentation/manuals/gpgme/Pinentry-Mode.html) Example: gpg ‐‐pinentry‐mode loopback ‐‐batch ‐‐yes ‐‐passphrase "" "" - [Reference PowerShell Object Properties Dynamically Including Spaces and Special Characters](https://jasonholden.com/reference-powershell-object-properties-dynamically-including-spaces-and-special-characters/): Referencing a PSObject property with special characters is pretty easy: $var = $psobject."Property With Space" In order to reference properties that include special characters dynamically: $propertyname = "Property With Space" $var = $psobject.($propertyname) - [Sending email via Office 365 using PowerShell](https://jasonholden.com/sending-email-via-office-365-using-powershell/): Update 11/12/23 — Microsoft GraphAPI is now the preferred method for sending email using O365. Refer to this blog entry This post is really more about the potential problems one might encounter using Send-MailMessage cmdlet in PowerShell to connect and send email via Office 365. First a quick example: [SecureString]$o365Password = ConvertTo-SecureString "Your Office 365 Account Password" -AsPlainText -Force [PSCredential]$o365Credentials = New-Object System.Management.Automation.PSCredential("Your Office 365 Account Username",$o365Password) Send-MailMessage ` -Subject "Your Subject" ` -Body "Your email message" ` -To "toSomeone@somewhere.com" ` -From "fromSomeone@somewhereelse.com" ` -SmtpServer "outlook.office365.com" ` -Port 587 ` -Credential $o365Credentials ` -UseSsl If the above settings are set […] - [Determine if SQL login is using Windows Authentication or SQL Authentication](https://jasonholden.com/determine-if-sql-login-is-using-windows-authentication-or-sql-authentication/): Windows Authentication SELECT * FROM sys.sysusers WHERE isntuser = 1 SQL Authentication SELECT * FROM sys.sysusers WHERE issqluser = 1 - [Wordpress Updates Fails with cURL error 18: transfer closed with X bytes remaining to read](https://jasonholden.com/wordpress-updates-fails-curl-error-18/): While doing routine WordPress updates I came across this error: cURL error 18: transfer closed with X bytes remaining to read After some investigation I found that my hosting server was unable to download files. Much of the advice I found suggests issues with cURL, PHP, or WordPress. If possible I advise checking the host server first. Verify that it can download the update file. - [ColdFusion 2018 / CFDUMP no longer working within CFFUNCTION / Dump.css missing in output](https://jasonholden.com/coldfusion-2018-cfdump-no-longer-working-within-cffunction-dump-css-missing-in-output/): I ran into an interesting change in ColdFusion 2018 with regard to The output produced by suddenly lacked formatting and any ability to collapse the tree nodes. This sample code: Produces this output: The above is just an example, but dumping anything remotely complex such as a query or CFC resulted in near unreadable output. As I do with any seemingly odd ColdFusion behavior I start searching for others experiencing the […] - ["Could not find the ColdFusion component or interface" after migrating to ColdFusion 2018](https://jasonholden.com/could-not-find-the-coldfusion-component-or-interface-after-migrating-to-coldfusion-2018/): Today I began migrating some of our applications to ColdFusion 2018 (from ColdFusion 2016). Things went pretty smoothly until I ran into this error: Could not find the ColdFusion component or interface XXX.XXX.mycfc" Where “XXX.XXX.mycfc” is a ColdFusion component. In my case the component definitely exists and was in the path where it was being instantiated. After a little troubleshooting and head scratching I decided to simply try adding a mapping in Application.cfc. Magically the component could be instantiated and the application runs as it always has. I have no idea why a mapping is now required in the latest […] - [Determine when a SQL Server user was removed/dropped from a Database](https://jasonholden.com/determine-when-a-sql-server-user-was-removed-dropped-from-a-database/): Recently I had a recurring issue where a user was being inexplicably dropped from the a SQL Server database. I used this query to quickly identify the user/application that was removing the user accounts: DECLARE @traceLog VARCHAR(256) SELECT @traceLog = CAST(value AS VARCHAR(256)) FROM ::fn_trace_getinfo(DEFAULT) WHERE traceid = 1 AND property = 2 SELECT TextData, NTUserName, HostName, ClientProcessID, ApplicationName, LoginName, EventClass, TargetUserName, StartTime FROM ::fn_trace_gettable(@traceLog, DEFAULT) traceLog INNER JOIN sys.trace_events traceEvents ON traceLog.EventClass = traceEvents.trace_event_id WHERE traceLog.EventClass IN (102, 103, 104, 105, 106, 108, 109, 110, 111) ORDER BY traceLog.StartTime - [Wordpress Update Fails: The update cannot be installed because we will be unable to copy some files](https://jasonholden.com/wordpress-update-fails-the-update-cannot-be-installed-because-we-will-be-unable-to-copy-some-files/): While updating a WordPress site hosted on a Windows platform (Internet Information Server); I came across this error: The update cannot be installed because we will be unable to copy some files. This is usually due to inconsistent file permissions.: wp-admin/includes/update-core.php I confirmed the Application pool identity for the site had the appropriate permissions. After some reading related to the same error on an Apache web server I found the issue possibly due to the Read Only flag on some files or folders within the WordPress install folder. I used the Windows property manager to ensure the Read Only flag […] - [ColdFusion Limits - Coldfusion.util.MemorySemaphor](https://jasonholden.com/coldfusion-limits-coldfusionutilmemorysemaphor/): In the course of uploading large files to a ColdFusion server you may encounter this error: coldfusion.util.MemorySemaphore$MemoryUnavailableException:Memory required (XXXXXXXXX bytes) exceeds the maximum allowed memory. The solutions I was able to find; suggest only increasing the “Maximum Size of Post Data” setting within the ColdFusion Administrator. However, you also need to increase the “Request Throttle Memory” settings. The limits must be greater than the size of the file being uploaded. - [SQL AlwaysOn Availability Group Secondary Replica Disconnects Immediately After Setup](https://jasonholden.com/sql-alwayson-availability-group-secondary-replica-disconnects-immediately-after-setup/): While setting up a SQL AlwaysOn Availability Group I ran into a very interesting problem. I had created the AG while preparing for an upcoming speaking engagement so I’d setup two VMs (Node A and Node B) and checkpointed them immediately before creating the AG. This way I could just go back to the checkpoint and start the demo during my presentation. This turned out to be very helpful because for the very first time I ran into an issue setting up a SQL AlwaysOn Availability Group. All previous configurations had gone flawlessly. After a lot of head scratching and […] - [Coldfusion IIS Exception 0xc0000005](https://jasonholden.com/coldfusion-iis-exception-0xc0000005/): One of the ColdFusion 2016 servers that I’m responsible for managing suddenly stopped working after a simple reboot. The hosting environment is Windows based and I found that the ColdFusion Application Server service would not start. There were several Windows Event Log exceptions: The ColdFusion 2016 Application Server service terminated with the following service-specific error: The system cannot find the file specified. The ColdFusion 2016 Application Server service could not be started. Check the server "cfusion" log files for more information. Faulting application name: coldfusion.exe, version: 2016.0.0.0, time stamp: 0x56c57b78 Faulting module name: coldfusion.exe, version: 2016.0.0.0, time stamp: 0x56c57b78 Exception […] - [ColdFusion AES 256 JCE Unlimited Policy Files](https://jasonholden.com/coldfusion-aes-256-jce-unlimited-policy-files/): While using ColdFusion’s Encrypt() function I received this error: The key specified is not a valid key for this encryption: Illegal key size or default parameters. If encryption key size is greater than 128 bits make sure to insall JCE Unlimited Strength Policy Files. Use the generateSecretKey method to generate a valid key for this operation. The solution is pretty straight forward, but not well documented. First download the the APPROPRIATE version of the Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files. You can review your Java version inside the ColdFusion Administrator > Java and JVM tab. You’ll also […] - [Windows 10 Update 1703 BSOD](https://jasonholden.com/windows-10-update-1703-bsod/): After the most recent Windows 10 update (1703); my very solid and stable workstation started getting blue screens. Being a windows user for more than twenty years I’ve come to expect the occasional BSOD. Things fail. It just happens. So while the first BSOD was troubling; I was not immediately alarmed. After the third BSOD I knew something was wrong. Running WhoCrashed revealed the root cause to be: netwtw04.sys A bit of searching revealed that to be WiFi related. I fixed my problem by downloading the latest reference drivers from my WiFi networking card manufacturer. - [ColdFusion Sending Page Cache Headers By Default](https://jasonholden.com/coldfusion-sending-page-cache-headers-by-default/): ColdFusion 11+ will by default send caching headers on every request (i.e cache-control, Pragama: no-cache, etc.) The solution is buried in this Adobe Tracker thread: https://tracker.adobe.com/#/view/CF-3926479 I’m documenting it here because I continually run into the problem when installing new instances of ColdFusion and I continually find myself searching for hours for the solution. Simply comment out the entire MobileDeviceDomInspectionFilter section in the web.xml file: {CFUSION}\cfusion\wwwroot\WEB-INF\web.xml - [Branch target offset too large for short null in ColdFusion](https://jasonholden.com/branch-target-offset-too-large-for-short-null-in-coldfusion/): When working with complex logic functions in ColdFusion (i.e. lots of code) I’ve encountered this error numerous times Branch target offset too large for short null This error essentially means your method length exceeds what the JVM allows. To correct the error break the logic up into multiple smaller functions. - [SQL Server Reporting Services (SSRS) Emails Invalid Report Links](https://jasonholden.com/sql-server-reporting-services-ssrs-emails-invalid-report-links/): Typically it’s unnecessary to adjust the default SSRS email report settings, but sometimes it’s unavoidable. For instance, in our case we needed to expose the SSRS web portal on a specific URL. We’re using the latest version of SSRS: SQL Server SSRS 2016 I found several references and guides on how to change this via the SSRS configuration file: {MSSQL DIR}\MSRS13.MSSQLSERVER\Reporting Services\ReportServer All the guides correctly identified the node. However, what was not made clear was what value to use. After some trial and error the solution was: http://www.yourdomain.com/ReportServer Restarting the SSRS services is required after making this update. - [RDS no longer working in ColdFusion 2016 on IIS](https://jasonholden.com/rds-no-longer-working-in-coldfusion-2016-on-iis/): While setting up my first ColdFusion 2016 server I came across an interesting problem with RDS. My problem was that I could not get RDS to connect via ColdFusion Builder 3. The error when I would attempt a test connection: Unable to contact RDS Server "[Remote Server]". This can be caused by incorrect configuration on either the client or the server. Please verify your connection details below or check your servers documentation on how to enable RDS for your server. The HTTP request to talk to your server returned with the following message: Error executing RDS command. Status Code: 404, […] - [CFSPREADSHEET action="write" java.lang.NullPointerException error](https://jasonholden.com/cfspreadsheet-actionwrite-java-lang-nullpointerexception-error/): Came across some odd CFSPREADSHEET behavior in ColdFusion. I was attempting to quickly export a query object to an Excel spreadsheet: ColdFusion kept throwing this strange error: An exception occurred while using action="write" java.lang.NullPointerException Everything seemed ok with my code and my query. After some head scratching I noticed that my file variable had a .CSV extension. Changing this to XLS fixed the issue immediately: Not sure why ColdFusion cares about the file extension. - [Odd URL variable behavior in ColdFusion](https://jasonholden.com/odd-url-variable-behavior-in-coldfusion/): Ran into another issue (caused by me) with the IIS URL Rewrite module and ColdFusion. A couple of our client applications utilize a REST API written in ColdFusion. It does not use the newly released built-in API in Coldfusion 2016. The REST url’s are made possible by using the IIS URL Rewrite module. The module takes the rest API and then passes it to the ColdFusion API handler Sample: The custom API handler then parses the URL, FORM variables, and several other HTTP elements to process the request. I noticed that when calling the API all […] - [Visual Studio Web Reference without Web Service (or direct from WSDL file)](https://jasonholden.com/visual-studio-web-reference-without-web-service-or-direct-from-wsdl-file/): This may be documented elsewhere, but I had a hard time finding it so I’m going to write a quick blog entry about it for my reference. I needed to build a Visual Studio 2013 project that had a connection to a Web Service. However the the code would only have access to the web service once deployed. In essence I needed to tell Visual Studio how to access the web service without actually having access to the web service. The solution was actually quite simple, though not exactly intuitive. First get the WSDL file for the web service to […] - [ColdFusion 11 / RESTful API / IIS URL Rewrite Issues](https://jasonholden.com/coldfusion-11-restful-api-iis-url-rewrite-issues/): I recently went through a ColdFusion upgrade. We were going from version 8 to version 11. Since we had previously tested the application with ColdFusion 10 we fully expected some hiccups. Most of the trouble encountered was easy to find and fix, however one item really gave me some trouble. Our application has a custom API that relies on RESTful URLs. We use the IIS URL Rewrite module to map API RESTful URLs to a ColdFusion API controller page. In previous versions of ColdFusion we’d used the IIS URL Rewrite module without any issues. When we upgraded to ColdFusion 11 […] - [500 Error when running PHP on IIS](https://jasonholden.com/500-error-when-running-php-on-iis/): Attempting to get PHP 5.6 running on Windows Server 2012 (IIS 8) I started receiving generic 500 errors. I enabled Failed Request tracing and reviewed the trace. The trace revealed this error: ModuleName FastCgiModule ErrorCode The extended attributes are inconsistent. (0xff) The problem was a missing Visual C++ runtime. Ensure the appropriate VC++ runtime is installed for the version of PHP running. In this case I needed the VC++ 11 runtime. - [ColdFusion Will Not Start After Changing Service Account](https://jasonholden.com/coldfusion-will-not-start-after-changing-service-account/): While creating a new ColdFusion server I attempted to change the Windows Service account to a domain service account. I’ve done this on almost every ColdFusion server I’ve ever setup because they typically need access to network resources and it makes it easy to manage the application rights. This time however I was unable to do so. I received a generic error from the service manager: The Coldfusion Service on local computer started and then stopped. Some services stop automatically if they are not in use by other services or programs The ColdFusion server logs were not very helpful. They […] - [IIS 7.5 500 Error When Serving Static Files](https://jasonholden.com/iis-7-5-500-error-when-serving-static-files/): Ran across an interesting problem. While setting up a new Windows 2008 R2 erver and website on IIS; I noticed that the site was generating 500 errors when serving static files (images, css, html, etc.) I turned on Failed Request Tracing and noticed that I was getting this logged This configuration section cannot be used at this path. This happens when the section is locked at a parent level. Locking is either by default (overrideModeDefault="Deny"), or set explicitly by a location tag with overrideMode="Deny" or the legacy allowOverride="false". Based simply on previous experience I went to the IIS Feature Delegation […] - [Coldfusion RDS 404 error on OSX](https://jasonholden.com/coldfusion-rds-404-error-on-osx/): When running Coldfusion on OSX with RDS enabled you may receive a 404 error when trying to connect your IDE (CF Builder, Homesite, etc.) After reviewing permissions and configuration I found that the issue was Apache checking for the existence of the page prior to attempting to run it. The RDS IDE functions/page does not exist because it simply a URL pattern defined in the web.xml file. An easy fix was to setup a dummy folder/file: /wwwroot/CFIDE/main/ide.cfm The IDE.CFM page can be blank, Apache just needs to verify the file exists prior to handing it to the Java server for […] - [BIRT Exception "ReferenceError: <OBJECT> is not defined"](https://jasonholden.com/birt-exception-referenceerror-object-is-not-defined/): While trying to use a Scripted Data Source within BIRT Report Designer I ran across this error: BIRT ReferenceError: is not defined Where OBJECT is any Java class. My Java class was very simple. I verified my JAR file was in the plugin scriptlib folder C:\eclipse_birt\plugins\org.eclipse.birt.report.viewer_4.3.1.v201309171028\birt\scriptlib My problem was that my Java class had a main[] signature for some simple testing outside of BIRT. I removed the main[] method on the class and exported my JAR again. BIRT Report Designer could then instantiate my Java class without error. - [Use PowerShell to add IIS virtual directory with Login (Connect As)](https://jasonholden.com/use-powershell-to-add-iis-virtual-directory-with-login-connect-as/): While trying to automate the creation of new IIS websites using PowerShell I needed a script to create IIS virtual directories with a specific login (i.e. Connect As) After several hours of searching and trying various solutions I finally arrived at this: $sitename = "My Website Name" $virtualdirectory = "virtual1" $virtualdirectorypath = "C:\My Virtual Path" $username = "username1" $password = "password1" New-WebVirtualDirectory -Site $sitename -Name $virtualdirectory -PhysicalPath $virtualdirectorypath Set-WebConfigurationProperty "system.applicationHost/sites/site[@name='$sitename']/application[@path='/']/virtualDirectory[@path='$virtualdirectory']" -name userName -value $username Set-WebConfigurationProperty "system.applicationHost/sites/site[@name='$sitename']/application[@path='/']/virtualDirectory[@path='$virtualdirectory']" -name password -value $password I tried several path alternatives, however the XPath queries listed in the snippet are the only iteration that worked. Hope […] - [IIS 7/8 and Coldfusion 10](https://jasonholden.com/iis-7-8-and-coldfusion-10/): While deploying my first Coldfusion 10 server on Windows 2008 R2 SP1, I ran into this strange behavior. My IIS Default website had no issues processing CFM files after the install. However other IIS sites would not process any CFM pages. The message I received from IIS was the standard 404. Accessing the URL on the server I found that the requested URL was: http://{my site}/jakarta/isapi_redirect.dll Just to see if it would work I mapped a virtual directory named “jakarta” to CFUSION INSTALL\config\wsconfig\{instance id} Magically my site began processing CFM files. Sami Hoda’s entry pointed me in the right direction […] - [My Windows 8 Impressions](https://jasonholden.com/my-windows-8-impressions/): I upgraded from Windows 7 Enterprise to Windows 8 Enterprise. My upgrade was very smooth. Probably the easiest Windows upgrade I’ve done. The new OS seems as solid as Windows 7. I thought the new Modern UI (aka Metro) would present a problem in my day to day use of the OS and applications. Surprisingly this is not true. While I’m not terribly impressed with the UI it’s fairly easy to ignore. It essentially replaces the Start Menu with a full screen UI. The Desktop view is still available and works as it has in previous versions of Windows. In […] - [HTTP GET/POST using VB.NET and BackgroundWorker Class](https://jasonholden.com/http-get-post-using-vb-net-and-backgroundworker-class/): A simple code example using VB.NET LAMDA’s to create an inline BackgroundWorker object. I’m not a VB guru so there may be better ways to do this. MY REQUIREMENTS: Inline (all started from a single CLICK event) Async HTTPWebRequest Populate ComboBox/Input with JSON formatted request results VB.NET Dim requestWorker As BackgroundWorker = New BackgroundWorker() AddHandler requestWorker.DoWork, Sub(workerSender As Object, workerEvent As System.ComponentModel.DoWorkEventArgs) Dim request As HttpWebRequest = CType(WebRequest.Create("http://www.contoso.com/somepage.html"), HttpWebRequest) request.Method = "POST" ' Also "GET" allowed ' For POST operations request, not required for GET Dim data As String = "var1=1&var2=2&var3=test" request.ContentType = "application/x-www-form-urlencoded" request.ContentLength = System.Text.Encoding.ASCII.GetBytes(data).Length Dim requestStreamWriter As […] - [Eclipse Remote Systems FTP issues](https://jasonholden.com/eclipse-remote-systems-ftp-issues/): I recently installed Nodeclipse for developing Node.js. Nice little editor with some code hinting and quick Node run command. Due to my development requirements (and laziness) I wanted to work with the remote JS files using FTP. Nodeclipse does not support FTP out of the box. Enter “Remote System Explorer” for Eclipse. The plugin installed easily. I entered my connection details. The console started showing my connection status and directory listings. However, attempting to explore the FTP site resulted in a generic “file system input or output error” and/or “java.net.SocketException”. After some searching I found that the issue actually lies […] - [HOW-TO: Generate Large Files](https://jasonholden.com/how-to-generate-large-files/): Simple Windows command-line to generate files for testing: fsutil file createnew - [Transfer Contacts from LG VX9200M to iPhone 4](https://jasonholden.com/transfer-contacts-from-lg-vx9200m-to-iphone-4/): Accidently wiped contacts on wife’s new iPhone 4 (previous phone was an LG V9200M) NOTE: Using the same steps below should work on any phone that is supported by BitPim Download / Install BitPim (http://www.bitpim.org/) Plugin LG phone via USB cable Choose “Data” on USB device settings (shows on phone screen) Open BitPim Select Find Phone (phone with magnifying glass in main BitPim toolbar) Enter a title for the phone profile when prompted Select Get Phone Data from main toolbar Check PhoneBook (Wallpaper selection also retrieves images stored internally and any SD cards) After Get Phone Data complete, you can […] - [Javascript SCORM API](https://jasonholden.com/javascript-scorm-api/): For anyone that’s tried to wade through the mountains of SCORM documentation it can be a little frustrating trying to put all the pieces together. This is useful if you want to get interaction data out of products like Adobe Captivate, Adobe Presenter, or Articulate. So I’m providing a very simple SCORM 2004 javascript API that will hopefully be a useful starting point for anyone trying to implement an LMS or SCORM data collector.