Jan 052016
I hope everyone enjoyed their holidays! We have had a number of issues reported, several of them were big enough that we decided to release an 8.5.3 patch version that fixes the issues that were found.
Issues Fixed:
- Win: There were instances that caused Barcode corruption when the Barcode was rotated on a label
- Mac: There were issues with with the Web Service refreshing the list of DYMO printers
- Mac: Web Service method timeout is increased due to too many timeouts
- JS: Fixed issues with Async calls
- JS: Fixed Issue that isBroswerSupported return the wrong value
- JS: Fix Issue with a Crash when running in IE8
Reference the following posts for additional set up information. Keep in mind that the Web Service is built into this version of DYMO Label so the standalone install is no longer required.
Downloads:
Thanks for all the great feedback! Let us know of any issues found, we’ll continue to give the best support we can.
Update: Fixed a typo that was referencing the wrong revision number for the Windows build
Hello,
I would like to use the Dymo javascript library from within a Google Apps Script sandboxed environment. See https://developers.google.com/apps-script/guides/html/restrictions#sandbox_mode for details. This requires the Dymo library to be served via HTTPS (mixed HTTP/HTTPS content not allowed in the sandbox). Any plans to provide the library via HTTPS, using a CDN or otherwise?
Thanks.
Hi Erron,
All the communication between our JavaScript library and the backend Web Service installed with DLS is done over HTTPS.
Hi dymodev,
Thanks for your reply. But I was actually asking a different question. Sorry that I was not clear. Here’s my question in more detail.
When I reference the JavaScript library, the reference might look something like this:
src=http://www.labelwriter.com/software/dls/sdk/js/DYMO.Label.Framework.2.0.2.js
But note that the library is referenced by HTTP. I need to reference it by HTTPS. Many JavaScript libraries are now made available by HTTPS. Can you make yours available by HTTPS?
Why is this important? For any Google drive plugin (which is the scenario that matters to me), you must reference external libraries by HTTPS. Google’s rules are explained here:
https://developers.google.com/apps-script/guides/html/restrictions#sandbox_mode
The bigger picture is that I’ve written an Apps Script add-on for Google Sheets. Its intended purpose is to print a label from the currently selected row in a Google Sheet. It’s a very simple application, but it won’t run unless I can reference the library by HTTPS. Of course, I could set up my own web server with a certificate, but this would defeat the purpose of using a Google sheet as a simple and tiny-footprint label database.
Thanks!
I don’t think that will happen. Scroll down to the post on Apr 16, 2015 and you will see this: “we recommend that you do not link to the JavaScript file that is hosted on our servers but download a copy and host on your own servers”
You can serve it via HTTPS from Google Drive but that feature is going away on August 31, 2016. I would suggest putting it on S3 and serve it via HTTPS from there.
Hi Robert,
Thanks for your reply. I will move forward with one of those options, but I hope you will reconsider in the future. While I agree that local code has some benefits, the value of being able to reference the library via HTTPS is important for simple tasks like making a Google Apps Script plugin. It is just so enticingly easy to make an Apps Script plugin to print a label from a Google sheet, but one does need the library to be HTTPS. There exists some subset of people who could use your wonderful library in this way but who wouldn’t necessarily want to go to the extra trouble of setting up a web server just to host one javascript library.
I believe your library could be hosted at, say, cdnjs.
Thanks!
Hi Erron,
At this point there is no plan to host the library on a HTTPS server. We have always suggested that developers host their own version of the library to avoid any dependencies on our servers.
Erron, to be clear, I don’t work for DYMO. I am a developer like yourself.
OK. I am currently serving the library from the rawgit cdn for my own use, and if anyone else is trying to write an Apps Script plugin, I would encourage them to take this approach.
(Sorry, Robert, for confusing your affiliation!)
Hi, thanks for posting! What is the minimum operating system requirement on the Mac to run this? Can it only work with el capitan or can it run with 10.9 – Yosemite, 10.8 – Mavericks etc…?
Thanks!
David
Hi David,
Our general rule when it comes to Official OS support is the current version plus 2 back. These are the OS version that we test on. This does not mean that older version will not work, we just don’t test on them. So the current Mac OSX versions that we support are 10.11, 10.9 and 10.8. For Windows, we support Windows 10, Windows 8 and Windows 7.
Using the latest javascript SDK when I try to execute checkEnvironment() I get an error saying P.c() is not a function. I un-minified the code and sure enough, there is no P.c() function. It doesn’t happen when using the previous beta js file.
Are you running DLS Windows or Mac? Which DLS version have you installed? You encounter the issue with DYMO Label Framework 2.0.2, but it works with DYMO Label Framework 2.0.0, isn’t it? Which browser are you using?
DLS Windows. DLS Version 8.5.3. Correct, the error occurs with 2.0.2 but not the 2.0 beta js. I happened to be using the latest version of Chrome when the error occurred (Version 47.0.2526.106 m).
Could you please run the trace / debug and provide the output.
Were you are able to run a trace?
In meantime I have done some more research. I’ve compared the obfuscated version of 2.0.0 and 2.0.2 framework files and they both have this function declared identically, and in same sequence point.
I am not able to duplicate the issue. Are you able to duplicate the issue on another PC as well? Does error occur with Firefox as well? What Windows version are you running?
I’m too having the same issue “P.c” is not function .. Please give me a solution for this. Im using DLS version 8.5.3.1897 on windows 10. And JS framework is 2.0.2
Please make sure that you are calling the init() method described in the following post http://developers.dymo.com/2015/08/20/dymo-label-framework-javascript-library-2-0-open-beta/
If you are already calling the init(0 method then please provide a trace/debug as described above.
Hi Dymo,
We’re using the dymo labelwriters for printing labels in our restaurant. Since a week or two we’re encountering problems with printing.
When we click the button to print te dymo the following code is executed:
Dynamo Label Sub Btn1_onclick()Dim DymoAddIn, DymoLabelSet DymoAddIn = CreateObject(“DYMO.DymoAddIn”)Set DymoLabel = CreateObject(“DYMO.DymoLabels”)DymoAddIn.Open “F:\Dymo Labelstenopzondag.lwl”
DymoLabel.SetAddress 1,””+chr(10)+”Naam Maurice”+chr(10)+”Res 92″+chr(10)+”Tijd 20:00″+chr(10)+”Email *********”+chr(10)+”Opmerkingen Test”+chr(10)+”Telefoonnummer 20″+chr(10)+”Duur 3″+chr(10)+”Volw. 1″
DymoAddIn.Print 1, TRUE
window.close()End Sub Etiket wordt afgedrukt
The websites gives us a pop-up and closes when printed. The strange thing is that it only prints one. Everytime i want to print a label i have to close and reopen IE11.
Any idea?
Button source code we are using at our website:
alcazar print
<?
include("../code/connect.inc.php");
echo "
Sub Btn1_onclick()
Dim DymoAddIn, DymoLabel
Set DymoAddIn = CreateObject(\”DYMO.DymoAddIn\”)
Set DymoLabel = CreateObject(\”DYMO.DymoLabels\”)
DymoAddIn.Open \”F:\Dymo Labels\etenopzondag.lwl\”
“;
$result = mysql_db_query($dbase,”select * from etenopzondag_reservering where res_date = ‘$resdate’ order by begin_time,auto_id”);
while($rij = mysql_fetch_array($result)) {
if($rij[“smoking”] == 1) $smoking_dymo = “Roken”;
else $smoking_dymo = “Niet roken”;
$childs_total = $rij[“childs0_2”] + $rij[“childs3_5”] + $rij[“childs6_11”] + $rij[“childs12_15”];
$time_temp = explode(“:”,$rij[“begin_time”]);
$time_begin = $time_temp[0] . “:” . $time_temp[1];
$time_temp = explode(“:”,$rij[“end_time”]);
$time_end = date(“H:i”, mktime($time_temp[0],$time_temp[1]-15,0,1,1,1970));
if($rij[“adults”] == 1) $strAdults = “volwassene”; else $strAdults = “volwassenen”;
if($childs_total == 0) $strChilds = “”;
else if($childs_total == 1) $strChilds = ” en ” . $childs_total . ” kind”; else $strChilds = ” en ” . $childs_total . ” kinderen”;
$regel1 = $rij[“adults”] . ” ” . $strAdults . $strChilds;
$regel2 = $rij[“name”];
$regel3 = $time_begin . ” uur tot ” . $time_end . ” uur”;
// $regel4 = $smoking_dymo;
echo “DymoLabel.SetAddress 1,\”\”+chr(10)+\”” . $regel1 . “\”+chr(10)+\”” . $regel2 . “\”+chr(10)+\”” . $regel3 . “\”+chr(10)+\”” . $regel4 . “\”\n”;
echo “DymoAddIn.Print 1, TRUE\n”;
}
echo ”
window.close()
End Sub
“;
?>
Etiket wordt afgedrukt
Code that gets executed after pressing the button
Dynamo Label Sub Btn1_onclick()Dim DymoAddIn, DymoLabelSet DymoAddIn = CreateObject(“DYMO.DymoAddIn”)Set DymoLabel = CreateObject(“DYMO.DymoLabels”)DymoAddIn.Open “F:\Dymo Labelstenopzondag.lwl”
DymoLabel.SetAddress 1,””+chr(10)+”Naam De heer P. Vermaas”+chr(10)+”Res 115″+chr(10)+”Tijd 19:00″+chr(10)+”Email *********”+chr(10)+”Opmerkingen SKIHUT “+chr(10)+”Telefoonnummer 786732925″+chr(10)+”Duur 3″+chr(10)+”Volw. 30”
DymoAddIn.Print 1, TRUE
window.close()End Sub Etiket wordt afgedrukt
What has been changed prior it stopped printing correctly? Which DLS version have you installed? Which DYMO Label Framework version are you using? What OS are you running? Does this error only occur with IE11? What error message is shown on the pop-up?
Button source code we are using at our website: (CORRECT ONE)
Dynamo Label <?php echo "Sub Btn1_onclick()Dim DymoAddIn, DymoLabelSet DymoAddIn = CreateObject(\”DYMO.DymoAddIn\”)Set DymoLabel = CreateObject(\”DYMO.DymoLabels\”)DymoAddIn.Open \”F:\Dymo Labels\etenopzondag.lwl\””; $parse_uri = explode(‘wp-content’, $_SERVER[‘SCRIPT_FILENAME’]); require_once( $parse_uri[0] . ‘wp-load.php’ ); global $wpdb; $print_id_dynamo = $_GET[‘print_id_dynamo’]; $get_reserveringen = “SELECT * FROM ” . $wpdb->prefix . “reserveringen WHERE reserverings_id = ‘$print_id_dynamo'”; $get_reserveringen_result = $wpdb->get_results($get_reserveringen); $Naam = “Naam ” . $get_reserveringen_result[0]->naam; $res = “Res ” . $get_reserveringen_result[0]->reserverings_id; $tijd = “Tijd ” . $get_reserveringen_result[0]->begin_tijd; $email = “Email ” . $get_reserveringen_result[0]->emailadres; $opmerkingen = “Opmerkingen ” . $get_reserveringen_result[0]->opmerkingen; $telefoonnummer = “Telefoonnummer ” . $get_reserveringen_result[0]->telefoonnummer; $duur = “Duur ” . $get_reserveringen_result[0]->duur; $aantal_volwassenen = “Volw. ” . $get_reserveringen_result[0]->aantal_volwassenen; echo “DymoLabel.SetAddress 1,\”\”+chr(10)+\”” . $Naam . “\”+chr(10)+\”” . $res . “\”+chr(10)+\”” . $tijd . “\”+chr(10)+\”” . $email . “\”+chr(10)+\”” . $opmerkingen . “\”+chr(10)+\”” . $telefoonnummer . “\”+chr(10)+\”” . $duur . “\”+chr(10)+\”” . $aantal_volwassenen . “\”\n”; echo “DymoAddIn.Print 1, TRUE\n”; echo “window.close()End Sub”; ?> Etiket wordt afgedrukt
Hi,
I am using the new updated version in Chrome with https.
It can not find the DYMO Label Writer
If I open the same website on https in Firefox it works without any problems.
Latest DYMO Software is running on a complete new computer on Windows 7.
Any ideas?
An update on this error.
When I view it I get the following error:
POST
XHR
https://localhost:41951/DYMO/DLS/Printing/PrintLabel [HTTP/1.1 400 Bad Request 15ms]
Error: Failed to execute webservice command: 400: Bad Request
On websites without https it works without any problems.
Best regards,
Bart
Another update on this.
I’ve enabled the trace / debug function.
It generates the following code:
onEnvironmentChecked > checkResult isBrowserSupported : undefined, isFrameworkInstalled: undefined, isWebServicePresent: undefined, errorDetails: undefined
However it is working on another https enabled website. Same browser, same scripts.
The following debug code is generated:
onEnvironmentChecked > checkResult isBrowserSupported : true, isFrameworkInstalled: true, isWebServicePresent: true, errorDetails:
Wat could be wrong? No other javascript errors or something like that.
I am not sure if it is caused by https, because it’s working on another website with https, so it could be something else.
In correction on my first message: It is not working on Chrome and Firefox. Both browsers give the same errors.
It sounds like the webservice isn’t running. Could you please run the diagnose option that is part of the web service menu? Are you running this from the same PC, same browser and same script?
The web Service is running.
It is working on multiple websites, but just on that website not.
Any ideas?
I’m seeing the same issue: the webservice is running (because it’s responding with status 400).
We found that turning the webservice off and “falling back” to the browser plugin works.
We’ve only seen this on Windows 10
Hello,
Thanks for your work on this new software!
We’re trying out the web service for Mac & Windows. Mac worked perfectly, but we’re having a strange problem with our windows device.
The Windows device is a Surface Pro 3, up-to-date Windows 10. It shows our printer as “isConnected: false”, despite the fact it’s plugged in by USB.
I’ve tried a few things:
– Running the web service as “Administrator”, and logging in as adminstrator
– Visiting the web service endpoint directly (I can see IsConnected=False in the XML response)
– Restarting the web service
– Printing from the Dymo desktop software (v8.5.3.1897) — printing from that program works well.
Do you know why it’s showing isConnected=False? Is there anything else I can do to troubleshoot?
Thanks!
Robert Mosolgo
I assume that you are running the latest DYMO Label Framework 2.0.2, isn’t it? Have you tried to run on a different Windows PC? Have you added the Init() method as it is described here http://developers.dymo.com/2015/08/20/dymo-label-framework-javascript-library-2-0-open-beta/ ? Could you enable tracing and provide the output.
Thanks for your response! Yes, we’re using 2.0.2. No, we don’t have another Windows computer!
Thanks for your suggestion. When I went back to try this again, it worked!
I’m not sure what changed. The computer was asleep all night. But today, we visited the `GetPrinters` endpoint and it showed as IsConnected=True!
Thanks again for your help, we’ll keep testing it and let you know if we have any more trouble.
Robert
One more question, is this release still considered “beta”? Do you have any updated timeline for a production release?
Thanks again!
Robert
No, the Software listed above under downloads isn’t beta. We have release the software on the developers site so that all of our SDK developers would have the released version as fast as possible. There is overhead and process that needs to be followed in order to post the build to the website.
Hi, we have started using the new javascript framework but on the Mac we are seeing that getPrinters() is inconsistently not returning the printers list. Most of our users are still on the 8-5-2 DLS and some of those using a Mac are seeing this occur.
Our testers are reporting issues with 8-5-3 and the Mac as well and have confirmed with me that they are using the patched version of the DLS.
Because this is inconsistent and nothing specific triggers it I just wanted to report the issue and see if others were experiencing this as well or if there is a fix in the works.
Thanks.
Thanks for the API! I just started building a webapp to manage my inventory of electronic components. I really love that you’re offering the JavaScript library (and corresponding webservice, DYMO.DLS.Printing.Host). Here’s my feedback from most-to-least desired:
1. Put the JavaScript in a repo so I can help with these other issues.
2. Bind the service to 0.0.0.0 instead of 127.0.0.1 and respond to requests that don’t use “localhost” in the Host header. Let the user tell the dymo.label.framework which address it should communicate with (hostname or IP).
3. Add some error handling for invalid data and have the service manager (launchd) relaunch the service if it crashes (with limited number of retries).
4. Add support for AMD, CommonJS, RequireJS, etc.
5. It would be nice to have some CLI options for DYMO.DLS.Printing.Host – like –help and –port.
Keep up the good work!
Hi John,
Thank you for your feedback, I will forward these requests to our developers. I can comment on a couple of your suggestions.
1. Unfortunately, there is no plan to make this an open source project. If this ever changes, it will be posted on this blog.
2. We do plan on expanding this functionality in the future but for the first version, we want to limit all calls to localhost. This matches the original functionality.
3. We would also like to add more error handling to the application. Our first focus was to make it run as close to the older version before adding newer functionality.
4,5: We can take this under consideration when working on the next version.
Thank you again for your feedback!
This library needs to be updated to a module format and preferably published to NPM to make it easily available and consumable. Please publish 2.0.3 to NPM as soon as you can!
I am with you. Because of the hostname check we must use Charles proxy. :-(
When disconnecting a printer and calling getPrinters() afterwards it is still reported as “isConnected: TRUE” on OS X in Safari and Crome! :-(
On Windows FF/Chrome/IE the isConnected status is reported correctly. Tested on several machines.
Can anybody confirm this problem? Any solution available? Trace reports:
checkEnvironment > cachedWebPort : 41951
VM110:106 checkEnvironment > trying async service discovery
VM110:106 _createFramework > return _framework : undefined (async)
VM110:106 onEnvironmentChecked > checkResult isBrowserSupported : true, isFrameworkInstalled: true, isWebServicePresent: true, errorDetails:
VM110:106 chooseEnvironment > WebServicePresent
VM110:106 _createFramework > returning existing instance of _framework, has callBack: false
Are you using the latest DLS software and Javascript library? Can you give more information about OS version, printer model and any other pertinent information that can be forwarded to the developers?
I’d like to know if the DYMO.Label.Framework_2.0Beta.js is still good or there is a new version.
I’m asking that because of my customer noticed me that using Chrome the DYMO printer does not work…
Any help is appreciated.
Marco
Hi Marco,
You should be using the latest official release of the JS library. It is linked in the following article.
Hi,
Thank for the reply.
Sorry, but I don’t understand if I need to use Web Service Beta 1 or Beta 2 Or if it’s enogh to download and install the “Windows DLS 8.5.3.1897” and use the DYMO Label Framework 2.0.2 ?
My goal is to allow my customer to print via Chrome browser.
Could you please help me?
Marco
I just upgraded to the 8.5.3 DLS on my workstation, which uses a labelprinter shared on another machine.
It used to work, but now I get this error (from firebug)
Fejl i anmodning
Fejl i anmodning
Der opstod en fejl på serveren under behandling af anmodningen. Undtagelsesmeddelelsen
er ‘Papir ‘11352 Return Address Int’ understøttes ikke af ‘\\BUTIK4\DYMO LabelWriter Twin Turbo”. Du
kan finde flere oplysninger i logfilerne på serveren. Staksporingen for undtagelsen er:
ved DYMO.DLS.Runtime.DieCutLabelPrintLoop.ValidateVisitor.VisitLabelWriterPrinter
(LabelWriterPrinter printer)
ved DYMO.DLS.Runtime.LabelWriterPrinter.Visit(IPrinterVisitor visitor)
ved DYMO.DLS.Runtime.DieCutLabel.CreatePrintLoop(Printer printer, LabelPrintParams printParams)
ved DYMO.DLS.Runtime.Label.Print(Printer printer, LabelPrintParams printParams)
ved DYMO.Label.Framework.Label.Print(IPrinter printer, IPrintParams printParams, IEnumerable`1 textSet
)
ved DYMO.Label.Framework.Label.Print(IPrinter printer, IPrintParams printParams, String labelSetXml
)
ved DYMO.Label.Framework.Framework.Print(String printerName, String printParamsXml, String labelXml
, String labelSetXml)
ved DYMO.Label.Framework.Com.Framework.PrintLabel(String printerName, String printParamsXml, String
labelXml, String labelSetXml)
ved DYMO.DLS.Printing.Host.DlsWindowsFramework.PrintLabel(String printerName, String printParamsXml
, String labelXml, String labelSetXml)
ved DYMO.DLS.Printing.Service.DymoPrintingService.c__DisplayClass6.b__5()
ved DYMO.DLS.Printing.Service.WebUtils.ExecuteWrapped[T](Func`1 f)
ved DYMO.DLS.Printing.Service.DymoPrintingService.PrintLabel(Stream data)
ved SyncInvokePrintLabel(Object , Object[] , Object[] )
ved System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object
[]& outputs)
ved System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)
ved System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)
ved System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4(MessageRpc& rpc)
ved System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage3(MessageRpc& rpc)
ved System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage2(MessageRpc& rpc)
ved System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage1(MessageRpc& rpc)
ved System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)
The important message is “‘Paper ‘11352 is not supported at ‘\\BUTIK4\DYMO LabelWriter Twin Turbo'”
Hi Leif, A bad paper name in the label file will produce this error and will prevent printing. Could you create a new test label in DLS and use that label file to print to the LabelWriter to see if that will work?
If I install the printer locally, it works.
But not when the printer is networked.
Hi Leif, Does it not work with a newly created label file like it was suggested in an earlier comment? Does it work directly from the Dymo Label Software?
It used to work in the previous version.
New Win10 PC – initially installed the latest software from the web site which was 8.5.1 – moved my LW450Turbo and installed – received error message – tried various compatibility settings incldg Win8 and Win7. Printer previously worked fine from either Win7Pro and Vista. Error msg was:
“Cannot create instance of ‘MainWindow’ defined in assembly ‘DYMO.DLS, Version=8.5.1.1816, Culture=neutral, PublicKeyToken=5426002a38745af9’. Error in markup file ‘DYMO.DLS; component/MainWindow.xaml’
===
Accidentally discovered this area which had v8.5.3 and indicated that it was Win10 compatible. I uninstalled v8.5.1, unplugged my LW450 and installed v8.5.3, plugged in printer. no dice – effectively same error:
“Cannot create instance of ‘MainWindow’ defined in assembly ‘DYMO.DLS, Version=8.5.3.1889, Culture=neutral, PublicKeyToken=5426002a38745af9’. Error in markup file ‘DYMO.DLS; component/MainWindow.xaml’
So any suggestions? Thanks Ken Schindler
Hi Ken,
Please contact support for any issues dealing with the DLS software.
Support URL
This blog is mainly for developer support with our SDK.
Thank you
Just letting the development staff know there was an issue with the latest release pre-production.
Thank you for the information, was support able to help get operational?
I’m trying to get the demo (http://www.labelwriter.com/software/dls/sdk/samples/js/PrintLabel/PrintLabel.html) working on my machine but I keep getting an error that No printer is installed. I can print using the Dymo Label Software. I’ve tried on Firefox, Chrome, and IE but I get the same results on each browser.
I also tried using the 2.02 instead of the referenced version in demo (it may be the same one, it was titled latest version).
In the console, dymo.label.framework.getPrinters() returns an empty array.
When visiting the check environment page on firefox I get this result
isBrowserSupported: true
isFrameworkInstalled: true
errorDetails:
On chrome I get this result
isBrowserSupported: true
isFrameworkInstalled: false
errorDetails: DYMO Label Framework Plugin is not installed
Any suggestions?
Hi Matt, unfortunately, we have not had the chance to update the samples with the new Web service functionality. You will need to use DLS 8.5.3, DYMO Framework version 2.0.2 and your Javascript needs to call the init method, which is described in the this article. You can also diagnose if the web service is running correctly by calling diagnose on the DYMO Web Service located in the service tray.
Hi, I was wondering how to start up the DYMO Web Service on Mac after exiting? I can’t find anything, and can only seem to start it up after re-installing.
The following command will stop and start the Web Service:
launchctl stop com.dymo.dls.webservice
launchctl start com.dymo.dls.webservice
We are trying to integrate the latest available Dymo Label Framework SDK into our WPF Prism MVVM application. We are running .net Framework version 4.5.2. We had an odd ReleaseHandleFailed error occur upon and during print. To troubleshoot, we created a new test project in Visual Studio 2013 w. same .net Framework version and WPF. Same error.
We then made a sample project with same IDE and .net version. The only change to the project is it is WinForms instead of WPF. Same code, no error. Print is successful for us in WinForms only. WPF consistently throws a version of the following error:
Managed Debugging Assistant ‘ReleaseHandleFailed’ has detected a problem in ‘C:\ … .. … .. .. \myapp.vshost.exe’.
Additional information: A SafeHandle or CriticalHandle of type ‘MS.Internal.Printing.Configuration.SafePTProviderHandle’ failed to properly release the handle with value 0x0071BE58. This usually indicates that the handle was released incorrectly via another means (such as extracting the handle using DangerousGetHandle and closing it directly or building another SafeHandle around it.)
I have had no luck reaching anyone regarding support of the SDK and have found no similar issues reported online. Please help me get the SDK to work properly. I can provide test projects if need be. Syntax is vb.net.
Code is as follows:
Private Sub Button_Click(sender As Object, e As RoutedEventArgs) Handles Button.Click
Try
Dim Printer As IPrinter = Nothing
Dim Label As ILabel = Nothing
'get collection of possible printers
Dim Printers As IPrinters = DYMO.Label.Framework.Framework.GetPrinters()
'check to see if we got a printer. if not, do not print
If Printers.Count > 0 Then
'we'll only ever have one attached, so lets just grab the first
If Not Printers Is Nothing Then Printer = Printers.First()
'get the label template path and load
Dim LabelFilePath As String = "Content\Labels\pvl.label"
Label = DYMO.Label.Framework.Framework.Open(LabelFilePath)
'set values for label orderno1 and 2
Label.SetObjectText("ORDERNO1", "123123123")
Label.SetObjectText("ORDERNO2", "12321321321")
'we need to alternate between sampleno1 and sampleno2 depending on whether we are dealing with an odd or even sample count
Dim OddEvenCounter As Integer = 0
Dim lsBuilder As New LabelSetBuilder
Dim record As ILabelRecordBuilder = Nothing
For X As Integer = 0 To 5
OddEvenCounter += 1
Dim IsEvenNumber As Boolean = sIsEvenNumber(OddEvenCounter)
Dim LabelName As String
If IsEvenNumber = False Then
LabelName = "SAMPLENO1"
record = lsBuilder.AddRecord()
Else
LabelName = "SAMPLENO2"
End If
record.AddText(LabelName, "123123213")
'Label.SetObjectText(LabelName, s.SampleNo)
'If IsEvenNumber = True Then
Next
Dim params As New LabelWriterPrintParams
Label.Print(Printer, params, lsBuilder.Xml)
End If
Catch ex As Exception
'HandleError(ex, "Creating Sample Labels", Nothing, True)
End Try
End Sub
Public Function sIsEvenNumber(number As Integer) As Boolean
Dim val As Integer = number Mod 2
If val = 0 Then
Return True
Else
Return False
End If
End Function
I have a user on Windows 7 and Chrome using 8.5.3.1897 and the web service isn’t working. When I click Diagnose I get the error “none of the ports were configured to use SSL certificate”. A reboot/reinstall didn’t change anything. I had them switch to Firefox and use the plugin for now. Is there anything I can do to get it working?
Can you provide a log file for the web service? It is located at %LocalAppData%\DYMO\DLS8\DLSWebService.log
Web service setup during installation is merely a launch with admin privileges and “/i” parameter, so if there were any exceptions they should have been logged.
Also, the you may try running web service with admin privileges and without them to see if there’s any difference (system tray icon’s tooltip denotes the mode in effect: User/Admin).
Where are logfiles?
Request Error
The server encountered an error processing the request. See server logs for more details.
We’re using label 11355, a label sold as 19x51mm, but actually as an extra part of 7mm on top, which we want to use.
I can make it fit using Dymo 11352 Return Address Labels 25x54mm, but I have to start 120 twips in from the left (landscape), otherwise the letters are cut off. I’d like to use these 2mm too.
I believe I should use CustomPaper instead of PaperName in the LWL XML
I tried this (with the right angular brackets, but which this editor won’t allow)
[CustomPaper]
[Size Width=”1440″ Height=”2880″ /]
[PrintableSize Width=”1340″ Height=”2780″ /]
[PrintableOrigin X=”100″ Y=”100″ /]
[/CustomPaper]
But I just got “The server encountered an error processing the request. See server logs for more details.” when trying to print,
If I have PaperName and CustomPaper, the CustomPaper is ignored.
Hi Leif, we do not officially support this manipulation of the custom paper so it is an area that you can change at your own risk. i will say that the margins around a label are there for a couple of reasons.
1. We use it to protect label integrity.
2. Also, depending on the size of the label, there could be print head reasons.
As I said, The 11355, a label sold as 19x51mm, but actually as an extra part of 7mm on top, which we want to use.
So there actually is label at the whole area, even if the label consists of two parts.
The Web Service log file is located at %LocalAppData%\DYMO\DLS8\DLSWebService.log. If you can get us that file for the problem that you are running into with network printers, it could help us diagnose the issue.
Hi ALl,
I don’t understand if I need to use Web Service Beta 1 or Beta 2 Or if it’s enogh to download and install the “Windows DLS 8.5.3.1897″ and use the DYMO Label Framework 2.0.2 ?
My goal is to allow my customer to print via Chrome browser using your JS library.
Could you please anyone help me?
Thanks in advance
Marco
The latest DLS includes the Web Service and can be dowloaded from here
http://download.dymo.com/dymo/Software/Win/DLS8Setup.8.5.3.exe
Furthermore you require the DYMO Label Framework 2.02 which you’ll find the download link at the top of this blog post.
Where would one go to report a minor bug in this release
Please forward your report to the SDK support. You’ll find the corresponding email address in the following blog post http://developers.dymo.com/2011/10/12/sdk-troubleshooting-tips/
Great job guys! Works really well!
I’m seeing some Cross-Origin errors on Windows browsers (Mac seems ok) but it doesn’t seem to be causing any issues with printing. Fingers crossed these won’t just stop it from working one day if Microsoft decide to disable the cross-origin connection.
Will it just reverted back to the compatibility mode if for some reason it cannot connect to the port?
Hi Ben, Thanks for the Kudos!
The Framework is designed to go into backward compatibility mode if it cannot connect to the port. Unfortunately, this will causes some browsers(Chrome and Edge) not to work since they do not support NPAPI.
I found an error in 2.0.2, but I think it exists in previous versions as well:
// using a xml template with one image and one text field...
var label = dymo.label.framework.openLabelXml(labelXml);
var labelSet = new dymo.label.framework.LabelSetBuilder();
// #1 label
var record = labelSet.addRecord();
record.setBase64Image("GRAPHIC", "iVBORw0KGgoAAAANSUhEUgAAAMgAAADIAQMAAACXljzdAAAABlBMVEUAAAD///+l2Z/dAAAAvElEQVRYhd2UUQ5DIQgEuf+lt+ljF7E9wTw0Rhl/JoJVHXqG5xU0om90vrx7Mlhiz1zxHTo5tu8h/Xh04kqsJvVfoyzSoTXugBE5SmefHmOSqvE71ZgVR6KXnsoVLEnGX58yqaSL8Ve/z0TSwKrTYlwyurYcZSwZ33alk87bUrtGmWQKzz9gHJlESkb59OKKJHVVnfx6k+eR6SilMtdCJNNIRzx9RiZLWK8gu7cEJkqievWRSvJTzJtFFEk+cE+O8NJzEdsAAAAASUVORK5CYII=");
record.setText("Name1", "Hello 1");
// #2
var record = labelSet.addRecord();
record.setText("Name1", "Hello 2");
// print it...
Expectation:
Two labels, the first one with an image and text “Hello 1”, the second one only with the text “Hello 2”.
What actually happens:
The first AND the second label do contain the image. :-( The image is not reseted when calling labelSet.addRecord() for the second label!
Workaround for #2 label:
// #2 label
var record = labelSet.addRecord();
record.setBase64Image("GRAPHIC", ""); // !!!!unset the image manually here!!!! :-( :-(
record.setText("Name1", "Hello 2");
To properly reset a Text field you have to pass ” ” but not “”, else the template will be destroyed. (Font will be reseted…)
Hi Simon, I’ve forward this to our development team to look into…
Works perfect for me, just a little question since my taskbar on Mac is pretty cluttered. Please make a function so I can remove it off my taskbar :D
Hello,
I have a bug with DYMO Label Framework and WindowsForms apps in C#. Sample code from SDK (c#) prints label barcode (any type) correct only if a set target to .net 3.5. If I create sample app in .net 4.0 or above – 4.6 printer print only text. Barcode is empty. It not exist on paper. From DYMO Label software all is correct. I use Windows 10 x64 and Visual Studio 2015 Express for Desktop. I found if i set aligment of barcode to left the code has been printed but it is cut. The issue is on DLS 8.5.3 and previous Here is my simple code:
using System.Windows.Forms;
using DYMO.Label.Framework;
namespace DymoTest
{
public partial class Form1 : Form
{
private ILabel _label;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, System.EventArgs e)
{
_label = Framework.Open(@"test.label");
IPrinter printer = Framework.GetPrinters()["DYMO LabelWriter 450 DUO Label"];
_label.Print(printer); // print with default params
}
}
}
Check the post on the home page of this blog dated Sep 30, 2015 with the title “Barcode Printing Issues”. I believe it addresses this issue and has some workarounds.
I’m using latest versions of Dymo and the Framework and I’m consistently having a problem of the label printer randomly stops working. One day it works, next day it doesn’t, then on some reboots it works and others doesn’t.
In Chrome and IE I get the error “Failed to execute webservice command: 400”.
Last time I had to uninstall and re-install Dymo software and then it worked fine but now a few days later it’s back to the same problem.
On Dymo Label when trying to print a label says “Printing Error: PrintTicket provider failed to convert DEVMODE to PrintTicket. Win32 error: -2147467259
I found the reason why the web service stops working, at first looked random but after 1 year with the problem I’ve noticed a pattern thanks to one of the days all the 4 computers with Dymo stopped printing at the same time. That’s when I noticed there was a Windows Update in all of them.
I’ve since confirmed Windows Updates are causing the Dymo printer to stop working with “Failed to execute webservice command” they won’t even work from Dymo Software itself. The only solution is to go to Manage Devices, remove it and scan for new hardware. Takes only 20 seconds to solve but it is very annoying as my clients keep having to ask me to solve this every time it stops working.
It seems to only happen after Windows installs some Windows Updates, not all updates cause it though.
Was a tough diagnostic, would never guess it was linked to Windows Updates. Now I leave it to Dymo to figure out why some updates are causing this problem.
Hi Bruno,
I am sorry to hear you are having so much trouble with Windows Updates. I will look into this issue to see exactly what it is about the update that is causing the problem.
Regards,
Jeff
Hi, Thanks again for your great work on this project!
For my use, I need online/offline detection, so I am pinging the webservice every second.
I noticed that if you stop the webservice, it still returns `isWebServicePresent: true` from the `checkEnvironment` function.
I’m using OSX and Chrome with Dymo 8.5.3.
Is that the correct behavior? Or is there another way to detect the webservice presence?
Thanks!
Robert
Hi!
Is there any way to programmatically fall back to “compatibility mode”, where the JS library uses the browser plugin instead of the webservice? We’re worried some of our users won’t be able to update in time.
I don’t know of any API for this. Is there one?
I thought about looking for `isFrameworkInstalled`, but I noticed that value is reported as `true` even in Chrome, which doesn’t support the browser plugin.
Thanks!
Robert
Sorry, PEBCAK! Trying again, `isFrameworkInstalled` seems to work properly. Thanks!
Hi, We’re getting responses from the Webservice with status of 400. The response body says that the “PrintTicket XML is not well-formed”. When we turn off the webservice and fallback to the browser plugin, we can print labels.
I have prepared the info from this case, do you see anything out of ordinary? This gist includes:
– Screenshot of the Webservice response (including stack trace)
– The “Form Data” of the request, copied from Chrome browser tools
– Information about the environment (OS, Dymo version, Dymo JS version)
Do you see anything wrong with the request? Thanks so much!
Sorry, here’s the gist:
https://gist.github.com/rmosolgo/1d40322ddd3942d03845
Hi. I had Chrome (Mac and Windows) printing to Dymo printer successfully shortly after this post.
Now I am getting customers saying that Chrome is now not finding the Dymo printer. Works on Firefox and IE. Did Chrome update things again? Is anyone else seeing issues with Dymo and Chrome?
Dymo software version: Version 8.5.3.2000
DYMO.Label.Framework.2.0.2
Chrome: Version 48.0.2564.116 (64-bit)
Mac OS X 10.11
Thanks!
Just ran a windows installer for a winform application and keep getting an error:
Could not register type library for file DYMO.Label.Framework.tlb
Any ideas?
Meant to add this is an installer I created in Visual Studio 2013 for my application. The Dymo label software and SDK were already installed on the PC where I ran my setup.
Did this error originate from the DLS installer? Or from the installer of an application you have written? If it’s your application, you should not be installing any DYMO binaries. Instead, make sure DLS is installed on the client machine. DLS installs all of the necessary binaries for DYMO SDK apps to run.
The label printer service seems to be case sensitive. If I send downcased xml to the service it will still reply with “true” but no label is being printed. Would it be possible to accept downcased xml as well? That would make it a lot easier to generate the label’s xml with javascript.
I’ve been using the javascript framework to generate label previews and print from a Chrome extension. The labels in question are “Extra small 2up” (11353) and the previews I’ve been able to produce are very small and low resolution.
The framework appears to reference an option for “pngUseDisplayResolution”, how can I render previews at the print resolution?
A snippet of the javascript I’m using to generate the png is:
_label = dymo.label.framework.openLabelXml(labelXMLdata);
applyDataToLabel(_label, _labelData);
var pngData = _label.render();
Setting pngUseDisplayResolution to true will generate a PNG using the display resolution while setting it to false will generate a PNG using the printer resolution. The PNG using the display resolution will be smaller than the one using the printer resolution.
dymo.label.framework.createLabelRenderParamsXml() creates a XML string suitable to pass to the renderLabel function as renderParamsXml paramter.
var label = dymo.label.framework.openLabelFile(labelXmlData);
label.setObjectText(“TEXT”, “123????????”);
var pngData = label.render(dymo.label.framework.createLabelRenderParamsXml({ pngUseDisplayResolution: false, flowDirecghtToLeft” }));
Thanks for the quick reply, the code I ended up using is below:
var pngData = _label.render(dymo.label.framework.createLabelRenderParamsXml({ ‘pngUseDisplayResolution’: false }));
Is the list of render params documented anywhere? I’ve not found it when searching the site. In particular, I would like to adjust the large black drop-shadow on the preview to something more subtle…
Yes, render params are documented in the JavaScript help which comes with the DYMO SDK. You can download the DYMO SDK here http://www.dymo.com/en-US/dymo-user-guides/dymo-user-guides/dymo-label-v8-software-developers-kit-dymo-sdk-v8-windows-p
Custom shadows work fine on Windows but don’t seem to work on OSX.
jsfiddle.net
/rwood5/z7oscrbc/
When printing through Salesforce Integration, the labelwriter doesn’t know which side of the printer to use and defaults to the previously used side. If we print file labels on the DYMO LabelWriter TwinTurbo 450, printing in Salesforce switches to printing file labels. We need to go back into the Dymo Label software, change it to an address label, then re-print in Salesforce. Is there anything we can do to fix this?
The LabelWriterPrintParams lets you specify the roll (left, right and auto) for the LabelWriter Twin Turbo. Please check the help which comes with the DYMO SDK and the following blog post (2. Every time I print to my Twin Turbo the label prints from the left tray. How can I print to the right tray?): http://developers.dymo.com/2012/12/26/dymo-sdk-faq-part-2/
Hi there,
Sometimes we experience a deadlock from the webservice (OSX, v8.5.3 + JS v2.0.2).
In order to detect printers being added or removed, we ping the webservice every 500ms.
Sometimes, when we actually print labels (request sent to `/PrintLabel`), it causes the calls to `GetPrinters` to get stuck. They show as “pending”, but they never finish.
Here’s the Chrome network log for this case:
https://cloud.githubusercontent.com/assets/2231765/13817548/087ccb96-eb69-11e5-9c8c-5532ae13cfb1.png
https://cloud.githubusercontent.com/assets/2231765/13817553/0dc778ee-eb69-11e5-8360-45a3d36ee564.png
If I open the taskbar app and click “Diagnose”, I got two different errors on two different “Diagnose” actions:
– First, “Failure to write headers” (Sorry, I didn’t take a screenshot!)
– Second, “Request timed out” (https://cloud.githubusercontent.com/assets/2231765/13817981/9c9d4ade-eb6a-11e5-8a9e-6a4f82eb487c.png)
If I manually stop the service, the “pending” request finally fails.
If I manually restart the service, then subsequent requests succeed.
Do you know why that call hangs indefinitely? Is there something I can do to work around it?
Thanks for your help!
Hi Robert,
I will forward this information to the appropriate developers for investigation. I will follow up once we have more information.
Hi Robert, Could we get a copy of the script to look at?
As a note, for the mac version, calling GetPrinters() every 500ms does not do what is expected. Due to some limitations on the mac side, the printer list is not updated with the GetPrinters() call. It is updated via the init and CheckServiceStatus request (which is sent once on DYMO JS Framework init on a web page load). GetPrinters returns a cached list.
Sure, I’ve pasted some application code here with minimal changes. Please excuse the CoffeeScript!
One file is the `CheckInPrinter` which is instantiated for each print job
The other file is the `DymoPrintersStore`, which is a singleton, long-lived object in JavaScript memory. It continually polls for changes in the printer arrangement.
https://gist.github.com/rmosolgo/fd8c0e56d24b1fcf32a2764435748d37
Thanks for any insights you have!
Need some help, very new at this. I have an application that was written for my business. It is a web based application that prints labels when work orders are created. Print label still works in IE, but no longer works in chrome. I get plugin unsupported and no dymo printer installed errors. I’ve updated application, and framework, still not working in chrome. Do I need to do something in the php or JS to change the application from using NPAPI or something? I am a bit in over my head here, any help would be great.
Hi Bradley,
There was a new call introduced to the Framework to initiate the Web Service version of the Framework. You can find details in an older post:
Web Service Information Part 1
Web Service Information Part 2
Is label.render() / label.renderAsync() known to be broken?
I can successfully print a label using
var label = openLabelXml(myXmlString);
label.print(myPrinterName);
However, when I try to preview the label using either label.render() or label.renderAsync(), the following happens:
* The Javascript framework thrown an exception: “Failed to execute webservice command: RenderLabel. Error: -1”
* The webservice crashes. See below for stack trace excerpt.
* I have to manually restart the webservice to continue printing.
I’m using V8.5.3 on OS X 10.10.5
0 libsystem_kernel.dylib 0x9993d69a __pthread_kill + 10
1 libsystem_pthread.dylib 0x97dea634 pthread_kill + 101
2 libsystem_c.dylib 0x90628dee abort + 156
3 libmono-2.0.dylib 0x002433f0 mono_handle_native_sigsegv + 1088
4 libmono-2.0.dylib 0x002ea0ba mono_arch_handle_altstack_exception + 282
5 libmono-2.0.dylib 0x00120597 mono_sigsegv_signal_handler + 839
6 libsystem_platform.dylib 0x9258d03b _sigtramp + 43
7 ??? 0xffffffff 0 + 4294967295
8 libmono-2.0.dylib 0x00120250 mono_sigill_signal_handler + 96
9 libWebAddin.dylib 0x0785ea3c -[PrintParams(XmlSerialization) loadWithRetriever:] + 48
10 libWebAddin.dylib 0x0785f9e2 -[LabelRenderParams(XmlSerialization) loadWithRetriever:] + 58
11 libWebAddin.dylib 0x07860cf4 -[WebAddin parseLabelRenderParamsWith:] + 150
12 libWebAddin.dylib 0x0786061d -[WebAddin renderLabel:labelRenderParams:printerName:] + 344
13 ??? 0x00b01fa8 0 + 11542440
14 ??? 0x0a3d3d7c 0 + 171785596
15 ??? 0x0a3d3c94 0 + 171785364
16 ??? 0x0a3d3c12 0 + 171785234
17 ??? 0x08746951 0 + 141846865
18 ??? 0x0a3d3ac8 0 + 171784904
19 ??? 0x0a3d3b6e 0 + 171785070
20 libmono-2.0.dylib 0x00122bb6 mono_jit_runtime_invoke + 1334
21 libmono-2.0.dylib 0x0043195d mono_runtime_invoke + 205
22 libmono-2.0.dylib 0x0043cc6c mono_runtime_invoke_array + 2460
23 libmono-2.0.dylib 0x0034d40e ves_icall_InternalInvoke + 2510
Hi Marius,
We are not seeing any issues with the render methods. The call stack seems to indicate that the crash is happening in parsing the render params xml. Could you send a full dump of the XHR request headers from the Chrome network log? Also, could you send the contents of myXmlString.
There could be a possible workaround using the method: renderLabel(myXmlString,””,myPrinterName). It does the same as label.render(), but you pass an empty render params xml.
Since it will be easier to attach files could you send the request through our mailing list: sdkreply AT newellco dot com
Thanks
I am getting this error now: onEnvironmentChecked > exception e : Unable to create DYMO.Label.Framework ActiveX object. Check that DYMO.Label.Framework is installed. Exception details: Error: Automation server can’t create object. And in IE F12 it says this: XMLHttpRequest for https://localhost:41951/DYMO/DLS/Printing/StatusConnected required Cross Origin Resource Sharing (CORS).
Can you tell me what might be wrong?
And this: onEnvironmentChecked > checkResult isBrowserSupported : true, isFrameworkInstalled: false, isWebServicePresent: false, errorDetails: Unable to create DYMO.Label.Framework ActiveX object. Check that DYMO.Label.Framework is installed. Exception details: Error: Automation server can’t create object
I agree with one above : everything is good but could there be an option to remove the icon from my Mac Taskbar as its not a function lots of us may use daily. I can’t turn it off from my Login Items page and I have to Exit the app from the task bar everytime I restart.
Thank you.
Hi Edward,
We will look to add more confiurability to the request list for future releases. As a note, the taskbar application is required for the Web Service to work, this is why we start it on login.
I deleted the DYMO software but the icon on my task bar will not go away. I’ve removed every shred of the DYMO software that I can from my mac and it still auto starts every time I turn my computer on.
How can I get rid of it?
I’ll try and get to the bottom of this. Can you tell me what software you’ve installed, and what steps you’ve taken to delete it?
Thanks
New install on the latest and I am doing the same construction of the label, from the same XML definition, and calling the label.print() method and receiving a 400 Bad Request error. What am I doing wrong?
Would you mind posting some code?
Hello,
there is a bug with the smart paste/smart print.
The bug is that it adds extra blank row on ending on all of the printed labels just the last one is ok.
Hope you can fix that soon as everything works great on version 7 but it’s not working on win10.
Regards,
Alex
If you have any questions regarding the DYMO SDK, e-mail us at [sdkreply at newellco com] or post the question on this blog. Please note, this is SDK-only support e-mail. For questions regarding DYMO Label software (DLS) itself, please contact DYMO tech support.
Please check the following blog post for more details on this topic:
http://developers.dymo.com/2011/10/12/sdk-troubleshooting-tips/
Hi,
I am trying to install theis version on my Mac (10.11.3) but the package wont install. just stuck at verifying the package.
Any ideas?
Cheers
Ben
If you have any questions regarding the DYMO SDK, e-mail us at [sdkreply at newellco com] or post the question on this blog. Please note, this is SDK-only support e-mail. For questions regarding DYMO Label software (DLS) itself, please contact DYMO tech support.
Please check the following blog post for more details on this topic:
http://developers.dymo.com/2011/10/12/sdk-troubleshooting-tips/
We have a SaaS application designed for Chrome. DYMO printers worked fine before the changes last September.
Now we have not been able to get DYMO printers recognized as a printer .. we do use an https: address. with SSL encryption.
At this point its been over six months and we still can not use DYMO printers… will you be addressing the SSL issue in a future update?
This affects all of our customers on MAC and PC.
If this is NOT going to be addressed, it would be helpful to know this… as this is a highly critical issue for us.
Also is there some way to work with a live person? as in is there a help line to call and get a technician we can TALK to about this?
Thank you
BG Support
[email protected]
Hi,
Are you able to print to the printers successfully from DLS and not through your application?
yes that is correct and we can in OPERA (browser)
Not in Firefox or Chrome
however the program is written to be used in Chrome so we are looking for a solution there.
TIA
BG Support
Since things work in Opera, my guess is a settings issue in Firefox/Chrome. Have you tried IE as well? Perhaps there are some SSL settings in Firefox/Chrome that are causing issues?
yes of course that is the problem – the SSL .. but are you going to work around the new SSL settings?
it worked fine prior to the changes made by Google.
I’ve spoken to some of my colleagues that are more familiar with web service and I have a couple pieces of information to pass along.
– Make sure you are using the release version of the JavaScript library and the latest version of DLS. There were SSL issues in some of the earlier releases that have been resolved in newer versions. Download links for both the latest JavaScript and DLS are below
http://www.labelwriter.com/software/dls/sdk/js/DYMO.Label.Framework_2.0.js
http://www.labelwriter.com/software/dls/win/DLSSetup.8.5.3.1897.exe
– There is a diagnose option in the application tray (installed with DLS) you can use to test communications.
thank you.. i have passed this on to my programmer. fingers crossed!
BG Support
Hi, a bit off topic, but where is the place we can try to focus on making Dymo drivers work with terminal servers connected Dymo printers?
I’m sorry, we don’t offer support for making DYMO drivers work with terminal servers.
On one machine (fortunately my own) renderlabel takes 20 seconds, on the other it takes no visible time.
Firebug in chrome shows
POST https://localhost:41951/DYMO/DLS/Printing/RenderLabel 200 21110ms
All machines are windows 10 with latest from windowsupdate.
It takes around 20 seconds to load https://localhost:41951/DYMO/DLS/Printing/GetPrinters in browser, any browser.
It even takes 64 seconds from clicking on the diagnose link on the dymo icon in taskbar to the window appears “The service is running”
However, there is no delay on https://localhost:41951/DYMO/DLS/Printing/Check
I’m running the latest 8.5.3.
I’ll save this message, remove and reinstall DLS, and see if that changes anything.
Aha! Got it.
I had a samba-printer at an unreachable network, in my windows “Devices and printers”
When I removed that printer, everything runs smooth again.
That’s great to hear. I’m glad that things are working again for you.
Can you help me out with a longer description of what was going wrong (is this the issue that was bothering you in comment 13 or comment 18?) and the network/windows configuration that would let us reproduce it?
Nice!
I’m trying to reproduce this one. Would you mind elaborating a bit on what was going wrong, as well as what you mean by unreachable network? I’d really appreciate it.
Thanks.
Simply ;-)
I had a ipp-printer at h t t p: / / 10.0.0.4:631/printers/printer1
If my vpn is up, and the printer is reachable from my 192.168.1.x network, the dymo webservice works fast.
If my vpn is down, and the printer is not reachable, the webservice have a delay of x*21 seconds. (The diagnose link from the taskbar probably have 3 calls to the webservice).
If I delete the ipp-printer, the service is fast again.
Sorry I said samba-printer, it’s a CUPS printer.
My original message were pending moderation, and seems now to be gone, explained the problem in greater detail. I hope this is enough.
Nice!
I’m trying to reproduce this one. Would you mind elaborating a bit on what was going wrong, as well as what you mean by unreachable network? I’d really appreciate it.
Thanks.
I had to add spaces in “h t t p”, otherwise your forum software accused me of spamming….
Hi,
Since my update to Chrome 50.0.2661.87 m (64-bit) when I tru to diagnose the web service on https://localhost:41951/DYMO/DLS/Printing/Check i get an error “ERR_SSL_FALLBACK_BEYOND_MINIMUM_VERSION”
In firefox/ie everything is working.
Strange thing: on other pc also same chrome, don’t have this problem
Anybody any idea?
Grtz,
E-raser
hi dymo developer team
i have installed dymo label software on a citrix environment, with xenapp 6 and dymo label software 8.3.x, and it works fine, now we make a new xenapp 7 farm, also with w2k8r2 servers, but newer .net framework (4.6), and installed dymo label software 8.5.3. but i get it not to work. when user logon, printquickutility.exe will crash, and when i open dymo label software, and klick to the adress window to edit the name or so, it will fail, it comes failure: “the given key was not present in the dictionary.” have anyone a idea, how i can get dymo label software to work? in xenapp 6 it works great! but older .net framework, but i am not sure if this is the problem!
regards
frank
Hi Frank,
It sounds like many things have changed at once for you. This link may help you diagnose the problem related to running on Windows Server (which, unfortunately we do not officially support). https://newellrubbermaid.secure.force.com/dymopkb/articles/en_US/FAQ/Using-DYMO-Printer-On-Terminal-Services/?q=Terminal&l=en_US&fs=Search&pn=1
Can you print from DLS on your server machine?
Hi Devs,
My browser console returns the following notice (not an error) during script output:
Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user’s experience. For more help, check
It’s is caused by the DYMO Print scripts.
Any ideas how to solve this?
Best regards,
Bart
A few of our Windows 10 users are reporting a certain error from Google Chrome 50.
If they click “Diagnose” from the task bar, it opens Chrome, but the page fails to load. Instead, they get an error:
> This site can’t provide a secure connection
> localhost sent an invalid response
> learn more about this response
> ERR_SSL_FALLBACK_BEYOND_MINIMUM_VERSION
A similar issue is discussed here: https://productforums.google.com/forum/#!topic/chrome/ERebOROL7UM;context-place=forum/chrome
I’m on OSX and Chrome 50 works fine for me. Also, both users _just_ reported this problem, so I’m guessing it was caused by a recent auto-update to Chrome 50.
Some of the solutions in that discussion involve changes to the server. Is there anything we can tell our customers to do to resolve this issue?
Thanks!
Robert
Maybe this issue affects it? https://bugs.chromium.org/p/chromium/issues/detail?id=583787
I have also had users report this issue today. Appreciate any insight on this issue :)
I also have this issue on my Windows 10 laptop and Chrome 50.
It does look like the solution to this problem will require changes to the server. Chrome is continuously increasing their security checking and it looks like these particular clients have servers that are out of spec for Chrome 50 clients.
Windows 8.1 was out-of-date for some clients, and when all windows updates was installed it solved the issue in that case for ERR_SSL_FALLBACK_BEYOND_MINIMUM_VERSION
We have a few clients on windows 10 which is still getting ERR_SSL_FALLBACK_BEYOND_MINIMUM_VERSION, and we made sure the computers are 100% up to date with 8.5.3 and we still get error.
Is there a windows application / package dependency for getting SSL working correctly with Chrome?
My understanding is that the application running the secure localhost dymo webservice is trying to push too old of a certificate and chrome won’t fallback to the old certificate method.
Hi Robert,
We have been attempting to recreate this issue in our lab and have not had much success. Can you give us some additional info on the machines that are having issues?
What Version of Windows? 32 bit or 64 bit? What is the build number?
What version of Chrome? 32 bit or 64 bit? What is the build number? What plugins are installed?
Thanks!
Hi there,
I’m not Robert, but I work with him. Here’s some info we were able to gather:
Machine 1:
Windows 10 Pro Version 1511 (OS Build: 10586.318) x64 bit OS
Chrome Version 50.0.2661.102 m w/ Google Docs Extension enabled
Machine 2:
Windows 10 x64 (Build: 1511 – 10586.318)
Chrome Version 50.0.2661.102 x32 w/ Google Docs Extension enabled
Firefox 46.01 (Build: 20160502172042)
Thanks!
Greg
I’m getting the same ERR_SSL_FALLBACK_BEYOND_MINIMUM_VERSION error when i go to the https://localhost:/DYMO/DLS/Printing/Check page(only in Chrome).
Windows 10 Pro build: 10.0.10586
Chrome: 51.0.2704.79 m (64-bit)
I’ve launched Chrome in incognito mode(no plugins)
Let me know if you’ll be able to reproduce this.
Same problem here since chrome 50.
I’ve 3 computers in LAN.
– One where my dymo is connected via USB on windows 10 and chrome 50 and it works fine
– One with Windows 8.1 and chrome 50 where I usually use my dymo via network : If I click diagnostic the ssl certificate is fine but when I want to print I’ve a “Failed to execute web service command: 400: Bad Request” error.
– One with Windows 10 and chrome 50 where I usualy use my dymo via network : If I click diagnostic I’ve the ERR_SSL_FALLBACK_BEYOND_MINIMUM_VERSION error mentionned above, and if I want to print I’ve the 400 bad request error.
I couldn’t find a solution for now and that’s pretty annoying…
After 2 days of testing with different services I was able to print a label trough web with https://github.com/flavienliger/DymoWebservice
Anyway, now I’m not able to print label 11354 (error: not supported by your printer) but actually it is.
Even trough chrome default printing service I can print in 11354 but new Dymo software don’t allow that, where is the problem now?
I am trying to use LabelWrite 450 wit label Small30334. I have designed the label in DYMO Label and can print from the DYMO Label app.
When I try to print to it from the browser, I get the “Request Error”. Printing using the XML setup of label “30252 Address” I get no error, it prints.
Code is below.
var tapeLabel;
var printer;
function printLabel(text) {
label = tapeLabel;
objName = “Name”; // name of the object on the label, you could have multiple
// set data
// Because Android does not support XPath (that is needed for setObjectText)
// we will use LabelSet instead
//label.setObjectText(objName, text);
var labelSet = new dymo.label.framework.LabelSetBuilder();
labelSet.addRecord().setText(objName, text);
// print
label.print(printer.name, null, labelSet.toString());
}
/* DYMO printer code – ideas from: http://developers.dymo.com/*/
function startupCode() {
/* access DYMO Label Framework Library */
printers = dymo.label.framework.getPrinters(); // load all installed printers
if (printers.length == 0) {
console.log(“No DYMO printers installed!!!”);
alert(“No printer connected!”);
}
else {
console.log(“Printers available: “.printers);
printer = printers[0]; // pick the first printer
console.log(“The first printer will be used “.printer);
}
// setup label type
labelXml = ‘\
\
Portrait\
Small30334\
30334 2-1/4 in x 1-1/4 in\
\
\
\
\
\
Name\
\
\
\
Rotation0\
False\
True\
Center\
Middle\
ShrinkToFit\
True\
False\
\
\
Marci Erik\
\
\
\
\
\
\
\
\
\
\
\
Position\
\
\
\
Rotation0\
False\
False\
Center\
Top\
ShrinkToFit\
True\
False\
\
\
Operativ vezető\
\
\
\
\
\
\
\
\
\
\
\
Company\
\
\
\
Rotation0\
False\
False\
Center\
Top\
ShrinkToFit\
True\
False\
\
\
Electro-Install Kft.\
\
\
\
\
\
\
\
\
\
‘;
tapeLabel = dymo.label.framework.openLabelXml(labelXml);
}
function frameworkInitShim() {
/* this will first initialize the DYMO framework, connects to the webservice on the local ports
and then calles the startupCode */
dymo.label.framework.trace = 1; // to enable tracing (debugging), look at it in the Developer Console in Chrome
dymo.label.framework.init(startupCode); //init, then invoke a callback
}
window.onload = frameworkInitShim;
Trying to copy the code again
var tapeLabel;
var printer;
function printLabel(text) {
label = tapeLabel;
objName = "Name"; // name of the object on the label, you could have multiple
// set data
// Because Android does not support XPath (that is needed for setObjectText)
// we will use LabelSet instead
//label.setObjectText(objName, text);
var labelSet = new dymo.label.framework.LabelSetBuilder();
labelSet.addRecord().setText(objName, text);
// print
label.print(printer.name, null, labelSet.toString());
}
/* DYMO printer code - ideas from: http://developers.dymo.com/*/
function startupCode() {
/* access DYMO Label Framework Library */
printers = dymo.label.framework.getPrinters(); // load all installed printers
if (printers.length == 0) {
console.log("No DYMO printers installed!!!");
alert("Úgy tűnik nincs a DYMO matrica nyomtató csatlakoztatva, nem fog tudni nyomtatni!");
}
else {
console.log("Printers available: ".printers);
printer = printers[0]; // pick the first printer
console.log("The first printer will be used ".printer);
}
// setup label type
labelXml = '\
\
Portrait\
Small30334\
30334 2-1/4 in x 1-1/4 in\
\
\
\
\
\
Name\
\
\
\
Rotation0\
False\
True\
Center\
Middle\
ShrinkToFit\
True\
False\
\
\
Marci Erik\
\
\
\
\
\
\
\
\
\
\
\
Position\
\
\
\
Rotation0\
False\
False\
Center\
Top\
ShrinkToFit\
True\
False\
\
\
Operativ vezeto\
\
\
\
\
\
\
\
\
\
\
\
Company\
\
\
\
Rotation0\
False\
False\
Center\
Top\
ShrinkToFit\
True\
False\
\
\
Electro-Install Kft.\
\
\
\
\
\
\
\
\
\
';
tapeLabel = dymo.label.framework.openLabelXml(labelXml);
}
function frameworkInitShim() {
/* this will first initialize the DYMO framework, connects to the webservice on the local ports
and then calles the startupCode */
dymo.label.framework.trace = 1; // to enable tracing (debugging), look at it in the Developer Console in Chrome
dymo.label.framework.init(startupCode); //init, then invoke a callback
}
window.onload = frameworkInitShim;
Any chance we’ll see the ability to use an ACL on the web service instead of being locked to “localhost”? Being able to connect a printer to a single machine and other hosts on the network being able to print to it would be helpful.
It would be great to have the javascript SDK able to print a files. e.g. dymo.label.framework.openLabelFile(file_base64_encoded);
Printing PDF labels via third party software like foxit reader remotely is a pain when it could be done locally via the SDK and webservice.
Thanks
I have 2 network dymo printers. 1 regular 450 Turbo and 1 450 DUO. he DUO is intalled as 2 seperate printers. When I start the webpage and check te printers I get 3 results (names). So far so good. The are also recognized:
C: “”
c: “”
isAutoCutSupported: true
isConnected: true
isLocal: false
modelName: “DYMO LabelWriter 450 DUO Tape”
name: “\\server.domain.local\NAME1-Tape”
printerType: “TapePrinter”
The three printers are:
\\server.domain.local\NAME1-Label
\\server.domain.local\NAME1-Tape
\\server.domain.local\NAME2
When I try to print to them, I get the error:
printLabe(): unknown printer \\server.domain.local\NAME1-Tape
Anyone any ideas?
When connecting the printer locally it prints fine and the name is “DYMO LabelWriter 450 DUO Tape”
What am I doing wrong when the printer is detected but the name is not recognized.
Please make sure that you have installed the required software on all the PC you are using. The following blog post describes which software needs to be installed on which system http://developers.dymo.com/2010/06/15/label-printing-and-web-deployment/
If that doesn’t help, please elaborate more on your client-server setup/configuration. Furthermore are you able to print from the client as well as the server to the DYMO printer when using DYMO Label Software (DLS)?
Is it possible to update the way you set/get/remove the ServicePort setting from window.localStorage? Use the setItem, getItem and removeItem.
function Pd(a) {
window.localStorage ? a ? window.localStorage.setItem('ServicePort', a) : window.localStorage.removeItem('ServicePort') : Ld() ? a ? Md("ServicePort", a, 100) : Md("ServicePort", "", 100) : window.c = a
}
function Qd() {
return window.localStorage ? window.localStorage.getItem('ServicePort') : Ld() ? Nd("ServicePort") : window.c
}
Jeroen,
Thanks for your feedback. We will take this into consideration for future releases.
Hi,
Is it possible to use the c# assembly on mac with mono c#?
I don’t believe so. The C# assembly makes many windows calls.
Hello,
I am using DYMO.Label.Framework.2.0.2.js with the latest 8.5.3…. software on a windows 10 computer from a chrome browser with a dymo labelWriter 450.
I stepped through my code and it creates the error:
failed to execute webserver command 400
when I issue the command:
label.print(printerName);
The same label works find on another computer
Can you help?
Let’s try and narrow down what is causing the issue:
Can you try another browser from your Windows 10 box, and then Chrome from the working machine?
We have tried chrome and IE with the same result. When I said “The same label works find on another computer”, I meant when I move the printer to another computer and try it, the label prints fine point being the label itself and my code seems to be fine.
It seems likely that this is a permissions issue of some kind, since the same message works with the same program installed in a different environment.
First things first, can you verify that the web service is running? (Should be a DLS logo icon in the notification area, right click on it and you’ll see something like “Started on port 41951”).
If that icon is there you should see an option to “Diagnose” in the right click context menu. If that’s there, would you click on it and let me know what it says?
Thanks
When I click that it does give the positive message that the web service is running fine:
Congratulations! DLS Web Service is up and running.
You can now print from supported web sites.
Roger,
Can you try going to http://www.labelwriter.com/software/dls/sdk/samples/js/PrintMeThatLabel/pl.html and see if you are able to print from there?
Thanks
Well I tried it on my own computer where the labels print fine, and the printer list is blank, I tried resetting the printer to no avail, so I can’t even try to print as it says, “select printer”. I’ll see what my client says.
Same result from my client it says: “select printer” when they try to print.
You might have the old (javascript) sdk on these machines. Can you verify that you have the latest (8.5.3) version of DLS installed on them? Blank printer list usually means older sdk.
Both my computer and my clients computer has version 8.5.3.1897, mine windows vista, theirs on windows 10.
Any more news on this? This is really taking a long time to get and solutions…
Roger,
Can you enabled the trace functionality mentioned in the following post and let us know your findings?
http://developers.dymo.com/2016/08/08/dymo-label-web-service-faq/
checkEnvironment > cachedWebPort : 41951
DYMO.Label.Framework.2.0.2.js:106 checkEnvironment > trying async service discovery
DYMO.Label.Framework.2.0.2.js:106 _createFramework > return _framework : undefined (async)
DYMO.Label.Framework.2.0.2.js:106 onEnvironmentChecked > checkResult isBrowserSupported : true, isFrameworkInstalled: true, isWebServicePresent: true, errorDetails:
DYMO.Label.Framework.2.0.2.js:106 chooseEnvironment > WebServicePresent
DYMO.Label.Framework.2.0.2.js:106_createFramework > returning existing instance of _framework, has callBack: false
DYMO.Label.Framework.2.0.2.js:59Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user’s experience. For more help, check https://xhr.spec.whatwg.org/.
DYMO.Label.Framework.2.0.2.js:106_createFramework > returning existing instance of _framework, has callBack: false
DYMO.Label.Framework.2.0.2.js:106_createFramework > returning existing instance of _framework, has callBack: false
DYMO.Label.Framework.2.0.2.js:60POST https://localhost:41951/DYMO/DLS/Printing/PrintLabel 400 ()Rd @ DYMO.Label.Framework.2.0.2.js:60Yd @ DYMO.Label.Framework.2.0.2.js:64Zd.printLabel @ DYMO.Label.Framework.2.0.2.js:65printLabel @ DYMO.Label.Framework.2.0.2.js:99je @ DYMO.Label.Framework.2.0.2.js:121Y.h @ DYMO.Label.Framework.2.0.2.js:71(anonymous function) @ checkin_server.cfm?p=1475001359007:1208each @ jquery.min.js:2(anonymous function) @ checkin_server.cfm?p=1475001359007:76t.emit @ pusher.min.js:8e.handleEvent @ pusher.min.js:9(anonymous function) @ pusher.min.js:8t.emit @ pusher.min.js:8message @ pusher.min.js:9t.emit @ pusher.min.js:8message @ pusher.min.js:9t.emit @ pusher.min.js:8e.onMessage @ pusher.min.js:8socket.onmessage @ pusher.min.js:8
Hi Roger, sorry to hear that this is still troubling you a month on.
There wasn’t any real gotchas in that stack trace.
Let’s take stock, I want to make sure that we fully understand your problem.
You have machine A, where you have your code and your printer, and attempting to print gives you a 400 error.
You have machine B, where you run the SAME code, and use the SAME printer, and it prints fine.
If that’s true, then the problem can’t be in your code, and there can’t be anything wrong with your printer. There must be some difference in how the two machines are configured. It is hard to diagnose that over a message board, but can you check for any obvious differences between A and B? Maybe you are logged in as an Admin on one and not the other, or a firewall is blocking the web service on A but not on B…. There must be some difference between the two.
-Regards,
Walter
Both machines are getting the code from a webserver. Both machines have their own Dymo LabelWriter 450.
One machine is windows 10 Home (works), the other is windows 10 Pro (does not work). On both machines using the Dymo Label Service icon diagnose option indicates that the service is running and the test page that comes up says: “Congratulations! The DSL Web Services is up and running. Is it possible that on the machine that does not work that even though the diagnose option says it’s fine, that the firewall is still blocking something?
I don’t think that’s the case, like you said it is able to satisfy itself in the diagnose option. As far as the web service goes it believes that it is still sitting there waiting for connections.
So, if we know that your code works, and we know that the webservice works, the question is what is different between the two computers. Obviously there’s the OS, but that shouldn’t really affect this.
Let’s try and figure out what on that box is stopping us. Here are a few things to try on the box that isn’t working:
1: Can you try http://www.labelwriter.com/software/dls/sdk/samples/js/PrintMeThatLabel/pl.html again? I know you tried that once before, but I fixed a bug in it yesterday. It should be working now.
2: If you install DLS 8.5.3 on this box and run it, does that work?
3: If you try the code samples in the SDK download, do those work?
I’m mostly trying to see if there is anything we can do to get the printer working on this box, then if we have it working, we can try and work back to see what is different from the case where it works to what we are doing in your code.
Hello, so once I tried the new link you gave me that worked, the printer was listed in the drop down box. Then to my surprise my client tried my program and it worked! I was working for a while then yesterday it stopped, and your link also no longer detects the printer and nothing has been installed on the computer. I also tried a computer that was always working on a Mac and it now does not work. So frustrated. Any thoughts?
Also, i there a way to print directly through the desktop software vai COM or something? It does print fine to the printer..
We have identified an issue with Chrome 50 not being able to contact the Web Service due to the service using an older version of SSL/TLS. This is causing the ERR_SSL_FALLBACK_BEYOND_MINIMUM_VERSION that others are seeing.
We have several clients that are using the DYMO 450 Turbo who are unable to use the service from Chrome since the update to 50. Downgrading to a past version (We’ve been recommending 46 since that’s the latest older version that I can find a link to). Everything works fine in the most recent versions of Firefox, Edge, and Safari.
We can reliably reproduce the issue; if you need help setting it up, please let me know.
Hi Chris, We’d love to take you up on that offer. Our in house guys are having trouble reproducing the issue. Can you post a step-by-step of what you had to do to get it reliably showing up?
Thanks!
Recreate steps for error:
1. In windows, Open Dymo webservice
2. Select “Diagnose” > “DYMO Label Web service is running on port 41951. Do you want to open a test page to check the certificate” – > Select “Yes”
3. Chrome version 52.0.2743.116 opens URI: https://localhost:41951/DYMO/DLS/Printing/Check >
This site can’t provide a secure connection
localhost sent an invalid response.
ERR_SSL_FALLBACK_BEYOND_MINIMUM_VERSION
When using MS Edge browser works:
Congratulations! DLS Web Service is up and running.
You can now print from supported web sites.
The problem with the webservice running in the background is using TLS version that is using a depreciated version Chrome doesn’t like…but edge does!
Hey, Walter – Were you able to recreate the problem with the steps we laid out?
Like I said, our clients can’t print their DYMO labels with the latest Chrome browser.
We have been asking our customers to down-grade their browsers as a work around. However, most get auto-updated and don’t realize it and wonder why they can’t print.
Please let me know.
Thanks.
Chris,
Ultimately it seems like this is going to have to get fixed in the next release for DLS. In the meantime, can you start Chrome with the –ssl-version-fallback-min=ssl3 option?
Walter – Thanks for getting back to us.
We tried to run chrome with –ssl-version-fallback-min=ssl3 option with the following steps:
1. Added ” –ssl-version-fallback-min=ssl3″ option to end of target in chrome shortcut)
2. Right-clicked on DYMO webservice and selected “Diagnose…” > DYMO Label Web service is running on port 41951. Do you want to open a test page to check the certificate?” > Selected Yes
3. Browser displays:
Did we miss any step(s)?
Thanks again, Walter.
Also, Walter. Can you give me a timeframe or best guess when the next release for DLS will be?
Thanks.
Work is underway on a new version, but there isn’t a timeframe yet. I’m sorry for the inconvenience that this is putting you through.
Hey, Walter – Any updates on a release to solve this issue?
Thanks,
-Matt
Matt, I’m sorry, we don’t have anything for you yet.
This page -> http://developers.dymo.com/2016/08/08/dymo-label-web-service-faq/
is still our latest word on this. I imagine that you’ve already seen that though.
Does DYMO have a new release for October?
Thanks!
Walter – Did this issue ever get resolved?
Yes, I am updated to DYMO Label v.8.6.611.42161 and when I follow the steps you outline (right click on webservice icon, choose Diagnose, click yes) in Chrome I am able to see the /Printing/Check page.
Hey, Walter.
A friendly ask about the status of an update to the ERR_SSL_FALLBACK_BEYOND_MINIMUM_VERSION ?
Hello,
I am having trouble printing with the async method calls. I can use the non-async calls without any issue.
I am using DYMO.Label.Framework.2.0.2.js in my web application, I have installed 8.5.3.1897 on my computer. I am using Chrome browser. I am receiving this error: invokeWsCommandAsync > Failed to execute webservice command: PrintLabel. Error: 400
The server encountered an error processing the request. The exception message is ‘Unable to load label template’. See server logs for more details. The exception stack trace is:
at DYMO.DLS.Runtime.Label.LoadXml(String xml)
at DYMO.Label.Framework.Framework.Print(String printerName, String printParamsXml, String labelXml, String labelSetXml)
at DYMO.Label.Framework.Com.Framework.PrintLabel(String printerName, String printParamsXml, String labelXml, String labelSetXml)
at DYMO.DLS.Printing.Host.DlsWindowsFramework.PrintLabel(String printerName, String printParamsXml, String labelXml, String labelSetXml)
at DYMO.DLS.Printing.Service.DymoPrintingService.c__DisplayClass6.b__5()
at DYMO.DLS.Printing.Service.WebUtils.ExecuteWrapped[T](Func`1 f)
at DYMO.DLS.Printing.Service.DymoPrintingService.PrintLabel(Stream data)
at SyncInvokePrintLabel(Object , Object[] , Object[] )
at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)
at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage3(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage2(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage1(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)
When I access this page: http://www.labelwriter.com/software/dls/sdk/samples/js/PrintMeThatLabel/pl.html
The printer list is blank. Not sure if the webservice isn’t working properly or not.
Can you enabled the trace functionality mentioned in http://developers.dymo.com/2016/08/08/dymo-label-web-service-faq/ and let us know your findings?
Here are the trace results.
checkEnvironment > cachedWebPort : 41951
checkEnvironment > trying async service discovery
_createFramework > return _framework : undefined (async)
onEnvironmentChecked > checkResult isBrowserSupported : true, isFrameworkInstalled: true, isWebServicePresent: true, errorDetails:
chooseEnvironment > WebServicePresent
_createFramework > returning existing instance of _framework, has callBack: false
_createFramework > returning existing instance of _framework, has callBack: false
_createFramework > returning existing instance of _framework, has callBack: false
Below is the error on the post when calling PrintLabelAsync:
POST https://localhost:41951/DYMO/DLS/Printing/PrintLabel 400 ()
l.send @ DYMO.Label.Framework.2.0.2.js:70
id @ DYMO.Label.Framework.2.0.2.js:64
(anonymous function) @ DYMO.Label.Framework.2.0.2.js:100
G @ DYMO.Label.Framework.2.0.2.js:29
Xd @ DYMO.Label.Framework.2.0.2.js:100
Zd.X @ DYMO.Label.Framework.2.0.2.js:104
X @ DYMO.Label.Framework.2.0.2.js:164
(anonymous function) @ DYMO.Label.Framework.2.0.2.js:219
f.i @ DYMO.Label.Framework.2.0.2.js:32
Jb @ DYMO.Label.Framework.2.0.2.js:34
Fb @ DYMO.Label.Framework.2.0.2.js:34
l.ya @ DYMO.Label.Framework.2.0.2.js:34
rb @ DYMO.Label.Framework.2.0.2.js:29
invokeWsCommandAsync > Failed to execute webservice command: PrintLabel. Error: 400
Any ideas on this?
Typically, this exception is caused by either the label type isn’t supported on the particular printer or the label data is incorrect. Please check the response data since it should provide more details on the error.
Hi, I have win7 64 bits. I’m want to install my Dymo labelwriter 400 turbo. At the end of the installation and error occurs “command.com not found”. Please help.
What is your %windir% variable set to? Can you try copying command.com into that directory?
Mac Safari 10.0 seems to have broken the DYMO plugin. Label printing was working fine on Safari 9.1.3. Then I upgraded the browser, and the plugin isn’t even being detected. I reinstalled DLS 8.5.3.2009, and I verified that Safari | Preferences | Security | Plug-in Settings is set to Ask for my web site. When I come to the page that does the printing, it used to ask me to Trust the plugin. Now it does nothing. Continuing on, that obviously means I get undefined back from the dymo.label.framework.getPrinters() call.
Not sure if we need a new DLS install to update the plugin or a new js file to deal with new Safari 10 behavior. Any ideas?
Hi Dan,
Have you tried using our web service instead? The plug-ins will eventually become unsupported as the web service method is what we’re moving to.
Regards,
Jeff
Due to paypal’s upcoming changes to ssl requirements we disabled TLS 1.0 and 1.1 and enabled 1.2 on our windows server. This broke the javascript dsk resulting in NPO errors.
Does anyone know if the web service will work on a windows server over https with only TLS 1.2 enabled?
Anyone who can help me with teamviewer to get this working in Firefox?
getting message the given key was not present in the dictionary, can not create or alter a label. Using v.8.5.1.1816
Please help
Thank you Eddie
Hello, I am experiencing very slow print times using the javascript API. Actually the issue is starting to trickle in from my customers. 15-20 seconds from the point I call Label.print()…
Others are experiencing the same. Please refer to
https://stackoverflow.com/questions/49987169/dymo-label-web-service-printing-slow
Hello Wessel,
We have identified the issue and are currently working on a fix. We will be releasing the fix ASAP.
Until the actual fix goes out, users can alleviate this slowdown by preventing this call. We have seen success with two methods thus far.
1: Prevent connections to 128.30.52.100 (hans-moleman.w3.org).
2: Use the windows defender firewall to prevent DYMO.DLS.Printing.Host.exe from making outbound connections.
We apologize for the inconvenience, and will update this post as soon as the situation has been resolved.
Regards,
Ron
In the new version of Windows localhost resolves with ::1 in which the DLS host does not bind to IPv6. Had to hardcode 127.0.0.1 to force IPv4
Below are my changes.
https://gist.github.com/priceflex/a25783dc5f72aac759ae86fd7d608e4b
Hi Steve,
This issue should be resolved with DLS 8.7.2… are you running 8.7.1?
Ron
I ran into an issue with using this library in strict mode. To combat the problem, simply append .call(this) at the end of the anonymous function. I needed to do this to use the library within the Salesforce Locker Service, so I hope this helps anyone who runs into the same problem.