classic asp : MSXML3 dll ServerXMLHTTP - asp-classic

I am using below code
Set objXML = Server.CreateObject("MSXML3.ServerXMLHTTP")
objXML.Open "GET", sendstring, false
objXML.Send()
Its giving error on objXML.Send on localhost environment
I dont see any problem in this code but could not able to understand why its giving error.
I have already register successfully dll MSXML3 using regsvr32 from location C:\wINDOWS\SysWOW64\msxml3.dll
Do I have to run proxycfg - d ?
Please advise
Please see attached error screenshot
attaching debug error

Related

Publishing ASP.Net Core app to Azure silently fails in command line

I'm trying to publish a dotnet core app to Azure. I've created a publish profile and using visual studio it all works fine. But since I'd like to setup continuous deployment I need to run the deployment using command line.
The official documentation was pretty helpful in identifying that the [ProfileName].ps1 is the best plan of attack.
However it gives no clues on how to use it.
First I ran it without parameters and got this error:
Production-publish.ps1 : The term 'Production-publish.ps1' is not recognized as the name of a cmdlet, function, script
file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct
and try again.
At line:1 char:1
+ Production-publish.ps1
+ ~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (Production-publish.ps1:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Next I added the needed parameters:
.\Production-publish -packOutput 'C:\code\my-dotnetcore-proj\publish' -pubProfilePath 'Production.pubxml'
Which ran without error but didn't do ANYTHING!
How can I make the Azure depoyment via Powershell work?
After debugging through the publish-module.psm1 to figure out why nothing was getting deployed I noticed that the command is required to supply more parameters. This is how:
.\Production-publish -packOutput 'C:\code\my-dotnetcore-proj\publish' -pubProfilePath 'Production.pubxml' -publishProperties #{
'username' = '%PublishProfile.Username%'
'Password' = '%PublishProfile.Password%'
'AllowUntrustedCertificate' = false
'AuthType' = 'Basic'}
You obviously have to replace %PublishProfile.Username% and %PublishProfile.Password% and possibly modify Production-publish and Production.pubxml
Note that only the Password parameter is required (considering that the UserName is provided in your .pubxml file)
I actually ended up writing blog article on how to compile and deploy asp.net core sites with TeamCity:
How to deploy ASP.NET Core sites using Teamcity to Azure/IIS … or just command line

Include_file_not_found error running classic ASP on IIS 8.5

