Delegated Admin web application only requests first 100 accounts?
Hi,
- Sun Java System Messenger Express 6.2
- Delegated Administrator 6.3-0.09 built Sep 6, 2005
Is this true that the Delegated Admin (DA) web application only requests first 100 accounts?
Once logged in to DA web application, we only see "Retrieved Users (100)" if we want to see all users; but if we do a search on uid or username, all other users are retrieved.
One of the admin gave us the following response:
This is not a directory-related problem, but rather a matter of the design of the DA application you are using. The web-based java app only requests the first 100 accounts from the directory (presented by default as 10 pages of 10 accoints each.) , since you're supposed to be using the search facility to find accounts when you need to modify or delete them.
This is a deliberate design choice by the Sun programmers who wrote the thing, probably because the directory is capable of holding several thousand accounts and pulling them all would take quite a bit of time (not to mention memory space), so in the interest of response-time speed they limited the data pull.
I cannot modify this application's functionality. If you need a list of all user accounts in your domain, I can supply an LDIF on request, with any attributes (mail, uid, cn, etc.) that you like.
Please let us know if there is any way we can view all users (approx. 1000) from DA web application.
Thank you for your time,
GJ
Yes, the terminal commands I gave are changing permissions.
Properly written OS X apps should run under any user account, and should store any account-specific information in the each user's home folder. Some poorly written apps might only be executable by the administrator. Running the first command I have will make the app executable to all users.
Some even more poorly written apps will write user data into the application itself rather than to the user's home folder. This is a particularly bad problem with game software, which for example might write high score info into the app itself. If this is the case for your misbehaving apps, the second command I gave will make the app writable by everybody and should solve the problem.
Similar Messages
-
Error: Accessing the Reader Extensions Server web application for the first time
Hi,
I've followed the the installation guide line by line. Everything OK.
But when i access the Reader Extensions Server web application i see the following error:
An error has occured
Error 473: The credential permission settings could not be determined: 'com.adobe.document.pdf.CredentialLoginFailure: IDL:com/adobe/document/pdf/CredentialLoginFailure:1.0'.
Have you ever faced this kind of message before?
To tell you the truth i'm not very sure if my Rights Credential file is valid. But is this the cause of this message?
I use Form Server 6 and Reader Extensions 6 with a Websphere Application Server 6.0
Thanks in advanceHi Stelios,
Yes, it seems to me also, as a bad certificate issue.
If memory serves, I run into this message once, where the certificate was valid. Anyway, Websphere v6 is not a supported app server. Have you tried installing on v5.1?
You might want to read this post, too:
matt cockburn, "Fix for LiveCycle Reader Extensions 7.0 install error" #, 6 May 2005 8:22 am
If you are located in Greece, we may be able to help you. You may contact me "ekokkoris at anodos.gr", should you wish.
Regards,
Evangelos -
Exporting Target Group to Spreadsheet only receive first 100 hits
Hello
I am having trouble getting the Target Group to display more than 100 hits. My target will display the Current Size correctly but when I attempt to export that to a spreadsheet I only get 101 maximum. If the target group is less than a 100 it will display all hits within the target group.
Please assist.Thanks for posting the resolution.
Regards,
Anik Roy
SAP Moderator -
Aps:button onClick event in Visual web part only fires first time - SharePoint 2013
Below is my markup from ascx file
<asp:Button ID="exporttopdf" runat="server" Text="Export To PDF"/>
C# code for button on click
protected void Page_Load(object sender, EventArgs e)
exporttopdf.Click += new System.EventHandler(this.exporttopdf_Click);
protected void exporttopdf_Click(object sender, EventArgs e)
if (Page.IsPostBack)
try
using (MemoryStream stream = new MemoryStream())
PdfPCell cell;
SPList list = SPContext.Current.Site.OpenWeb().Lists[this.ListName];
BaseColor rGBColor = WebColors.GetRGBColor("#AFAECE");
PdfPTable element = new PdfPTable(2)
TotalWidth = 300f,
LockedWidth = true
float[] relativeWidths = new float[] { 1f, 2f };
element.SetWidths(relativeWidths);
element.HorizontalAlignment = Element.ALIGN_MIDDLE;
element.SpacingBefore = 20f;
element.SpacingAfter = 30f;
if (this.PdfHeading != null)
cell = new PdfPCell(new Phrase(this.PdfHeading));
else
cell = new PdfPCell(new Phrase(this.ListName));
cell.Colspan = 2;
cell.Border = 0;
cell.Padding = 4;
cell.BackgroundColor = rGBColor;
cell.HorizontalAlignment = 1;
element.AddCell(cell);
Document document = new Document(PageSize.A4, 25f, 25f, 30f, 30f);
PdfWriter instance = PdfWriter.GetInstance(document, stream);
document.Open();
document.AddAuthor("Place Holder");
document.AddCreator("Place Holder");
document.AddKeywords("Place Holder");
document.AddSubject(this.ListName);
document.AddTitle(this.ListName);
instance.Info.Put(new PdfName("Producer"), new PdfString("Place Holder"));
PdfContentByte directContent = instance.DirectContent;
string[] separator = new string[] { ";", "," };
string[] strArray2 = this.ViewFields.Split(separator, StringSplitOptions.None);
new StringBuilder().Append(this.ListName + "\n");
foreach (string str in strArray2)
PdfPCell cell2 = new PdfPCell(new Phrase(str))
Border = 0,
Padding = 4,
HorizontalAlignment = 1
element.AddCell(cell2);
if (str != "Modified By" && str != "Created By")
PdfPCell cell3 = new PdfPCell(new Phrase(SPContext.Current.Item[str].ToString()))
Border = 0,
Padding = 4,
HorizontalAlignment = 1
element.AddCell(cell3);
else
string[] separatorc = new string[] { "," };
string[] strArray3 = SPContext.Current.Item[str].ToString().Split(separatorc, StringSplitOptions.None);
PdfPCell cell3 = new PdfPCell(new Phrase(strArray3[3].ToString().Substring(8).Replace(@"\\", @"\")))
Border = 0,
Padding = 4,
HorizontalAlignment = 1
element.AddCell(cell3);
PdfPCell cell4 = new PdfPCell(new Phrase("Footer"))
Colspan = 2,
Border = 0,
Padding = 4,
BackgroundColor = rGBColor,
HorizontalAlignment = 1
element.AddCell(cell4);
document.Add(element);
document.Close();
instance.Close();
stream.Close();
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.ContentType = "pdf/application";
string filename = SPContext.Current.Item["Title"].ToString() + ".pdf";
HttpContext.Current.Response.AddHeader("content-disposition", "inline;filename=" + filename);
HttpContext.Current.Response.OutputStream.Write(stream.GetBuffer(), 0, stream.GetBuffer().Length);
HttpContext.Current.Response.End();
catch (Exception exception)
SPDiagnosticsService.Local.WriteTrace(0, new SPDiagnosticsCategory("Export To PDF", TraceSeverity.Unexpected, EventSeverity.Error), TraceSeverity.Unexpected, exception.Message, new object[] { exception.StackTrace });
else
HttpContext.Current.Response.Write("<script language=javascript>alert('ERROR');</script>");
it works fine first time but does not do anything from second.
any advice?Hi,
Please try to the code snippet as below:
VisualWebPart1.ascx:
<asp:Button ID="exporttopdf" runat="server" Text="Export To PDF" OnClick="exporttopdf_Click"/>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
VisualWebPart1.ascx.cs:
protected void Page_Load(object sender, EventArgs e)
protected void exporttopdf_Click(object sender, EventArgs e)
Label1.Text = System.DateTime.Now.ToString();
If the code still do not work from second, I suggest you debug your code and check whick line of code occur the error.
More information:
http://social.msdn.microsoft.com/Forums/office/en-US/94931a08-f204-4d30-a230-f468815a76e8/export-aspnet-gridview-to-pdf-from-visual-webpart?forum=sharepointdevelopmentprevious
Thanks,
Dennis Guo
TechNet Community Support
Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact
[email protected]
Dennis Guo
TechNet Community Support -
Create a new web application, how shall I update the file server.xml
Hi,
I will create a new web application, i.e named newApp. Then I create a file structure as follows:
- <server-root>/newApp
- <server-root>/newApp/WEB-INF
- <server-root>/newApp/WEB-INF/classes
Then I must tell the server that I have created a new web application. Then I must update my file server.xml, How shall I do this and where in the file shall I type in the new information?
I use windows XP Pro, and Tomcat 4.1.27.
My server.xml file looks like below:
<!-- Example Server Configuration File -->
<!-- Note that component elements are nested corresponding to their
parent-child relationships with each other -->
<!-- A "Server" is a singleton element that represents the entire JVM,
which may contain one or more "Service" instances. The Server
listens for a shutdown command on the indicated port.
Note: A "Server" is not itself a "Container", so you may not
define subcomponents such as "Valves" or "Loggers" at this level.
-->
<Server port="8005" shutdown="SHUTDOWN" debug="0">
<!-- Comment these entries out to disable JMX MBeans support -->
<!-- You may also configure custom components (e.g. Valves/Realms) by
including your own mbean-descriptor file(s), and setting the
"descriptors" attribute to point to a ';' seperated list of paths
(in the ClassLoader sense) of files to add to the default list.
e.g. descriptors="/com/myfirm/mypackage/mbean-descriptor.xml"
-->
<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"
debug="0"/>
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"
debug="0"/>
<!-- Global JNDI resources -->
<GlobalNamingResources>
<!-- Test entry for demonstration purposes -->
<Environment name="simpleValue" type="java.lang.Integer" value="30"/>
<!-- Editable user database that can also be used by
UserDatabaseRealm to authenticate users -->
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved">
</Resource>
<ResourceParams name="UserDatabase">
<parameter>
<name>factory</name>
<value>org.apache.catalina.users.MemoryUserDatabaseFactory</value>
</parameter>
<parameter>
<name>pathname</name>
<value>conf/tomcat-users.xml</value>
</parameter>
</ResourceParams>
</GlobalNamingResources>
<!-- A "Service" is a collection of one or more "Connectors" that share
a single "Container" (and therefore the web applications visible
within that Container). Normally, that Container is an "Engine",
but this is not required.
Note: A "Service" is not itself a "Container", so you may not
define subcomponents such as "Valves" or "Loggers" at this level.
-->
<!-- Define the Tomcat Stand-Alone Service -->
<Service name="Tomcat-Standalone">
<!-- A "Connector" represents an endpoint by which requests are received
and responses are returned. Each Connector passes requests on to the
associated "Container" (normally an Engine) for processing.
By default, a non-SSL HTTP/1.1 Connector is established on port 8080.
You can also enable an SSL HTTP/1.1 Connector on port 8443 by
following the instructions below and uncommenting the second Connector
entry. SSL support requires the following steps (see the SSL Config
HOWTO in the Tomcat 4.0 documentation bundle for more detailed
instructions):
* Download and install JSSE 1.0.2 or later, and put the JAR files
into "$JAVA_HOME/jre/lib/ext".
* Execute:
%JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA (Windows)
$JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA (Unix)
with a password value of "changeit" for both the certificate and
the keystore itself.
By default, DNS lookups are enabled when a web application calls
request.getRemoteHost(). This can have an adverse impact on
performance, so you can disable it by setting the
"enableLookups" attribute to "false". When DNS lookups are disabled,
request.getRemoteHost() will return the String version of the
IP address of the remote client.
-->
<!-- Define a non-SSL Coyote HTTP/1.1 Connector on port 8080 -->
<Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
port="8080" minProcessors="5" maxProcessors="75"
enableLookups="true" redirectPort="8443"
acceptCount="100" debug="0" connectionTimeout="20000"
useURIValidationHack="false" disableUploadTimeout="true" />
<!-- Note : To disable connection timeouts, set connectionTimeout value
to -1 -->
<!-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 -->
<!--
<Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
port="8443" minProcessors="5" maxProcessors="75"
enableLookups="true"
acceptCount="100" debug="0" scheme="https" secure="true"
useURIValidationHack="false" disableUploadTimeout="true">
<Factory className="org.apache.coyote.tomcat4.CoyoteServerSocketFactory"
clientAuth="false" protocol="TLS" />
</Connector>
-->
<!-- Define a Coyote/JK2 AJP 1.3 Connector on port 8009 -->
<Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
port="8009" minProcessors="5" maxProcessors="75"
enableLookups="true" redirectPort="8443"
acceptCount="10" debug="0" connectionTimeout="0"
useURIValidationHack="false"
protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"/>
<!-- Define an AJP 1.3 Connector on port 8009 -->
<!--
<Connector className="org.apache.ajp.tomcat4.Ajp13Connector"
port="8009" minProcessors="5" maxProcessors="75"
acceptCount="10" debug="0"/>
-->
<!-- Define a Proxied HTTP/1.1 Connector on port 8082 -->
<!-- See proxy documentation for more information about using this. -->
<!--
<Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
port="8082" minProcessors="5" maxProcessors="75"
enableLookups="true"
acceptCount="100" debug="0" connectionTimeout="20000"
proxyPort="80" useURIValidationHack="false"
disableUploadTimeout="true" />
-->
<!-- Define a non-SSL legacy HTTP/1.1 Test Connector on port 8083 -->
<!--
<Connector className="org.apache.catalina.connector.http.HttpConnector"
port="8083" minProcessors="5" maxProcessors="75"
enableLookups="true" redirectPort="8443"
acceptCount="10" debug="0" />
-->
<!-- Define a non-SSL HTTP/1.0 Test Connector on port 8084 -->
<!--
<Connector className="org.apache.catalina.connector.http10.HttpConnector"
port="8084" minProcessors="5" maxProcessors="75"
enableLookups="true" redirectPort="8443"
acceptCount="10" debug="0" />
-->
<!-- An Engine represents the entry point (within Catalina) that processes
every request. The Engine implementation for Tomcat stand alone
analyzes the HTTP headers included with the request, and passes them
on to the appropriate Host (virtual host). -->
<!-- You should set jvmRoute to support load-balancing via JK/JK2 ie :
<Engine name="Standalone" defaultHost="localhost" debug="0" jmvRoute="jvm1">
-->
<!-- Define the top level container in our container hierarchy -->
<Engine name="Standalone" defaultHost="localhost" debug="0">
<!-- The request dumper valve dumps useful debugging information about
the request headers and cookies that were received, and the response
headers and cookies that were sent, for all requests received by
this instance of Tomcat. If you care only about requests to a
particular virtual host, or a particular application, nest this
element inside the corresponding <Host> or <Context> entry instead.
For a similar mechanism that is portable to all Servlet 2.3
containers, check out the "RequestDumperFilter" Filter in the
example application (the source for this filter may be found in
"$CATALINA_HOME/webapps/examples/WEB-INF/classes/filters").
Request dumping is disabled by default. Uncomment the following
element to enable it. -->
<!--
<Valve className="org.apache.catalina.valves.RequestDumperValve"/>
-->
<!-- Global logger unless overridden at lower levels -->
<Logger className="org.apache.catalina.logger.FileLogger"
prefix="catalina_log." suffix=".txt"
timestamp="true"/>
<!-- Because this Realm is here, an instance will be shared globally -->
<!-- This Realm uses the UserDatabase configured in the global JNDI
resources under the key "UserDatabase". Any edits
that are performed against this UserDatabase are immediately
available for use by the Realm. -->
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
debug="0" resourceName="UserDatabase"/>
<!-- Comment out the old realm but leave here for now in case we
need to go back quickly -->
<!--
<Realm className="org.apache.catalina.realm.MemoryRealm" />
-->
<!-- Replace the above Realm with one of the following to get a Realm
stored in a database and accessed via JDBC -->
<!--
<Realm className="org.apache.catalina.realm.JDBCRealm" debug="99"
driverName="org.gjt.mm.mysql.Driver"
connectionURL="jdbc:mysql://localhost/authority"
connectionName="test" connectionPassword="test"
userTable="users" userNameCol="user_name" userCredCol="user_pass"
userRoleTable="user_roles" roleNameCol="role_name" />
-->
<!--
<Realm className="org.apache.catalina.realm.JDBCRealm" debug="99"
driverName="oracle.jdbc.driver.OracleDriver"
connectionURL="jdbc:oracle:thin:@ntserver:1521:ORCL"
connectionName="scott" connectionPassword="tiger"
userTable="users" userNameCol="user_name" userCredCol="user_pass"
userRoleTable="user_roles" roleNameCol="role_name" />
-->
<!--
<Realm className="org.apache.catalina.realm.JDBCRealm" debug="99"
driverName="sun.jdbc.odbc.JdbcOdbcDriver"
connectionURL="jdbc:odbc:CATALINA"
userTable="users" userNameCol="user_name" userCredCol="user_pass"
userRoleTable="user_roles" roleNameCol="role_name" />
-->
<!-- Define the default virtual host -->
<Host name="localhost" debug="0" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<!-- Normally, users must authenticate themselves to each web app
individually. Uncomment the following entry if you would like
a user to be authenticated the first time they encounter a
resource protected by a security constraint, and then have that
user identity maintained across all web applications contained
in this virtual host. -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn"
debug="0"/>
-->
<!-- Access log processes all requests for this virtual host. By
default, log files are created in the "logs" directory relative to
$CATALINA_HOME. If you wish, you can specify a different
directory with the "directory" attribute. Specify either a relative
(to $CATALINA_HOME) or absolute path to the desired directory.
-->
<!--
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs" prefix="localhost_access_log." suffix=".txt"
pattern="common" resolveHosts="false"/>
-->
<!-- Logger shared by all Contexts related to this virtual host. By
default (when using FileLogger), log files are created in the "logs"
directory relative to $CATALINA_HOME. If you wish, you can specify
a different directory with the "directory" attribute. Specify either a
relative (to $CATALINA_HOME) or absolute path to the desired
directory.-->
<Logger className="org.apache.catalina.logger.FileLogger"
directory="logs" prefix="localhost_log." suffix=".txt"
timestamp="true"/>
<!-- Define properties for each web application. This is only needed
if you want to set non-default properties, or have web application
document roots in places other than the virtual host's appBase
directory. -->
<DefaultContext reloadable="true"/>
<!-- Tomcat Root Context -->
<Context path="" docBase="ROOT" debug="0"/>
<!-- Tomcat Examples Context -->
<Context path="/examples" docBase="examples" debug="0"
reloadable="true" crossContext="true">
<Logger className="org.apache.catalina.logger.FileLogger"
prefix="localhost_examples_log." suffix=".txt"
timestamp="true"/>
<Ejb name="ejb/EmplRecord" type="Entity"
home="com.wombat.empl.EmployeeRecordHome"
remote="com.wombat.empl.EmployeeRecord"/>
<!-- If you wanted the examples app to be able to edit the
user database, you would uncomment the following entry.
Of course, you would want to enable security on the
application as well, so this is not done by default!
The database object could be accessed like this:
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
UserDatabase database =
(UserDatabase) envCtx.lookup("userDatabase");
-->
<!--
<ResourceLink name="userDatabase" global="UserDatabase"
type="org.apache.catalina.UserDatabase"/>
-->
<!-- PersistentManager: Uncomment the section below to test Persistent
Sessions.
saveOnRestart: If true, all active sessions will be saved
to the Store when Catalina is shutdown, regardless of
other settings. All Sessions found in the Store will be
loaded on startup. Sessions past their expiration are
ignored in both cases.
maxActiveSessions: If 0 or greater, having too many active
sessions will result in some being swapped out. minIdleSwap
limits this. -1 or 0 means unlimited sessions are allowed.
If it is not possible to swap sessions new sessions will
be rejected.
This avoids thrashing when the site is highly active.
minIdleSwap: Sessions must be idle for at least this long
(in seconds) before they will be swapped out due to
activity.
0 means sessions will almost always be swapped out after
use - this will be noticeably slow for your users.
maxIdleSwap: Sessions will be swapped out if idle for this
long (in seconds). If minIdleSwap is higher, then it will
override this. This isn't exact: it is checked periodically.
-1 means sessions won't be swapped out for this reason,
although they may be swapped out for maxActiveSessions.
If set to >= 0, guarantees that all sessions found in the
Store will be loaded on startup.
maxIdleBackup: Sessions will be backed up (saved to the Store,
but left in active memory) if idle for this long (in seconds),
and all sessions found in the Store will be loaded on startup.
If set to -1 sessions will not be backed up, 0 means they
should be backed up shortly after being used.
To clear sessions from the Store, set maxActiveSessions, maxIdleSwap,
and minIdleBackup all to -1, saveOnRestart to false, then restart
Catalina.
-->
<!--
<Manager className="org.apache.catalina.session.PersistentManager"
debug="0"
saveOnRestart="true"
maxActiveSessions="-1"
minIdleSwap="-1"
maxIdleSwap="-1"
maxIdleBackup="-1">
<Store className="org.apache.catalina.session.FileStore"/>
</Manager>
-->
<Environment name="maxExemptions" type="java.lang.Integer"
value="15"/>
<Parameter name="context.param.name" value="context.param.value"
override="false"/>
<Resource name="jdbc/EmployeeAppDb" auth="SERVLET"
type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/EmployeeAppDb">
<parameter><name>username</name><value>sa</value></parameter>
<parameter><name>password</name><value></value></parameter>
<parameter><name>driverClassName</name>
<value>org.hsql.jdbcDriver</value></parameter>
<parameter><name>url</name>
<value>jdbc:HypersonicSQL:database</value></parameter>
</ResourceParams>
<Resource name="mail/Session" auth="Container"
type="javax.mail.Session"/>
<ResourceParams name="mail/Session">
<parameter>
<name>mail.smtp.host</name>
<value>localhost</value>
</parameter>
</ResourceParams>
<ResourceLink name="linkToGlobalResource"
global="simpleValue"
type="java.lang.Integer"/>
</Context>
</Host>
</Engine>
</Service>
</Server>To use servlets u have indeed to update your web.xml...Well I'm not sure this is relevant to your case anyway.
You have to add a <servlet> element to this file.
Something like this:
<servlet>
<servlet-name>blabla</servlet-name>
<servlet-class>blablapackage.Blablaclass</servlet-class>
<init-param>...</init-param>
</servlet>
Now this may not solve your problem. Make sure you refer to your servlets using their full qualified names.btw, just to be sure, what is your definition of "servlet"? (i mean: any java class or only javax.servlet.Servlet) -
Problem with Configuring Tomcat for running jsp web applications..Plz HELP
I am using Tomcat 5.5 and Jdk 1.5.0_12 and Oracle 10g. I am using jdbc-odbc bridge connection
to connect to the database. I have placed my project folder called
tdm under the webapps folder in Tomcat. This 'tdm' folder consists of
a collection of html pages,jsp pages and images of my project. Also I created a
WEB-INF folderand in that I have lib folder which contains catalina-root.jar
, classes12.jar and nls_charset.jar files. And also in the WEB-INF folder I have the web.xml
file which looks like this
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
Copyright 2004 The Apache Software Foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<web-app>
<resource-ref>
<description>Oracle Datasource example</description>
<res-ref-name>jdbc/gdn</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>
My Server.xml file in Tomcat\conf folder is as follows
<!-- Example Server Configuration File -->
<!-- Note that component elements are nested corresponding to their
parent-child relationships with each other -->
<!-- A "Server" is a singleton element that represents the entire JVM,
which may contain one or more "Service" instances. The Server
listens for a shutdown command on the indicated port.
Note: A "Server" is not itself a "Container", so you may not
define subcomponents such as "Valves" or "Loggers" at this level.
-->
<Server port="8005" shutdown="SHUTDOWN">
<!-- Comment these entries out to disable JMX MBeans support used for the
administration web application -->
<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<!-- Global JNDI resources -->
<GlobalNamingResources>
<!-- Test entry for demonstration purposes -->
<Environment name="simpleValue" type="java.lang.Integer" value="30"/>
<!-- Editable user database that can also be used by
UserDatabaseRealm to authenticate users -->
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
<Resource name="jdbc/gdn" auth="Container"
type="javax.sql.DataSource" driverClassName="sun.jdbc.odbc.JdbcOdbcDriver"
url="jdbc:odbc:gdn"
username="system" password="tiger" maxActive="20" maxIdle="10"
maxWait="-1"/>
</GlobalNamingResources>
<!-- A "Service" is a collection of one or more "Connectors" that share
a single "Container" (and therefore the web applications visible
within that Container). Normally, that Container is an "Engine",
but this is not required.
Note: A "Service" is not itself a "Container", so you may not
define subcomponents such as "Valves" or "Loggers" at this level.
-->
<!-- Define the Tomcat Stand-Alone Service -->
<Service name="Catalina">
<!-- A "Connector" represents an endpoint by which requests are received
and responses are returned. Each Connector passes requests on to the
associated "Container" (normally an Engine) for processing.
By default, a non-SSL HTTP/1.1 Connector is established on port 8080.
You can also enable an SSL HTTP/1.1 Connector on port 8443 by
following the instructions below and uncommenting the second Connector
entry. SSL support requires the following steps (see the SSL Config
HOWTO in the Tomcat 5 documentation bundle for more detailed
instructions):
* If your JDK version 1.3 or prior, download and install JSSE 1.0.2 or
later, and put the JAR files into "$JAVA_HOME/jre/lib/ext".
* Execute:
%JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA (Windows)
$JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA (Unix)
with a password value of "changeit" for both the certificate and
the keystore itself.
By default, DNS lookups are enabled when a web application calls
request.getRemoteHost(). This can have an adverse impact on
performance, so you can disable it by setting the
"enableLookups" attribute to "false". When DNS lookups are disabled,
request.getRemoteHost() will return the String version of the
IP address of the remote client.
-->
<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
<Connector
port="5050" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
<!-- Note : To disable connection timeouts, set connectionTimeout value
to 0 -->
<!-- Note : To use gzip compression you could set the following properties :
compression="on"
compressionMinSize="2048"
noCompressionUserAgents="gozilla, traviata"
compressableMimeType="text/html,text/xml"
-->
<!-- Define a SSL HTTP/1.1 Connector on port 8443 -->
<!--
<Connector port="8443"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
-->
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009"
enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
<!-- Define a Proxied HTTP/1.1 Connector on port 8082 -->
<!-- See proxy documentation for more information about using this. -->
<!--
<Connector port="8082"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" acceptCount="100" connectionTimeout="20000"
proxyPort="80" disableUploadTimeout="true" />
-->
<!-- An Engine represents the entry point (within Catalina) that processes
every request. The Engine implementation for Tomcat stand alone
analyzes the HTTP headers included with the request, and passes them
on to the appropriate Host (virtual host). -->
<!-- You should set jvmRoute to support load-balancing via AJP ie :
<Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm1">
-->
<!-- Define the top level container in our container hierarchy -->
<Engine name="Catalina" defaultHost="localhost">
<!-- The request dumper valve dumps useful debugging information about
the request headers and cookies that were received, and the response
headers and cookies that were sent, for all requests received by
this instance of Tomcat. If you care only about requests to a
particular virtual host, or a particular application, nest this
element inside the corresponding <Host> or <Context> entry instead.
For a similar mechanism that is portable to all Servlet 2.4
containers, check out the "RequestDumperFilter" Filter in the
example application (the source for this filter may be found in
"$CATALINA_HOME/webapps/examples/WEB-INF/classes/filters").
Request dumping is disabled by default. Uncomment the following
element to enable it. -->
<!--
<Valve className="org.apache.catalina.valves.RequestDumperValve"/>
-->
<!-- Because this Realm is here, an instance will be shared globally -->
<!-- This Realm uses the UserDatabase configured in the global JNDI
resources under the key "UserDatabase". Any edits
that are performed against this UserDatabase are immediately
available for use by the Realm. -->
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
<!-- Comment out the old realm but leave here for now in case we
need to go back quickly -->
<!--
<Realm className="org.apache.catalina.realm.MemoryRealm" />
-->
<!-- Replace the above Realm with one of the following to get a Realm
stored in a database and accessed via JDBC -->
<!--
<Realm className="org.apache.catalina.realm.JDBCRealm"
driverName="org.gjt.mm.mysql.Driver"
connectionURL="jdbc:mysql://localhost/authority"
connectionName="test" connectionPassword="test"
userTable="users" userNameCol="user_name" userCredCol="user_pass"
userRoleTable="user_roles" roleNameCol="role_name" />
-->
<!--
<Realm className="org.apache.catalina.realm.JDBCRealm"
driverName="oracle.jdbc.driver.OracleDriver"
connectionURL="jdbc:oracle:thin:@ntserver:1521:ORCL"
connectionName="scott" connectionPassword="tiger"
userTable="users" userNameCol="user_name" userCredCol="user_pass"
userRoleTable="user_roles" roleNameCol="role_name" />
-->
<!--
<Realm className="org.apache.catalina.realm.JDBCRealm"
driverName="sun.jdbc.odbc.JdbcOdbcDriver"
connectionURL="jdbc:odbc:CATALINA"
userTable="users" userNameCol="user_name" userCredCol="user_pass"
userRoleTable="user_roles" roleNameCol="role_name" />
-->
<!-- Define the default virtual host
Note: XML Schema validation will not work with Xerces 2.2.
-->
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<!-- Defines a cluster for this node,
By defining this element, means that every manager will be changed.
So when running a cluster, only make sure that you have webapps in there
that need to be clustered and remove the other ones.
A cluster has the following parameters:
className = the fully qualified name of the cluster class
name = a descriptive name for your cluster, can be anything
mcastAddr = the multicast address, has to be the same for all the nodes
mcastPort = the multicast port, has to be the same for all the nodes
mcastBindAddr = bind the multicast socket to a specific address
mcastTTL = the multicast TTL if you want to limit your broadcast
mcastSoTimeout = the multicast readtimeout
mcastFrequency = the number of milliseconds in between sending a "I'm alive" heartbeat
mcastDropTime = the number a milliseconds before a node is considered "dead" if no heartbeat is received
tcpThreadCount = the number of threads to handle incoming replication requests, optimal would be the same amount of threads as nodes
tcpListenAddress = the listen address (bind address) for TCP cluster request on this host,
in case of multiple ethernet cards.
auto means that address becomes
InetAddress.getLocalHost().getHostAddress()
tcpListenPort = the tcp listen port
tcpSelectorTimeout = the timeout (ms) for the Selector.select() method in case the OS
has a wakup bug in java.nio. Set to 0 for no timeout
printToScreen = true means that managers will also print to std.out
expireSessionsOnShutdown = true means that
useDirtyFlag = true means that we only replicate a session after setAttribute,removeAttribute has been called.
false means to replicate the session after each request.
false means that replication would work for the following piece of code: (only for SimpleTcpReplicationManager)
<%
HashMap map = (HashMap)session.getAttribute("map");
map.put("key","value");
%>
replicationMode = can be either 'pooled', 'synchronous' or 'asynchronous'.
* Pooled means that the replication happens using several sockets in a synchronous way. Ie, the data gets replicated, then the request return. This is the same as the 'synchronous' setting except it uses a pool of sockets, hence it is multithreaded. This is the fastest and safest configuration. To use this, also increase the nr of tcp threads that you have dealing with replication.
* Synchronous means that the thread that executes the request, is also the
thread the replicates the data to the other nodes, and will not return until all
nodes have received the information.
* Asynchronous means that there is a specific 'sender' thread for each cluster node,
so the request thread will queue the replication request into a "smart" queue,
and then return to the client.
The "smart" queue is a queue where when a session is added to the queue, and the same session
already exists in the queue from a previous request, that session will be replaced
in the queue instead of replicating two requests. This almost never happens, unless there is a
large network delay.
-->
<!--
When configuring for clustering, you also add in a valve to catch all the requests
coming in, at the end of the request, the session may or may not be replicated.
A session is replicated if and only if all the conditions are met:
1. useDirtyFlag is true or setAttribute or removeAttribute has been called AND
2. a session exists (has been created)
3. the request is not trapped by the "filter" attribute
The filter attribute is to filter out requests that could not modify the session,
hence we don't replicate the session after the end of this request.
The filter is negative, ie, anything you put in the filter, you mean to filter out,
ie, no replication will be done on requests that match one of the filters.
The filter attribute is delimited by ;, so you can't escape out ; even if you wanted to.
filter=".*\.gif;.*\.js;" means that we will not replicate the session after requests with the URI
ending with .gif and .js are intercepted.
The deployer element can be used to deploy apps cluster wide.
Currently the deployment only deploys/undeploys to working members in the cluster
so no WARs are copied upons startup of a broken node.
The deployer watches a directory (watchDir) for WAR files when watchEnabled="true"
When a new war file is added the war gets deployed to the local instance,
and then deployed to the other instances in the cluster.
When a war file is deleted from the watchDir the war is undeployed locally
and cluster wide
-->
<!--
<Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
managerClassName="org.apache.catalina.cluster.session.DeltaManager"
expireSessionsOnShutdown="false"
useDirtyFlag="true"
notifyListenersOnReplication="true">
<Membership
className="org.apache.catalina.cluster.mcast.McastService"
mcastAddr="228.0.0.4"
mcastPort="45564"
mcastFrequency="500"
mcastDropTime="3000"/>
<Receiver
className="org.apache.catalina.cluster.tcp.ReplicationListener"
tcpListenAddress="auto"
tcpListenPort="4001"
tcpSelectorTimeout="100"
tcpThreadCount="6"/>
<Sender
className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
replicationMode="pooled"
ackTimeout="15000"/>
<Valve className="org.apache.catalina.cluster.tcp.ReplicationValve"
filter=".*\.gif;.*\.js;.*\.jpg;.*\.htm;.*\.html;.*\.txt;"/>
<Deployer className="org.apache.catalina.cluster.deploy.FarmWarDeployer"
tempDir="/tmp/war-temp/"
deployDir="/tmp/war-deploy/"
watchDir="/tmp/war-listen/"
watchEnabled="false"/>
</Cluster>
-->
<!-- Normally, users must authenticate themselves to each web app
individually. Uncomment the following entry if you would like
a user to be authenticated the first time they encounter a
resource protected by a security constraint, and then have that
user identity maintained across all web applications contained
in this virtual host. -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
-->
<!-- Access log processes all requests for this virtual host. By
default, log files are created in the "logs" directory relative to
$CATALINA_HOME. If you wish, you can specify a different
directory with the "directory" attribute. Specify either a relative
(to $CATALINA_HOME) or absolute path to the desired directory.
-->
<!--
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs" prefix="localhost_access_log." suffix=".txt"
pattern="common" resolveHosts="false"/>
-->
<!-- Access log processes all requests for this virtual host. By
default, log files are created in the "logs" directory relative to
$CATALINA_HOME. If you wish, you can specify a different
directory with the "directory" attribute. Specify either a relative
(to $CATALINA_HOME) or absolute path to the desired directory.
This access log implementation is optimized for maximum performance,
but is hardcoded to support only the "common" and "combined" patterns.
-->
<!--
<Valve className="org.apache.catalina.valves.FastCommonAccessLogValve"
directory="logs" prefix="localhost_access_log." suffix=".txt"
pattern="common" resolveHosts="false"/>
-->
<Context path="/tdm" docBase="tdm" debug="0" reloadable="true" />
</Host>
</Engine>
</Service>
</Server>
I have set the context path to /tdm in the server.xml file. Should this be placed in context.xml?
My first page in the project is called Homepage.html. To start my project I give http://localhost:5050/tdm/homepage.html
in a browser. Here I accept a username and password from the user and then do the validation in
a valid.jsp file, where I connect to the database and check and use jsp:forward to go to next pages
accordingly. However when I enter the username and password and click Go in the homepage, nothing is
displayed on the next page. The URL in the browser says valid.jsp but a blank screen appears.
WHY DOES IT HAPPEN SO? DOES IT MEAN THAT TOMCAT IS NOT RECOGNIZING JAVA IN MY SYSTEM OR IS IT A PROBLEM
WITH THE DATABASE CONNECTION OR SOMETHING ELSE? I FEEL THAT TOMCAT IS NOT EXECUTING JSP COMMANDS?
IS IT POSSIBLE?WHY WILL THIS HAPPEN?
I set the JAVA_HOME and CATALINA_HOME environment to the jdk and tomcat folders resp.
Is there any other thing that I need to set in classpath? Should I have my project as a
WAR file in the webapps of TOMCAT or just a folder i.e. directory structure will fine?I am using Tomcat 5.5 and Jdk 1.5.0_12 and Oracle 10g. I am using jdbc-odbc bridge connection
to connect to the database. I have placed my project folder called
tdm under the webapps folder in Tomcat. This 'tdm' folder consists of
a collection of html pages,jsp pages and images of my project. Also I created a
WEB-INF folderand in that I have lib folder which contains catalina-root.jar
, classes12.jar and nls_charset.jar files. And also in the WEB-INF folder I have the web.xml
file which looks like this
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
Copyright 2004 The Apache Software Foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<web-app>
<resource-ref>
<description>Oracle Datasource example</description>
<res-ref-name>jdbc/gdn</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>
My Server.xml file in Tomcat\conf folder is as follows
<!-- Example Server Configuration File -->
<!-- Note that component elements are nested corresponding to their
parent-child relationships with each other -->
<!-- A "Server" is a singleton element that represents the entire JVM,
which may contain one or more "Service" instances. The Server
listens for a shutdown command on the indicated port.
Note: A "Server" is not itself a "Container", so you may not
define subcomponents such as "Valves" or "Loggers" at this level.
-->
<Server port="8005" shutdown="SHUTDOWN">
<!-- Comment these entries out to disable JMX MBeans support used for the
administration web application -->
<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<!-- Global JNDI resources -->
<GlobalNamingResources>
<!-- Test entry for demonstration purposes -->
<Environment name="simpleValue" type="java.lang.Integer" value="30"/>
<!-- Editable user database that can also be used by
UserDatabaseRealm to authenticate users -->
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
<Resource name="jdbc/gdn" auth="Container"
type="javax.sql.DataSource" driverClassName="sun.jdbc.odbc.JdbcOdbcDriver"
url="jdbc:odbc:gdn"
username="system" password="tiger" maxActive="20" maxIdle="10"
maxWait="-1"/>
</GlobalNamingResources>
<!-- A "Service" is a collection of one or more "Connectors" that share
a single "Container" (and therefore the web applications visible
within that Container). Normally, that Container is an "Engine",
but this is not required.
Note: A "Service" is not itself a "Container", so you may not
define subcomponents such as "Valves" or "Loggers" at this level.
-->
<!-- Define the Tomcat Stand-Alone Service -->
<Service name="Catalina">
<!-- A "Connector" represents an endpoint by which requests are received
and responses are returned. Each Connector passes requests on to the
associated "Container" (normally an Engine) for processing.
By default, a non-SSL HTTP/1.1 Connector is established on port 8080.
You can also enable an SSL HTTP/1.1 Connector on port 8443 by
following the instructions below and uncommenting the second Connector
entry. SSL support requires the following steps (see the SSL Config
HOWTO in the Tomcat 5 documentation bundle for more detailed
instructions):
* If your JDK version 1.3 or prior, download and install JSSE 1.0.2 or
later, and put the JAR files into "$JAVA_HOME/jre/lib/ext".
* Execute:
%JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA (Windows)
$JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA (Unix)
with a password value of "changeit" for both the certificate and
the keystore itself.
By default, DNS lookups are enabled when a web application calls
request.getRemoteHost(). This can have an adverse impact on
performance, so you can disable it by setting the
"enableLookups" attribute to "false". When DNS lookups are disabled,
request.getRemoteHost() will return the String version of the
IP address of the remote client.
-->
<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
<Connector
port="5050" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
<!-- Note : To disable connection timeouts, set connectionTimeout value
to 0 -->
<!-- Note : To use gzip compression you could set the following properties :
compression="on"
compressionMinSize="2048"
noCompressionUserAgents="gozilla, traviata"
compressableMimeType="text/html,text/xml"
-->
<!-- Define a SSL HTTP/1.1 Connector on port 8443 -->
<!--
<Connector port="8443"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
-->
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009"
enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
<!-- Define a Proxied HTTP/1.1 Connector on port 8082 -->
<!-- See proxy documentation for more information about using this. -->
<!--
<Connector port="8082"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" acceptCount="100" connectionTimeout="20000"
proxyPort="80" disableUploadTimeout="true" />
-->
<!-- An Engine represents the entry point (within Catalina) that processes
every request. The Engine implementation for Tomcat stand alone
analyzes the HTTP headers included with the request, and passes them
on to the appropriate Host (virtual host). -->
<!-- You should set jvmRoute to support load-balancing via AJP ie :
<Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm1">
-->
<!-- Define the top level container in our container hierarchy -->
<Engine name="Catalina" defaultHost="localhost">
<!-- The request dumper valve dumps useful debugging information about
the request headers and cookies that were received, and the response
headers and cookies that were sent, for all requests received by
this instance of Tomcat. If you care only about requests to a
particular virtual host, or a particular application, nest this
element inside the corresponding <Host> or <Context> entry instead.
For a similar mechanism that is portable to all Servlet 2.4
containers, check out the "RequestDumperFilter" Filter in the
example application (the source for this filter may be found in
"$CATALINA_HOME/webapps/examples/WEB-INF/classes/filters").
Request dumping is disabled by default. Uncomment the following
element to enable it. -->
<!--
<Valve className="org.apache.catalina.valves.RequestDumperValve"/>
-->
<!-- Because this Realm is here, an instance will be shared globally -->
<!-- This Realm uses the UserDatabase configured in the global JNDI
resources under the key "UserDatabase". Any edits
that are performed against this UserDatabase are immediately
available for use by the Realm. -->
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
<!-- Comment out the old realm but leave here for now in case we
need to go back quickly -->
<!--
<Realm className="org.apache.catalina.realm.MemoryRealm" />
-->
<!-- Replace the above Realm with one of the following to get a Realm
stored in a database and accessed via JDBC -->
<!--
<Realm className="org.apache.catalina.realm.JDBCRealm"
driverName="org.gjt.mm.mysql.Driver"
connectionURL="jdbc:mysql://localhost/authority"
connectionName="test" connectionPassword="test"
userTable="users" userNameCol="user_name" userCredCol="user_pass"
userRoleTable="user_roles" roleNameCol="role_name" />
-->
<!--
<Realm className="org.apache.catalina.realm.JDBCRealm"
driverName="oracle.jdbc.driver.OracleDriver"
connectionURL="jdbc:oracle:thin:@ntserver:1521:ORCL"
connectionName="scott" connectionPassword="tiger"
userTable="users" userNameCol="user_name" userCredCol="user_pass"
userRoleTable="user_roles" roleNameCol="role_name" />
-->
<!--
<Realm className="org.apache.catalina.realm.JDBCRealm"
driverName="sun.jdbc.odbc.JdbcOdbcDriver"
connectionURL="jdbc:odbc:CATALINA"
userTable="users" userNameCol="user_name" userCredCol="user_pass"
userRoleTable="user_roles" roleNameCol="role_name" />
-->
<!-- Define the default virtual host
Note: XML Schema validation will not work with Xerces 2.2.
-->
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<!-- Defines a cluster for this node,
By defining this element, means that every manager will be changed.
So when running a cluster, only make sure that you have webapps in there
that need to be clustered and remove the other ones.
A cluster has the following parameters:
className = the fully qualified name of the cluster class
name = a descriptive name for your cluster, can be anything
mcastAddr = the multicast address, has to be the same for all the nodes
mcastPort = the multicast port, has to be the same for all the nodes
mcastBindAddr = bind the multicast socket to a specific address
mcastTTL = the multicast TTL if you want to limit your broadcast
mcastSoTimeout = the multicast readtimeout
mcastFrequency = the number of milliseconds in between sending a "I'm alive" heartbeat
mcastDropTime = the number a milliseconds before a node is considered "dead" if no heartbeat is received
tcpThreadCount = the number of threads to handle incoming replication requests, optimal would be the same amount of threads as nodes
tcpListenAddress = the listen address (bind address) for TCP cluster request on this host,
in case of multiple ethernet cards.
auto means that address becomes
InetAddress.getLocalHost().getHostAddress()
tcpListenPort = the tcp listen port
tcpSelectorTimeout = the timeout (ms) for the Selector.select() method in case the OS
has a wakup bug in java.nio. Set to 0 for no timeout
printToScreen = true means that managers will also print to std.out
expireSessionsOnShutdown = true means that
useDirtyFlag = true means that we only replicate a session after setAttribute,removeAttribute has been called.
false means to replicate the session after each request.
false means that replication would work for the following piece of code: (only for SimpleTcpReplicationManager)
<%
HashMap map = (HashMap)session.getAttribute("map");
map.put("key","value");
%>
replicationMode = can be either 'pooled', 'synchronous' or 'asynchronous'.
* Pooled means that the replication happens using several sockets in a synchronous way. Ie, the data gets replicated, then the request return. This is the same as the 'synchronous' setting except it uses a pool of sockets, hence it is multithreaded. This is the fastest and safest configuration. To use this, also increase the nr of tcp threads that you have dealing with replication.
* Synchronous means that the thread that executes the request, is also the
thread the replicates the data to the other nodes, and will not return until all
nodes have received the information.
* Asynchronous means that there is a specific 'sender' thread for each cluster node,
so the request thread will queue the replication request into a "smart" queue,
and then return to the client.
The "smart" queue is a queue where when a session is added to the queue, and the same session
already exists in the queue from a previous request, that session will be replaced
in the queue instead of replicating two requests. This almost never happens, unless there is a
large network delay.
-->
<!--
When configuring for clustering, you also add in a valve to catch all the requests
coming in, at the end of the request, the session may or may not be replicated.
A session is replicated if and only if all the conditions are met:
1. useDirtyFlag is true or setAttribute or removeAttribute has been called AND
2. a session exists (has been created)
3. the request is not trapped by the "filter" attribute
The filter attribute is to filter out requests that could not modify the session,
hence we don't replicate the session after the end of this request.
The filter is negative, ie, anything you put in the filter, you mean to filter out,
ie, no replication will be done on requests that match one of the filters.
The filter attribute is delimited by ;, so you can't escape out ; even if you wanted to.
filter=".*\.gif;.*\.js;" means that we will not replicate the session after requests with the URI
ending with .gif and .js are intercepted.
The deployer element can be used to deploy apps cluster wide.
Currently the deployment only deploys/undeploys to working members in the cluster
so no WARs are copied upons startup of a broken node.
The deployer watches a directory (watchDir) for WAR files when watchEnabled="true"
When a new war file is added the war gets deployed to the local instance,
and then deployed to the other instances in the cluster.
When a war file is deleted from the watchDir the war is undeployed locally
and cluster wide
-->
<!--
<Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
managerClassName="org.apache.catalina.cluster.session.DeltaManager"
expireSessionsOnShutdown="false"
useDirtyFlag="true"
notifyListenersOnReplication="true">
<Membership
className="org.apache.catalina.cluster.mcast.McastService"
mcastAddr="228.0.0.4"
mcastPort="45564"
mcastFrequency="500"
mcastDropTime="3000"/>
<Receiver
className="org.apache.catalina.cluster.tcp.ReplicationListener"
tcpListenAddress="auto"
tcpListenPort="4001"
tcpSelectorTimeout="100"
tcpThreadCount="6"/>
<Sender
className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
replicationMode="pooled"
ackTimeout="15000"/>
<Valve className="org.apache.catalina.cluster.tcp.ReplicationValve"
filter=".*\.gif;.*\.js;.*\.jpg;.*\.htm;.*\.html;.*\.txt;"/>
<Deployer className="org.apache.catalina.cluster.deploy.FarmWarDeployer"
tempDir="/tmp/war-temp/"
deployDir="/tmp/war-deploy/"
watchDir="/tmp/war-listen/"
watchEnabled="false"/>
</Cluster>
-->
<!-- Normally, users must authenticate themselves to each web app
individually. Uncomment the following entry if you would like
a user to be authenticated the first time they encounter a
resource protected by a security constraint, and then have that
user identity maintained across all web applications contained
in this virtual host. -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
-->
<!-- Access log processes all requests for this virtual host. By
default, log files are created in the "logs" directory relative to
$CATALINA_HOME. If you wish, you can specify a different
directory with the "directory" attribute. Specify either a relative
(to $CATALINA_HOME) or absolute path to the desired directory.
-->
<!--
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs" prefix="localhost_access_log." suffix=".txt"
pattern="common" resolveHosts="false"/>
-->
<!-- Access log processes all requests for this virtual host. By
default, log files are created in the "logs" directory relative to
$CATALINA_HOME. If you wish, you can specify a different
directory with the "directory" attribute. Specify either a relative
(to $CATALINA_HOME) or absolute path to the desired directory.
This access log implementation is optimized for maximum performance,
but is hardcoded to support only the "common" and "combined" patterns.
-->
<!--
<Valve className="org.apache.catalina.valves.FastCommonAccessLogValve"
directory="logs" prefix="localhost_access_log." suffix=".txt"
pattern="common" resolveHosts="false"/>
-->
<Context path="/tdm" docBase="tdm" debug="0" reloadable="true" />
</Host>
</Engine>
</Service>
</Server>
I have set the context path to /tdm in the server.xml file. Should this be placed in context.xml?
My first page in the project is called Homepage.html. To start my project I give http://localhost:5050/tdm/homepage.html
in a browser. Here I accept a username and password from the user and then do the validation in
a valid.jsp file, where I connect to the database and check and use jsp:forward to go to next pages
accordingly. However when I enter the username and password and click Go in the homepage, nothing is
displayed on the next page. The URL in the browser says valid.jsp but a blank screen appears.
WHY DOES IT HAPPEN SO? DOES IT MEAN THAT TOMCAT IS NOT RECOGNIZING JAVA IN MY SYSTEM OR IS IT A PROBLEM
WITH THE DATABASE CONNECTION OR SOMETHING ELSE? I FEEL THAT TOMCAT IS NOT EXECUTING JSP COMMANDS?
IS IT POSSIBLE?WHY WILL THIS HAPPEN?
I set the JAVA_HOME and CATALINA_HOME environment to the jdk and tomcat folders resp.
Is there any other thing that I need to set in classpath? Should I have my project as a
WAR file in the webapps of TOMCAT or just a folder i.e. directory structure will fine? -
Error in creating web application through power shell
hi,
i have taken the ps script from the below url :
credits to Roger :
http://blogs.msdn.com/b/rcormier/archive/2012/09/01/how-to-create-sharepoint-web-applications-with-powershell.aspx
http://gallery.technet.microsoft.com/Create-SharePoint-Web-742a8fb9
But when i am running the script, i am getting many errors:
Note: i am not using appln pool account password [as i dont know the password]
want to know whether this paramter is necessary.
$ver = $host | select version
if($Ver.version.major -gt 1) {$Host.Runspace.ThreadOptions = "ReuseThread"}
if(!(Get-PSSnapin Microsoft.SharePoint.PowerShell -ea 0))
Write-Progress -Activity "Loading Modules" -Status "Loading Microsoft.SharePoint.PowerShell"
Add-PSSnapin Microsoft.SharePoint.PowerShell
Write-Progress -Activity "Creating Web Application" -Status "Setting Variables"
#Set Individual Web App Variables
#This is the Web Application URL
$WebApplicationURL = "http://mysrvr:2020/"
#This is the Display Name for the SharePoint Web Application
$WebApplicationName = "myweb1"
#This is the Content Database for the Web Application
$ContentDatabase = "myContentDB"
#Set Common Variables
#This is the Display Name for the Application Pool
$ApplicationPoolDisplayName = "mapppool2020"
#This is identity of the Application Pool which will be used (Domain\User)
$ApplicationPoolIdentity = "mydomain\myidd"
#This is the password of the Appliation Pool account which will be used
#$ApplicationPoolPassword = "Pass@word1"
#This is the Account which will be used for the Portal Super Reader Account
$PortalSuperReader = "i:0#.w|in\hariharan.venugopalk"
#This is the Account which will be used for the Portal Super User Account
$PortalSuperUser = "i:0#.w|in\spinstall.dev"
Write-Progress -Activity "Creating Web Application" -Status "Loading Functions"
#Create Functions
Function CreateClaimsWebApp($WebApplicationName, $WebApplicationURL, $ContentDatabase, $HTTPPort)
#AppPoolUsed is set when calling the ValidateAppPool function. This will be true if the application pool is already running SharePoint web appplications
#If the application pool is already being used in web applications, the syntax for New-SPWebApplication changes
if($AppPoolUsed -eq $True)
#Create the web application, assign it to the WebApp variable. The WebApp variable will be used to set object cache user accounts
Write-Progress -Activity "Creating Web Application" -Status "Using Application Pool With Existing Web Applications"
Set-Variable -Name WebApp -Value (New-SPWebApplication -ApplicationPool $ApplicationPoolDisplayName -Name $WebApplicationName -url $WebApplicationURL -port $HTTPPort -DatabaseName $ContentDatabase -HostHeader $hostHeader
-AuthenticationProvider (New-SPAuthenticationProvider)) -Scope Script
#Call the SetObjectCache function, which sets the object cache.
Write-Progress -Activity "Creating Web Application" -Status "Configuring Object Cache Accounts"
SetObjectCache
else
#Create the web application, assign it to the WebApp variable. The WebApp variable will be used to set object cache user accounts
Write-Progress -Activity "Creating Web Application" -Status "Using Application Pool With No Existing Web Applications"
Set-Variable -Name WebApp -Value (New-SPWebApplication -ApplicationPool $ApplicationPoolDisplayName -ApplicationPoolAccount $AppPoolManagedAccount.Username -Name $WebApplicationName -url $WebApplicationURL -port $HTTPPort
-DatabaseName $ContentDatabase -HostHeader $hostHeader -AuthenticationProvider (New-SPAuthenticationProvider)) -Scope Script
#Call the SetObjectCache function, which sets the object cache.
Write-Progress -Activity "Creating Web Application" -Status "Configuring Object Cache Accounts"
SetObjectCache
Function ValidateURL($WebApplicationURL)
#Find out if a web application with the target URL exists
if(get-spwebapplication $WebApplicationURL -ErrorAction SilentlyContinue)
#If a web application with the specifid URL already exists, wait 5 seconds and exit
Write-Progress -Activity "Creating Web Application" -Status "Aborting Process Due To URL Conflict"
Write-Host "Aborting: Web Application $WebApplicationURL Already Exists" -ForegroundColor Red
sleep 5
#Setting the CriticalError value to $True results in the script to not create anything
Set-Variable -Name CriticalError -Value $True
#If the WebApplicationURL passed is not already a SharePoint web application, find out if it starts with HTTP or HTTPS
elseif($WebApplicationURL.StartsWith("http://"))
#If the string starts with http://, and not https://, trim the protocol from the URL. Set the host as the host header
Set-Variable HostHeader -Value ($WebApplicationURL.Substring(7)) -Scope Script
#If we're using HTTP, use port 80
Set-Variable -Name HTTPPort -Value "80" -Scope Script
elseif($WebApplicationURL.StartsWith("https://"))
#If the string starts with https://, and not http://, trim the protocol from the URL. Set the host as the host header
Set-Variable HostHeader -Value ($WebApplicationURL.Substring(8)) -Scope Script
#If we're using HTTPS, use port 443
Set-Variable -Name HTTPPort -Value "443" -Scope Script
Function ValidateAppPool($AppPoolName, $WebApplicationURL)
#Change the ErrorActionPreference to SilentlyContinue while preserving the original value in a temporary variable
#Failing to do this will result in error messages being displayed if Get-WebAppPoolState does not return an object. The script would still continue
$CurrentErrorActionPreference = $ErrorActionPreference
$ErrorActionPreference = "SilentlyContinue"
#Check to see if an application pool with the name passed by the AppPoolName variable already exists, assign this to a variable.
#This variable will be used in order to determine if the application pool exists, but is not part of SharePoint
$TestAppPool = Get-WebAppPoolState $AppPoolName
#If we have a SharePoint application pool with the value passed by the AppPoolName variable, find out if there are any sites using that app pool
#This changes the syntax used with New-SPWebApplication
if(Get-SPServiceApplicationPool $AppPoolName)
#Return all application pools used by all web applications
$AppPools = Get-SPWebApplication | select ApplicationPool
#Providing there is more than one application pool, find out what their names are
if($AppPools)
foreach($Pool in $AppPools)
#Get The application pool display name for each application pool returned
[Array]$Poolchild = $Poolchild += ($Pool.ApplicationPool.DisplayName)
#If any application pool matches the value passed by ApplicationPoolDisplayName, set AppPoolUsed to True
#This is referenced in the CreateClaimsWebApp function
if($Poolchild.Contains($ApplicationPoolDisplayName))
Set-Variable -Name AppPoolUsed -Value $True -Scope Script
#If the application pool display name does not match the value passed by ApplicationPoolDisplayName, set AppPoolUsed to False
#This is referenced in the CreateClaimsWebApp function
else
Set-Variable -Name AppPoolUsed -Value $False -Scope Script
#Since this is a SharePoint Application Pool, set the AppPool value to the the SPServiceApplicationPool object returned
Set-Variable -Name AppPool -Value (Get-SPServiceApplicationPool $AppPoolName) -scope Script
#Set the AppPoolManagedAccount variable to the name of the managed acount used by the application pool returned
#AppPoolManagedAccount is used in the CreateClaimsWebApp function if the application pool does not have existing web applications that are using it
Set-Variable -Name AppPoolManagedAccount -Value (Get-SPManagedAccount | ? {$_.username -eq ($AppPool.ProcessAccountName)}) -scope Script
#Check to see if the application pool is in IIS, but is not a SharePoint app pool
elseif($TestAppPool)
#If the application pool exists in IIS and is not a SharePoint application pool, abort the script by setting CriticalError to True
Write-Host "Aborting: Application Pool $AppPoolName already exists on the server and is not a SharePoint Application Pool `n`rWeb Application `"$WebApplicationURL`" will not be created" -ForegroundColor
Red
Set-Variable -Name CriticalError -Value $True
#If it's not a SharePoint app pool, and it doesn't exist in IIS, we have to create one
elseif(!($TestAppPool))
#Find out if a managed account exists by calling the ValidateManagedAccount function
validateManagedAccount $ApplicationPoolIdentity
#If the managed account exists, create an application pool using the existing managed account
if($ManagedAccountExists -eq $True)
#Set the AppPoolManagedAccount to the identity of the managed acocunt referenced by the ApplicationPoolIdentity variable
Write-Host "Creating New App Pool using Existing Managed Account"
Set-Variable -Name AppPoolManagedAccount -Value (Get-SPManagedAccount $ApplicationPoolIdentity | select username) -scope "Script"
#Create a new SPServiceApplicationPool, assign that to the AppPool variable
Set-Variable -Name AppPool -Value (New-SPServiceApplicationPool -Name $ApplicationPoolDisplayName -Account $ApplicationPoolIdentity) -scope "Script"
#If there is no managed account matching the account referenced by the ApplicationPoolIdentity, create it
else
#Use the ApplicationPoolIdentity and ApplicationPoolPassword to create a credential object
#This is necessary when creating a new managed account
Write-Host "Creating New Managed Account And App Pool"
$AppPoolCredentials = New-Object System.Management.Automation.PSCredential $ApplicationPoolIdentity, (ConvertTo-SecureString $ApplicationPoolPassword -AsPlainText -Force)
#Create a new managed account, assign that to the AppPoolManagedAccount variable
Set-Variable -Name AppPoolManagedAccount -Value (New-SPManagedAccount -Credential $AppPoolCredentials) -scope "Script"
#Create a new application pool using the new managed account, assign this to the AppPool variable
Set-Variable -Name AppPool -Value (New-SPServiceApplicationPool -Name $ApplicationPoolDisplayName -Account (get-spmanagedaccount $ApplicationPoolIdentity)) -scope "Script"
#Return the ErrorActionPreference to the default value
$ErrorActionPreference = $CurrentErrorActionPreference
Function ValidateManagedAccount($ApplicationPoolIdentity)
#Find out if the manage account referenced by the AppPoolIdentity already exists
#If it does, set ManagedAccountExists to True
if(Get-SPManagedAccount $ApplicationPoolIdentity -ErrorAction SilentlyContinue)
Set-Variable -Name ManagedAccountExists -Value $True -Scope Script
#If it does not, set ManagedAccountExists to False
else
Set-Variable -Name ManagedAccountExists -Value $False -Scope Script
Function ClearScriptVariables
#Set the ErrorActionPreference to SilentlyContinue
#If this is not set, and the script variables referenced have not been set, an error message will be returned. The script would still continue
$CurrentErrorActionPreference = $ErrorActionPreference
$ErrorActionPreference = "SilentlyContinue"
#Remove the CriticalError variable
Remove-Variable $CriticalError -ErrorAction SilentlyContinue
$ErrorActionPreference = $CurrentErrorActionPreference
Function SetObjectCache
#Set object cache user account properties based on the value of the parameters supplied
$WebApp.Properties["portalsuperuseraccount"] = $PortalSuperUser
$WebApp.Properties["portalsuperreaderaccount"] = $PortalSuperReader
#Create a New Policy for the Super User
$SuperUserPolicy = $WebApp.Policies.Add($PortalSuperUser, "Portal Super User Account")
#Assign Full Control To the Super User
$SuperUserPolicy.PolicyRoleBindings.Add($WebApp.PolicyRoles.GetSpecialRole([Microsoft.SharePoint.Administration.SPPolicyRoleType]::FullControl))
#Create a New Policy for the Super Reader
$SuperReaderPolicy = $WebApp.Policies.Add($PortalSuperReader, "Portal Super Reader Account")
#Assign Full Read to the Super Reader
$SuperReaderPolicy.PolicyRoleBindings.Add($WebApp.PolicyRoles.GetSpecialRole([Microsoft.SharePoint.Administration.SPPolicyRoleType]::FullRead))
#Commit these changes to the web application
$WebApp.Update()
#Script
#Call the ClearScriptVariables function to empty out varialbes that should be blank when the script executes.
ClearScriptVariables
#Validate the URL passed by calling the ValidateURL function
Write-Progress -Activity "Creating Web Application" -Status "Validating Web Application URL Variables"
ValidateURL $WebApplicationURL
#Validate the application pool variables by calling the ValidateAppPool function
Write-Progress -Activity "Creating Web Application" -Status "Validating Application Pool Variables"
ValidateAppPool $ApplicationPoolDisplayName $WebApplicationURL
#As long as CriticalError has not been set, create the web application using the variables passed.
if(!($CriticalError))
Write-Progress -Activity "Creating Web Application" -Status "Creating Claims-Based Web Application"
CreateClaimsWebApp $WebApplicationName $WebApplicationURL $ContentDatabase $HTTPPort
error is thrown below:
deployment
S D:\myworkspace\bif> iisreset
ttempting stop...
nternet services successfully stopped
ttempting start...
nternet services successfully restarted
S D:\myworkspace\bif> .\CreateSP2013ClaimsWebApplication.ps1
reating New Managed Account And App Pool
ew-SPWebApplication : "mysrvr:2020/" contains invalid character ':'.
t D:\myworkspace\bif\CreateSP2013ClaimsWebApplication.ps1:68 char:43
Set-Variable -Name WebApp -Value (New-SPWebApplication
ApplicationPool ...
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~
+ CategoryInfo
: InvalidData: (Microsoft.Share...PWebApplication:
SPCmdletNewSPWebApplication) [New-SPWebApplication], ArgumentException
+ FullyQualifiedErrorId : Microsoft.SharePoint.PowerShell.SPCmdletNewSPWeb
Application
annot index into a null array.
t D:\myworkspace\bif\CreateSP2013ClaimsWebApplication.ps1:235 char:5
$WebApp.Properties["portalsuperuseraccount"] = $PortalSuperUser
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo
: InvalidOperation: (:) [], RuntimeException
+ FullyQualifiedErrorId : NullArray
cannot index into a null array.
t D:\myworkspace\bif\CreateSP2013ClaimsWebApplication.ps1:236 char:5
$WebApp.Properties["portalsuperreaderaccount"] = $PortalSuperReader
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo
: InvalidOperation: (:) [], RuntimeException
+ FullyQualifiedErrorId : NullArray
ou cannot call a method on a null-valued expression.
t D:\myworkspace\bif\CreateSP2013ClaimsWebApplication.ps1:239 char:5
$SuperUserPolicy = $WebApp.Policies.Add($PortalSuperUser, "Portal Super
ser ...
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~
+ CategoryInfo
: InvalidOperation: (:) [], RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull
ou cannot call a method on a null-valued expression.
t D:\myworkspace\bif\CreateSP2013ClaimsWebApplication.ps1:242 char:5
SuperUserPolicy.PolicyRoleBindings.Add($WebApp.PolicyRoles.GetSpecialRole([
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~
+ CategoryInfo
: InvalidOperation: (:) [], RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull
ou cannot call a method on a null-valued expression.
t D:\myworkspace\bif\CreateSP2013ClaimsWebApplication.ps1:245 char:5
$SuperReaderPolicy = $WebApp.Policies.Add($PortalSuperReader, "Portal
uper ...
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~
+ CategoryInfo
: InvalidOperation: (:) [], RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull
ou cannot call a method on a null-valued expression.
t D:\myworkspace\bif\CreateSP2013ClaimsWebApplication.ps1:248 char:5
SuperReaderPolicy.PolicyRoleBindings.Add($WebApp.PolicyRoles.GetSpecialRole
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~
+ CategoryInfo
: InvalidOperation: (:) [], RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull
ou cannot call a method on a null-valued expression.
t D:\myworkspace\bif\CreateSP2013ClaimsWebApplication.ps1:251 char:5
$WebApp.Update()
~~~~~~~~~~~~~~~~
+ CategoryInfo
: InvalidOperation: (:) [], RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNullHi Benjamin,
If you're getting a Null Value error anywhere, that means a variable you're referencing isn't set to anything. If you're getting that try echoing out each variable after it's assigned to see if it's set to anything.
The link you are referring is for SharePoint 2010 and verified on Windows Server 2008 R2 and 2008, but not Windows Server 2012.
The approach in this case includes the following per the blog:
Check to see if a web application with the current specified URL is already in use – exit if it is
Check to see if an application pool with the name already exists. If so use it, otherwise create one
Create a web application based on the parameters specified
Assign the object cache properties to the new web application
Create policies for the object cache users to the web application
To simplified the code, we could use powershell below to check if web application and application pool have been already in use ahead. And skip the last two steps in the first time.
Get-SPWebApplication | fl displayname, applicationpool
Please refer to New-SPWebApplication
which is used to create a new web application within the local farm:
http://technet.microsoft.com/en-us/library/ff607931(v=office.15).aspx. Only two parameters i.e. ApplicationPool and Name are required, we could try a simple command at first:
Please run Get-SPManagedAccount to check the managed account, then execute the command below:
$ap = New-SPAuthenticationProvider
New-SPWebApplication -Name "Contoso Internet Site" -Port 2014 -ApplicationPool "ContosoAppPool" -ApplicationPoolAccount (Get-SPManagedAccount "Domain\Administrator")
-AuthenticationProvider $ap -SecureSocketsLayer
Regards,
Rebecca Tu
TechNet Community Support -
From schema 1 to schema 2 migration delegated admin problem
I want migrate from schema 1 to schema 2 the messaging server 6.2 ( jes 2005q1).
I have install access manager and delegated admin.
With the commdirmig I migrate the domain and schema , the messaging work correctly.
I have a problem with the delegated admin web interface.
The delegated don't view my domain. If I add the sundelegatedorganization objectclass I can view my domain on delegated admin but I can view user and group.
Any Idea?
TIA
Bye GiovanniThere are two very different products called "deletaged admin". The old iPlanet Delegated Admin (iDA) only works with Schema 1. The current Delegated Admin, that comes with JES3 only works with Schema 2.
If you're using the old iDA that worked with schema 1, it won't work with schema 2. You have to install the new DA for that.
It doesn't work with groups/lists, only with users and domains. -
Hi I am a novice struts user and I need HELP!
I have a string Description in a vector with I then throw at the JSP. Here I am using c:out stuff to get it to print...BUT I need only the first 100 chars or so following by elipses...I know that there is a scriplet for a string but I can't figure out the command for a struts.
Here is my code:
<%@ page language='java'%>
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c"%>
<html>
<head>
<title>Search Results</title>
</head>
<b> Results:</b><br><br>
<c:forEach var="record" items="${SearchProgram}">
<b> <c:out value="${record.acronym}"/> </b><br>
<a HREF="https://enweb.mitre.org/program.do?programId=<c:out value=${record.programId "/>"><c:out value="${record.longName}"/><br>
<a HREF="https://enweb.mitre.org/spo.do?spoPadId=<c:out value=${record.spoPadId"/>"> Mother SPO Homepage<br>
<c:out value="${record.description}"/><br><br> <!-- THIS IS WHERE I PRINT DESCRIPTION-->
</c:forEach>
</html>No easy way to do this in JSTL/JSP code.
Obviously you could use scriptlets record.getDescription().substring(0, 100)
The better solution would be to populate the description (or maybe a short description?) field with the shortened value.
ie add a method to your bean getShortDescription which gets the value you want. -
Appserver dies (Delegated Admin)
Hi,
Running an instance of the Messaging Q12005. No additional patches installed after installation. The problem we are facing is that periodically (once or more a day) the Delegated Admin web access is not reachable. It seems that the App. Server process dies because when I try to stop the App server using asadmin , it replies that it is not running, so after restarting the App server and the Access Manager admin server also restarted, the Delegated Admin Web access works again.
Any idea why this is hapenning ?Alas, I don't know much about troubleshooting App Server. Last time I even looked at it, I vaguely remember that it should be restarting itself.
I use the web server, as a container for DA,and have no such issues.
Does App Server dump core? Are you configured so it can? Have you opened a tech support case for this? -
Print PDF in Web application Designer(7.0).
Dear All,
The entire web application as displayed on the screen
For Example:
If two web items are "side-by-side" on the web application, then the first web item is printed to PDF and the second web item is appear underneath first web item in PDF.
Please suggest how to disply the two web items side-by -side in print PDF.
Regards,
GaneshHi Ganesh,
this is not possible because not all elements of WAD are printable. This topic has been disussed quite often over here, this post will probably help you:
Re: Unable to Print the whole Container which has other Web items in WAD
As mentioned in the above mentioned thread there is a more detailled explanation over here:
http://help.sap.com/saphelp_nw70ehp1/helpdata/en/43/68ce8391886e47e10000000a422035/content.htm
If there are questions please let us know.
Brgds,
Marcel -
Full craw issue with specific web application
We are using SharePoint 2013 Enterprise (15.0.4569.1000). We have public facing (publishing site) with anonymous access enabled on it. While crawling this site we are using default Content Source called "Local SharePoint sites" where we have following
settings.
Start Addresses - http://SP2013APPSRV
Crawl Settings - Crawl everything under the hostname for each start address
Crawl Schedules - Enable Incremental Crawls
With this configuration we try to perform Full Crawl of this content source. the status of this content source goes to "Starting" then to "Crawling Full" and after some time then to "Idle" state. The overall crawl duration never
goes beyond 3-4 minutes. With this if we check the "Crawl Log" screen then except for "Successes" = 1 every other column shows 0 even the "Errors" or "Top Level Errors" column shows no record. Getting into the Success
items we found that the crawling was only done for the single item which is nothing but the start address that was specified into the content source settings (http://sp2013appsrv). Because of this it seems the crawling is not working correctly to pull all
the sub contents of the given host URl, instead it only pulls the top level link. There is nothing helpful in Verbose - ULS logs or event viewer either.
With further analysis of this we found that this issue only exists with single web application only. Because adding another web application URL into the same Content Source does crawls all the contents properly of that web application but still shows single
index item for problematic web application.
Could someone please help us with this issue ?Hi Ajay,
Based on your description, you have some problems in doing full crawl of a specify web application.
1. Check if the crawl account has 'full read' access to affected web application.
2. Check if allow this site to appear in search results in the search and offline availability in the site setting.
3. Check if you have
opened the urlMappings in SharePoint that will hinder the search function crawls. If you add the code as below into the web.config to open the
urlMappings, it will not crawl the web application.
<urlMappings
enabled="true">
<clear
/>
<add
url="~/Home.aspx"
mappedUrl="~/Default.aspx?tab=home"
/>
<remove
url="~/Home2.aspx"
/>
</urlMappings>
4. Try to reset your search index and then do a full crawl.
The article gives you the details about how to reset your search index.
Best regards,
Victoria
Victoria Xia
TechNet Community Support -
For SharePoint 2013 App, how to request permission to host web for only 2 lists?
I find app permission requests are not granular enough. I see that there can be permission properties (key/value).
Is there any way to request permission to more than one list. It's not comforting for a site admin to grant an app permission to ALL lists or all items in a site collection, when only one resource is required.
Example of what the markup looks like in an app manifest:
<AppPermissionRequests>
<AppPermissionRequest Scope="http://sharepoint/content/sitecollection/web/list" Right="Write"/>
</AppPermissionRequests>
Thanks, Roy KimUPDATE:
I did some tests about that.
I found that:
- multiple Property elements in the same AppPermissionRequest
are not evaluated, it is only the first one
- with multiple AppPermissionRequest elements that use the same Scope (although they have different Rights) only the first one is
evaluated.
Regarding the property:
- ListId works with this syntax
Property
Name="ListId"
Value="{5532E789-ED99-403B-A0A9-F2E295536B7F}"
/>
- List does not work as expected.
Marco Rizzi @Avanade Italy http://blog.marcorizzi.com -
Access Denied Web Application with Claims authentication NTLM only when using secondary URL
I have a SharePoint 2010 server farm with 2 web front ends, an application server and a database server. Both front ends are internal to
our network and are not behind a load balancer.
NOTE THAT I HAD TO SUBSTITUTE hzzp with hzzp so that I had no links in the body of this post since I am not verified
I setup a new web application called "SharePoint 41171" with:
Public URL:
hzzp://testserver1:41171
Claims authentication
NTLM only: no forms auth
No SSL
New web site "SharePoint 41171"
New app pool
New content database
I create a top level site collection and name mydomain\myusername as the primary site collection admin
I am able to access this site as expected at
hzzp://testserver1:41171 with the aforementioned site collection owner id: mydomain\myusername
I add an alternate access mapping for a secondary URL for this web application in the Intranet zone:
hzzp://iwatest.mydomain.com
So my AAMs for the site read as:
hzzp://testserver1:41171
Default hzzp://testserver1:41171
hzzp://iwatest.mydomain.com
Intranet hzzp://iwatest.mydomain.com
When I attempt to log on to
hzzp://iwatest.mydomain.com with the same user name and password, I get "access denied".
I can access this site using
hzzp://iwatest.mydomain.com if I log in as the farm account. This is the only account that seems to work.
Side Note: If I create a separate web application without claims - just NTLM and create the same AAMs, I can login fine with the same secondary
URL and the same user name
IP address properly maps to this machine.
I reviewed the ULS logs and find the following:
10/30/2012 16:20:23.45 w3wp.exe (0x0E78)
0x1724 SharePoint Foundation Monitoring
nasq Medium Entering
monitored scope (Request (GET:hzzp://iwatest.mydomain.com:80/_layouts/AccessDenied.aspx?Source=hzzp%3A%2F%2Fiwatest%2Emydomain%2Ecom))
10/30/2012 16:20:23.45 w3wp.exe (0x0E78)
0x1724 SharePoint Foundation Logging Correlation Data
xmnv Medium Name=Request (GET:hzzp://iwatest. mydomain.com:80/_layouts/AccessDenied.aspx?Source=hzzp%3A%2F%2Fiwatest%2Emydomain%2Ecom)
8f313b5e-8476-4dd4-9abe-0cb6dbe024b6
10/30/2012 16:20:23.45 w3wp.exe (0x0E78)
0x1724 SharePoint Foundation Logging Correlation Data
xmnv Medium Site=/ 8f313b5e-8476-4dd4-9abe-0cb6dbe024b6
10/30/2012 16:20:23.45 w3wp.exe (0x0E78)
0x1724 SharePoint Foundation General
8e2s Medium
Unknown SPRequest error occurred. More information: 0x80070005 8f313b5e-8476-4dd4-9abe-0cb6dbe024b6
10/30/2012 16:20:23.45 w3wp.exe (0x0E78)
0x1724 SharePoint Foundation Monitoring
b4ly Medium Leaving
Monitored Scope (Request (GET:hzzp://iwatest.mydomain.com:80/_layouts/AccessDenied.aspx?Source=hzzp%3A%2F%2Fiwatest%2Emydomain%2Ecom)). Execution Time=8.66003919492561 8f313b5e-8476-4dd4-9abe-0cb6dbe024b6
Basically it tells me that access is denied. I didnt see anything that stood out here.
I found this article:
hzzp://social.technet.microsoft.com/Forums/en-US/sharepointadminprevious/thread/ded9188b-ee03-4ef0-bb50-3ad138110e0c, which pointed me in the direction of ensuring that the portal
super user and portal reader accounts were properly added to my web application. I followed the every popular article on doing this:
hzzp://technet.microsoft.com/en-us/library/ff758656.aspx, but still no luck. As per the thread, I added the 2 domain accounts to the user policy with appropriate privilege
and then set them as the super user and super reader accounts via powershell, and yes I did prefix those names with "i:0#.w|mydomain\". To be exta sure, I repeated this for all web applications on this server with slightly different powershell steps
depending on wether or not claims was enabled on the web application.
The Claims to Windows Token Service is running.
I saw some mention of ensuring that the secure token service is running with a proper application pool account, but we are not running that service
and I cant imagine what that would have to do with my situation.
I have deleted and readded the web application and repeated these steps to no better effect.
I gave the mydomain\myusername full control for the web application through the user policy, ensured that it was indeed the primary site collection
owner and added it to the default site owners group. None of this helped.
I changed the application pool account to the farm account. No change in behavior.
Rebooted IIS and the machines many times along the way.
Further, when I attempt to sign in as a different user after being denied, I get "an unexpected error has occured message. I found the following
in ULS:
10/30/2012 11:19:03.71 w3wp.exe (0x182C)
0x1210 SharePoint Foundation Logging Correlation Data
xmnv Medium Name=Request (GET:hzzp://iwatest.mydomain.com:80/_layouts/accessdenied.aspx?loginasanotheruser=true&Source=hzzp%3A%2F%2Fiwatest%2Emydomain%2Ecom)
cc409ec2-4889-42fa-aa7d-9cc4535e4f0e
10/30/2012 11:19:03.71 w3wp.exe (0x182C)
0x1210 SharePoint Foundation Logging Correlation Data
xmnv Medium Site=/ cc409ec2-4889-42fa-aa7d-9cc4535e4f0e
10/30/2012 11:19:03.72 w3wp.exe (0x182C)
0x1210 SharePoint Foundation General
8e2s Medium Unknown SPRequest error occurred.
More information: 0x80070005 cc409ec2-4889-42fa-aa7d-9cc4535e4f0e
10/30/2012 11:19:03.72 w3wp.exe (0x182C)
0x1210 SharePoint Foundation Runtime
tkau Unexpected System.NullReferenceException: Object reference not set to an instance
of an object. at Microsoft.SharePoint.ApplicationPages.AccessDeniedPage.LogInAsAnotherUser() at Microsoft.SharePoint.ApplicationPages.AccessDeniedPage.OnLoad(EventArgs e) at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) cc409ec2-4889-42fa-aa7d-9cc4535e4f0e
10/30/2012 11:19:03.74 w3wp.exe (0x182C)
0x1210 SharePoint Foundation Monitoring
b4ly Medium Leaving Monitored Scope (Request (GET:hzzp://iwatest.mydomain.com:80/_layouts/accessdenied.aspx?loginasanotheruser=true&Source=hzzp%3A%2F%2Fiwatest%2Emydomain%2Ecom)).
Execution Time=22.5439266722447 cc409ec2-4889-42fa-aa7d-9cc4535e4f0e
By the way, this occurs for the farm account also after a successful login and an attempt to sign in as a different user.
Any help would be greatly appreciatedThanks spadminspadmin:
I have, though I am not sure that what I've added there is correct:
The URL that I am trying to use to access the web application's IIS site is hxxp://iwatest.mydomain.com. I added a binding to the IIS site as follows:
Type Host name port IP address
http iwatest.mydomain.com 41171 *
Is that correct? -
Web Application working correctly only with Everyone user added to user privilages
Hello,
I have an web application in Sharepoint 2013 which only works correctly with the Everyone (Read Only) user added to User Privileges in Central Admin.
If I remove Everyone user from user privileges, user domains, that are added to access groups in Site Permissions, are directed to Request Access page of the site. I cannot understand how is this happening, specially because I have other Web App on the same
server which are working correctly.
Could you please advice me how could I trace the problem and resolve it.
Thank you!Hi Bogdan,
According to your description, my understanding is that Everyone user cannot access the web application except adding the account to user policy of the web application in Central Administration.
I recommend to check if the Super Reader account has been given the Full Read permission on the web application in Central Administration.
If not, add the account to the User Policy of the web application and grant Full Read permission to the account.
Best regards.
Thanks
Victoria Xia
TechNet Community Support
Maybe you are looking for
-
Goos issue through MIGO based on work order problems
Hi All, Can any one guide me how to overcome the error"Purchasinh Info record not found in purchasing organisation 2434" while doing Goods(consignment materials) Issue through MIGO transaction based on work order. How to create the Purchase Info reco
-
Adding LPD printer OSX10.6.2 to Airport Extreme + ethernet hub
I have a GCC Elite XL 20/600 connected by ethernet to a hub which is connected to my Airport Extreme. This setup was working fine with OSX10.4.11 using AppleTalk, Local Zone with a PPD proviced by GCC. Now that AppleTalk is gone, I'm supposed to set
-
System I/O Operation Time-out
I am running iTunes 6.0.5 for Windows. When I try to sync to load about 200 songs on my iPod nano (1st generation)I get the error "The specified I/O operation on drive G: was not completed before the time-out period expired." If I am lucky I might ge
-
Awaiting approval status in SC
Hi experts, we have set up a new system for testing.(SRM 5)when the user creates a SC it goes for approval.So based on the workitem i went to SWIA and completed the approval manually. still the shopping cart status is Awaiting approval. If i am missi
-
I want to find the root directory for a png file on my Macbook air
I am using html to make a website and want to use a png on my macbook but need the root directory for the image source. I am not sure how to get this, can anyone tell me how?