I'm trying to publish my first .NET WS (soap) on IIS made with TD 6.1.
When compiling, create the WSAppTest.dll and the WSTest.asmx (attached).
I follow the steps indicated in the document "webservicespart1.pdf", to publish it on IIS, in page 1-12 / 13 (by the way quite poor document).
Then, when I access http: //localhost/WSAppTest/WSTest.asmx? Wsdl to see the WSDL I get the following error:
Server Error in '/WSAppTest' Application.
Description: An error occurred during the parsing of a resource required to service this request. Please review the following specific parse error details and modify your source file appropriately.
Parser Error Message: Could not create type 'WSAppTest.WSTest'.
Line 1: <%@ WebService Class="WSAppTest.WSTest" %>
Source File: /WSAppTest/WSTest.asmx Line: 1
Version Information: Microsoft .NET Framework Version:2.0.50727.8762; ASP.NET Version:2.0.50727.8762
(I try whit .NET 2.0/3.5 and 4.0.)
What I can be doing wrong ?
Is there more WS documentation made with TD in .NET?
Step 1 : Build your Web Service into a subdirectory i.e. WSAppName\bin.
--> I Build it on my PC
Step 2 : Make sure Microsoft IIS and features are installed in the Operating System.
a Turn Windows Features On or Off.
b ASP feature must be Enabled.
--> Yes, ASP, and ASP 3.5 and ASP 4.5 are installed in Server Manager (Add Roles and Features Wizard)
c Select all components. Security is a good idea for testing.
--> Not yet
Step 3 : Setup ASP .NET Web Service on IIS.
a Move WSAppName\bin to the IIS site.
b Move the .ASMX to the parent directory WSAppName.
--> I copy both files from my PC to server with IIS 8. The .asmx in C:\inetpub\wwwroot\WSAppName and .dll in C:\inetpub\wwwroot\WSAppName\bin
--> TD is not installed on this server. It is not necessary, right?
c Inside the application bin directory copy all what is needed by the WEB service.
Custom assemblies, etc.
--> For now I think I do not need anything.
Step 4 : Register in IIS the application directory as an ASP .NET Application.
a Launch IIS InetMgr.exe
b Right click the WSAppName and select convert to Application.
--> Yes...and select "Applicaton Pool" ".NET v2.0" if build with .NET 2.0/3.5, and ".NET v4.5" if build with .NET 4.0...Its right ?
In "Applicaton Pool" .NET v2.0 and .NET v4.0 change "Enable 32 bits applicaton" to TRUE
Enable "Directory Browser". This create web.config file
...It is not clear to me that I have to configure in the web.config
In the example, I see that "TDInstallationDir" and "TDSqlInfiFile" are configured. Then you have to install "TD deploy" on the server where IIS is located?
Then, access to http://localhost/WSAppTest/WSTest.asmx
Get error: Could not create type 'WSAppTest.WSTest'
Any Idea ?
If I remember correctly, in some of the 6.x version, the deploy was missing some of the critical dll's for the web service.
Please check that you have at least the following dll's in your web service bin folder:
I did not have the Gupta Deploy installed in WebService ... but apparently it's not necessary ... although it was a good clue ...
It worked, for now, in the following way:
- I installed the Deploy, but it still did not work
-I added the Deploy folder in the Windows Path, and it still did not work.
- I copied all the DLLs of the \netbin folder of my development environment on my PC, in the server folder <drive>:\\inetpub\wwwroot\<wsdir>\bin
And it worked !!!!
Then I did the following tests:
-I uninstalled the Deploy, and it kept working.
-I began to delete the dlls I had copied one by one, and I found that by just leaving:
It was enough for it to work
Then with some more tests, I detected that it is necessary
With which, I infer that it is necessary
Unify.TD.Runtime. *. DLL,
which would be:
But is this correct? Only these?
It is correct to copy them to <drive>: \\inetpub\wwwroot\<wsdir>\bin or they must be somewhere else ?.
It is necessary to configure the file to web.config
What can be done and what should be set in <appSettings> ?
I am making progress in the construction of a .NET WS, but I got an error and I do not understand why.
If in an "Internal Function" I use the sentences SqlPrepareAndExecute or SqlFetchNext it compiles well, but I get error when TD must create the DLL.
(With other SQL statements like SqlConnect and SqlCommit works OK)
The error is as follows:
--- Begin Error Output ---
Error encountered assembling: C:\Users\.....\AppData\Local\Temp\wkrheebx.y21\WS_SWIFT_ACK.il(1453) :
warning : Reference to undeclared extern assembly 'Unify.TD.Runtime.Wpf.Windows'.
Attempting autodetectC:\Users\.....\AppData\Local\Temp\wkrheebx.y21\WS_SWIFT_ACK.il(1476) :
error : Undeclared identifier SAL$WinCtxC:\Users\.....\AppData\Local\Temp\wkrheebx.y21\WS_SWIFT_ACK.il(1486) :
error : Undeclared identifier SAL$WinCtxC:\Users\.....\AppData\Local\Temp\wkrheebx.y21\WS_SWIFT_ACK.il(1872) :
warning : Reference to undeclared extern assembly 'System.Web.Services'. Attempting autodetect
--- End Error Output ---
What can be ?
Who is online
Users browsing this forum: [Ccbot] and 0 guests