I have a frustratingly simple problem. I've migrated a classic ASP site from a Windows Server 2003 IIS site to a shiny new 2012 R2 Server running IIS 8.5.
When I navigate to the home page (http://mydns/default.asp), I get a 500 error. The IIS logs show me this error:
GET /default.asp |4|ASP_0126|Include_file_not_found
Looking at the default.asp page, I see the following code at the top of the file:
<%# Language=VBScript %>
<!-- #include file="Include/common.asp" -->
<%
dim EMAIL_ID
if Request.QueryString = "" then
...
So, my assumption is that the error is being thrown due to the second line. In the website directory, the Include directory does exist, and there is a common.asp file inside of it.
# the default.asp page that I'm loading...
E:\websites\mywebsite>dir | findstr default
09/29/2015 10:30 AM 3,237 default.asp
# the common.asp page within the Include folder...
E:\websites\mywebsite>dir Include | findstr common
06/30/2015 10:27 AM 546 common.asp
Any idea why I would be getting an error about a file not found when I do see it in that directory?
Update 1: By navigating to the common.asp page in a browser, I get the following error in IIS:
GET /Include/common.asp |42|800a01ad|ActiveX_component_can't_create_object:_'Domain.clsAuth'
I found this article which helped me confirm that a DLL is missing so I am pursuing installing it on the new server.
Update 2: I was able to find the required Domain.dll on the old server. I used Dependency Walker to determine that Domain.dll depended on MSVBVM60.DLL so I grabbed both of these and moved them to the new server. I registered MSVBVM60.DLL successfully using C:\WINDOWS\system32>regsvr32.exe MSVBVM60.DLL, but registering Domain.dll failed. I got the following error message:
It turns out that this is the same error that you get if you try to register a file that doesn't exist. For instance, I tried to register "dummy.dll" and got the same error. It's like the system doesn't see the file. It autocompletes at the command line, but I can't register it. I also can't open it in Dependency Walker... the application says file not found. But I know it's there...
C:\WINDOWS\system32>dir | findstr Domain
04/27/2006 02:57 PM 24,576 Domain.dll
Update 3: The issue about registering the DLL was a 32 vs 64 bit thing. I had a 32 bit DLL in the system32 folder which is a 64 bit only folder. Once I moved it to the SysWOW64 folder (which is a 32 bit folder, go figure) I was able to register it. I also unregistered MSVBVM60.DLL from system32 and found that it was already available in SysWOW64.
So, this DLL issue is solved! But I'm getting the same error again due to a different include file. To be continued...
Update 4: The final include file error was indeed a missing include file.
Answering my own question... In my case, the issue was that the include file in question was throwing errors. I guess the fact that the ASP engine couldn't render the ASP include file resulted in the parent page throwing a "not found" error. By installing and registering a missing DLL, I was able to resolve my issue. Checkout the updates in the question for details.

Microsoft.XMLDOM msxml3.dll error '80070005' Access is denied. (The code worked yesterday, I think installing ASP.NET AJAX 1.0 broke it?)

I have some legacy asp classic code that typically runs fine so I haven't replaced it yet (it is on my long to do list though), it runs on a schedule as part of a larger system, parsing XML files.
Today it is throwing an error...
msxml3.dll error '80070005'
Access is denied.
/inc/inc_parsexml.asp, line 77
Line 77 is:
objXML.Load (Server.MapPath(strFilePath))
which is part of this larger snippit:
Set objXML = Server.CreateObject("Microsoft.XMLDOM")
Set objList = Server.CreateObject("Microsoft.XMLDOM")
objXML.async = False
objXML.Load (Server.MapPath(strFilePath))
If objXML.parseError.errorCode <> 0 Then
'do something here
session("LogMSG") = "XML parse error: " & objXML.parseError.errorCode & " on file " & strFilePath & "<br>" & Session("ErrMSG")
End If
Set objList = objXML.getElementsByTagName("*")
reDim strNodeParentName(objList.length -1)
For intCount = 0 To (objList.length -1)
strNodeParentName(intNodeParentCount) = objList.item(intCount).nodeName
If objList.item(intCount).hasChildNodes Then
buildNodeNameVar()
writeNode()
If objList.item(intCount).firstChild.nodeName = "#text" Then
If intCount <> (objList.length -1) Then
checkParent()
End If
Else
intNodeParentCount = intNodeParentCount +1
End If
Else
buildNodeNameVar()
writeNode()
If intCount <> (objList.length -1) Then
checkParent()
End If
End If
Next
To the best of my knowledge it was running fine yesterday, however I did install ASP.NET AJAX 1.0 ( http://www.microsoft.com/en-us/download/details.aspx?id=883 ) on the server (for a different project in asp.net 2.0) so maybe I stepped on some toes?
I hope it is something simple, please help, thanks!
EDIT: Thanks to John, it turned out to be that the IUSER account did not have access to the file it was trying to read...
"Access is denied" suggests that your website's IUSR account is denied access to msxml3.dll. You need to find this file and check permissions.
Assuming that you're not running a really old version of IIS, you should have the current version of the file - msxml6.dll - for which you would use Server.CreateObject("Msxml2.DomDocument.6.0") You may find that that the correct permissions are already in place for this version and you aren't denied access
Edit
While I got there in the comments, this answer was wrong. I should have read the question more carefully. If the IUSR account really didn't have access to the dll then the script would fall over three lines earlier at Server.CreateObject
I just experienced the same issue. After a lot of searching and trying, it just turned out that I was trying to save a file that was still marked as "read-only".
This solved the issue for me.

Could not get pipeline: loadVisitor (domain: )

if anyone aware of this error please let me know:
Could not get pipeline: loadVisitor (domain: )
This error occurred when run the site on any browser
This error happens when CorePipeline tries to run a pipeline and cannot find the configuration for it.
LoadVisitor pipeline is a Sitecore DMS pipeline and configuration for it is stored in Sitecore.Analytics.config file.
Most probably Sitecore.Analytics.config is missing in your App_Config/Include directory.

SSIS String or binary data would be truncated. The statement has been terminated

When I run SSIS package from BIDS it runs fine without any error / problem.
When I try to call it through a ASP.NET website I get the following error -
"String or binary data would be truncated. The statement has been terminated."
I checked all the columns / data to see if anything is exceeding the limit, everything is fine.
I can run the package through command line using dtexec C:>dtexec /f "C:\temp\MyTempPackage.dtsx", it executes without any problem .
The problem is when I try to run it through ASP.NET. The following is the code that I am trying to use -
//DTS Runtime Application
Application app = new Application();
//DTS Package
Package package = app.LoadPackage(packagePath, null);
//Execute and Get the result
DTSExecResult result = package.Execute();
I am making a call to a webservice from asp.net which has the above code. Both the webservice and website have identity impersonation enabled. I have identity enabled in my web.config for this
<identity impersonate="true" userName="MyUserName" password="MyPassword"/>
This problem is only when I am trying to import a Excel file (.xlsx) when I import a .txt file everything is fine. Excel Import blew up in both 32bit and 64bit enviornments.
Help on how to make this to work is greatly appreciated.
You must add this string in you SSiS:
SET ANSI_WARNINGS OFF;

Resources