Monitor resources of a Web app ?
In WL 6.1, is there a way of monitoring in real time (or at short intervals) the resources
taken by a web app ? Some measuring metrics I would like to see are : how much memory,
cpu utilization, disk or database access, execution time, etc ...
Displaying them in a graph would be nice.
I notice that there is a "monitoring" tab for the Web application, but I don't know
how to view the numbers in real time and graphically. Does anyone know how ? Is
there a third party tool for monitoring ?
You can do it, using JMX and the appropriate Weblogic MBean. Read the
docs on JMX and look at how the console is built.
To quickly see the available MBeans, deploy the war from
http://dima.dhs.org/misc/StartHtmlAdaptor.jsp
and connect to the machine:8082 with the browser. Excellent tool.
On 10 Jul 2002 12:06:38 -0700, "athooya" <[email protected]> wrote:
>
In WL 6.1, is there a way of monitoring in real time (or at short intervals) the resources
taken by a web app ? Some measuring metrics I would like to see are : how much memory,
cpu utilization, disk or database access, execution time, etc ...
Displaying them in a graph would be nice.
I notice that there is a "monitoring" tab for the Web application, but I don't know
how to view the numbers in real time and graphically. Does anyone know how ? Is
there a third party tool for monitoring ?
Similar Messages
-
How to locate a resource in a Web app in Weblogic 5.1
I am running Weblogic 5.1 with sp10 in SunOS 5.7. I am trying to load
a resource (a property file) by calling a function like this.
InputStream In = getClass().getClassLoader().getResourceAsStream("/xyz.properties");
This function is being called by a servlet loaded in a Servlet context
in a Web application say "Test".
Actually the same is not called directly by the Servlet but a class
which the servlet calls instead.
My question is where can i put the property file for it to locate.
To my knowledge as per Servlet2.2 specification the resource will be
loaded if it is in the /WEB-INF/classes or /WEB-INF/lib directory of
the webapp.
But surprisingly it is not able to locate the same resource in that
path.
If i put the same property file in some directory which is in
WEBLOGIC_CLASSPATH, then the same gets loaded.
Could anyone please clarify what is happenning here and what is that i
have got it wrong if any ..!
Thanks in advance.
Venky
Hi Ramien,
you must specify a path, but this may also be relative, and that means also be empty; for details:
<i>A pathname, whether abstract or in string form, may be either absolute or relative. An absolute pathname is complete in that no other information is required in order to locate the file that it denotes. A relative pathname, in contrast, must be interpreted in terms of information taken from some other pathname. By default the classes in the java.io package always resolve relative pathnames against the current user directory. This directory is named by the system property user.dir, and is typically the directory in which the Java virtual machine was invoked.</i>
See http://java.sun.com/j2se/1.4.2/docs/api/java/io/File.html for further details.
Hope it helps
Detlev -
Can't deploy web app with resource: New source location
I can't deploy a web app (.war) if I already have a resource (.rar) deployed, weblogic
7.0 reports
weblogic.management.ManagementException: New source location, C:\projects\j2ee\dev\ra\dist\rware.war,
cannot be deployed to configured application, rware. Application source is at
C:\projects\j2ee\dev\ra\dist.
at weblogic.management.deploy.DeployerRuntime.validatePath(DeployerRuntime.java:786)
at weblogic.management.deploy.DeployerRuntime.unprotectedActivate(DeployerRuntime.java:319)
at weblogic.management.deploy.DeployerRuntime.access$0(DeployerRuntime.java:282)
at weblogic.management.deploy.DeployerRuntime$1.run(DeployerRuntime.java:947)
The resource works ok, and the web app does not use or reference
the resource (it's a simple servlet that just displays a message), so why is there
an interdependence?
Thanks! We'll follow up on this.
>
>I discovered the cause - the .war and .rar both had the same
>filename root, i.e. myFilename.war and myFilename.rar. I
>solved the problem by changing the .war to myFilenameWeb.war.
>
>And yes, this is with WLS 7.0.
>
>"Deb June" <[email protected]> wrote:
>>
>>Hi Glen,
>>
>>Could you please describe the steps that you took to get this?
>>
>>Thanks!
>>
>>P.S. For others looking at this - it looks like this is using WLS 7.0.
>>
>>>
>>>I can't deploy a web app (.war) if I already have a resource (.rar)
>>deployed,
>>>weblogic
>>>7.0 reports
>>>
>>>weblogic.management.ManagementException: New source location, C:\projects\j2ee\dev\ra\dist\rware.war,
>>>cannot be deployed to configured application, rware. Application source
>>>is at
>>>C:\projects\j2ee\dev\ra\dist.
>>> at weblogic.management.deploy.DeployerRuntime.validatePath(DeployerRuntime.java:786)
>>> at weblogic.management.deploy.DeployerRuntime.unprotectedActivate(DeployerRuntime.java:319)
>>> at weblogic.management.deploy.DeployerRuntime.access$0(DeployerRuntime.java:282)
>>> at weblogic.management.deploy.DeployerRuntime$1.run(DeployerRuntime.java:947)
>>>
>>>The resource works ok, and the web app does not use or reference
>>>the resource (it's a simple servlet that just displays a message),
>so
>>>why is there
>>>an interdependence?
>>
>
-
We do a lot of web app/transaction monitoring and we have watcher nodes distributed globally. When we have connectivity issues at a site hosting a watcher node, the web monitors that target the watcher node in that site all alert even though all the other
watcher nodes are fine.
We'd like to reduce the noise from our web monitoring by having alerts fire only when a majority, or some other defined ratio, of watcher nodes are in an error condition. Is this possible, and if so, how?
For reference, we're running 2012 R2 and monitor hundreds of URLs. This list of URLs and watcher nodes is fairly dynamic, so we'd prefer to find a solution that doesn't require manual development (e.g. creating distributed apps), however if that's the only
path then it would also be good to know.First, disable the alerts from the web application that you have created.
Next, create a new distributed application. Use the 'Blank (Advanced)' template. When it comes to choosing the management pack, set it to be the same as the one used for the web monitor.
Once the distributed application designer has loaded, client the 'Add Component' button.
Give it a name - Something like 'Appname web monitor component group'
Choose the 'objects of the following type(s)' radio button. Navigate the tree:
Entity -> Logical Entity -> Perspective -> Web Application Perspective -> YOURWEBMONITOR
Tick the box next to the name of your web monitor.
Now, on the left, in the Objects bar, you should see the watcher nodes for your web application. Add ALL the watcher nodes into the component group by dragging them in.
Now save your distributed application.
Click the title of the component group that you have just created, down the bottom right of the window there will be a link called 'Configure Health Rollup'. Click that.
In the override properties window, Tick the box next to the 'Rollup Algorithm' and change the Override Value to Worst state of a percentage of members in good health state' and override 'percentage' value into your expected value.
OK the changes and then save the distributed application once again.
Before you exit the designer, note the name of the component group that you created.
Finally, we have to enable alerting for that component group. To do this, exit the designer and you should be back in the Authoring pane of the console.
Go to "Management Pack Objects\Monitors" in the console. Click on the Scope toolbar button to scope the view -
if a scope was previously active, this will disable the scoped view, so click the button again. You should be presented with a "Scope Management Pack Objects Window"
Click the "Clear All" button at the bottom of that window, then type in the
name of the component group that you noted down earlier into the search box. A single line should be displayed in the search results. Tick the box and click OK.
There should now be a yellow bar saying that the view has been scoped to your web application component group. Underneath will be a tree view of the monitors in your web applicaion.
Expand the tree view until you find a monitor called "Component Group Health Roll-up for type..."
Open the properties of that item, go to the alerting tab and
enable the "generate alerts for this monitor" checkbox.
You can then fill in the alert name and description as well as other things like severity and whether or not the alert will close when the monitor is healthy.
Roger -
Web App Monitor Dash board is blank after switching to paid subscription
Hello,
I have successfully created a web app, published it to azure, and have been monitoring it on the Monitor dash board with all the 6 metrics, cpu time, requests, data in, data out etc. ever since starting the trial, and have watched the metrics on the dashboard
show all the data without any problems.
This past weekend, we switched over to a paid subscription, and now the monitor dashboard is blank. No metrics are being shown, and I have all the previous metrics selected so they should be displayed in the window. I switched over to the "New Portal"
thinking that there may be an issue with the default management portal, but the new management portal is also blank.
We also have a SQL Azure database as well, and I am not having any problems viewing any of the metrics for the database from either the default management portal or the New portal?
Can anyone explain why this might be happening?
thanksHi,
I think this may be a Azure server issues, If your issue is still not fixed, then i would suggest you Open a Billing Ticket from portal by selecting portal errors and exceptions.
you can create a billing ticket
here.
I am also moving this thread to "Azure App Service - Web Apps" Forums for any other inputs from the respective community members.
Regards,
Nithin Rathnakar -
Accessing other webpage resources when the Adobe form is oppend in a web app
Hello,
We have a web application and part of that web page is a PDF form. How can I access the other web page frames contents? For example, if the I update a field inside the form, I want to be able to request the web app to update the other frame in the same web page.
Is this possible?
Regards,
YasserSet the display properties to HideMenubar or HideWindowUI either inside the PDF (e.g. with the itext library), or via pdf open params appended to the URL: http://partners.adobe.com/public/developer/en/acrobat/PDFOpenParams.pdf
Regards, Kolja -
Azure Web Apps extremely unstable following switch from VMs
Last week we made the switch from Azure VMs to Azure Web Apps (web sites). The main reason for doing so was to take advantage of continuous deployment, auto-scaling and deployment slots.
We have 4 web apps running on S2 instances (currently scaling up to 2 instances). We then have 4 other virtual machines that host our databases (RavenDB) and another web app that cannot be hosted on Web Apps. We're using VNETs to connect everything together.
Previously the entire system was hosted on just 2 virtual machines.
A week on we're finding
a) Performance has degraded
b) The Web Apps (and associated service) are increasingly unreliable
We used to deploy frequently throughout the day without issue. Since moving to Web Apps we regularly experience 503 errors for up to a minute following a deployment. We switched to staging slots to try and circumvent this but even this hasn't been foolproof.
We're now actually reluctant to deploy changes to our API during the day because it has been so unreliable.
Performance has also suffered - we're using New Relic for monitoring and our throughput has halved since moving to Web Apps despite the web apps actually having more resources than they did before.
Auto-scaling has also been very hit and miss. Our apps rarely put any load on CPU but they can use quite a lot of memory. We set up auto-scaling based on memory but rather unhelpfully the new portal changed our "less than or equal to" scaling rule
to "equal to" meaning that the instances never scaled down - thanks Azure! I believe this is still an issue in the portal.
We've gone from almost 6 months of 100% uptime to a week of regular issues. We deployed a new web app today and attached it to the same to virtual network used by our other apps and it caused a disruption in the other apps - our API could no longer contact
the virtual machine hosting RavenDB.
All-in-all this has not been a great experience and if it's a choice between reliability/performance and the bells and whistles that Azure Web Apps provide, I'll be going back to VMs.Hi David,
It's an ASP.NET Web API application and we're deploying with Web Deploy.
When we first switched to Web Apps and deployed directly to the "live" instance we found that we were getting 503 errors. There were no errors in our application logs (Elmah) so I'm assuming this is an issue outside of the application. We do have
250 or so sites that are serviced by the API so I would expect a slight delay whilst the application starts but certainly not a 503. In some cases we had to re-deploy (the same code) to get things back.
We then switched to using Staging Slots to try and avoid this issue. Whilst this avoided the 503 errors most of the time, the time it takes for the application to come back up following a deployment has increased dramatically - and this is despite "hot
swapping" from staging to production.
Yesterday I tested this by deploying to staging and then swapping the deployment. It took over 30 seconds following the swap before the API was available. When I used to deploy to the VM it was available almost immediately. -
Hi,
I am using WebLogic 8.1 platform. I am trying to create a very basic secure web
app.
I created an App and created a web project. In it, I deleted the controller, etc
and just have index. jsp. All the index.jsp does is: <%= request.getRemoteUser()
%>
In web.xml I have
<security-constraint>
<web-resource-collection>
<web-resource-name>Success</web-resource-name>
<url-pattern>*.jsp</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>*</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>default</realm-name>
</login-config>
<security-role>
<role-name>*</role-name>
</security-role>
In weblogic.xml I have
<security-role-assignment>
<role-name>dealers</role-name>
<principal-name>dealer1</principal-name>
</security-role-assignment>
When I run the app, it just renders the JSP and does not challenge me to login.
Can you please help what is that I am doing wrong here?
Thanks,
John"john hryn" <[email protected]> wrote in message
news:3fce2551$[email protected]..
>
Hi,
I am using WebLogic 8.1 platform. I am trying to create a very basicsecure web
app.
I created an App and created a web project. In it, I deleted thecontroller, etc
and just have index. jsp. All the index.jsp does is: <%=request.getRemoteUser()
%>
In web.xml I have
<security-constraint>
<web-resource-collection>
<web-resource-name>Success</web-resource-name>
<url-pattern>*.jsp</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>*</role-name>I think you should have dealers instead of *
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>default</realm-name>
</login-config>
<security-role>
<role-name>*</role-name>And here too.
</security-role>
In weblogic.xml I have
<security-role-assignment>
<role-name>dealers</role-name>
<principal-name>dealer1</principal-name>
</security-role-assignment> -
Office Web Apps is not working
Hi,
We have tried to deploy Office Web Apps Server but, after a number of tests, we haven't been able to view PowerPoint presentations. We tested "everything" but it didn't work.
Finally, to simplify and focus the problem, we just deployed Office Web Apps Server "on its own", that is: just Internal URL, HTTP, Open From URL Enabled and sharing docs from a shared folder in the same server. So we have:
\\wacserver\share\<Docs> (Excel, Word and PowerPoint)
http://wacserver
They work both "/hosting/discovery" and "/op/generate.aspx".
If we try to view Excel doc, it works. If we try to view Word or PowerPoint, id doesn't work.
For PowerPoint, it appears the PowerPoint Web Apps frame (FILE, START SLIDE SHOW, SLIDE - OF -, NOTES...) and, in the center, an animation
"PowerPoint Web App .....". After a couple of minutes, it stops with "Either you've lost network connectivity or our server is to busy to handle your request".
What we have seen from different sources:
FIDDLER
======
/op/view.aspx?... Response 200
/p/PowerPointFrame.aspx?... Response 200
/p/imagehandler.ashx?... Response 202
13 petitions to /p/ppt/view.svc/jsonAnonymous/GetPresentation Response 200
PROCESS MONITOR
==============
There were some folders and registry keys Network Service was trying to access with ACCESS DENIED response. We gave it permissions and they disappeared.
SYSTEM is trying to access some registry keys (SpellingWcfprovider.exe => HKU\S-1-5-18, ImagingService.exe => HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options, and 2 or 3 more). It gets an ACCESS DENIED
but SYSTEM, we have checked, has "Full control" permissions in those keys or folders.
These errors appear by Office Web Server running itself, although we are not making a PowrPoint file request.
ULS
===
Several times, it tries to find the PowerPoint presentation in the caché, doesn't find it, manage to get it but, when trying to put it in the cache, it receives a disk space error:
Determined file name [PowerPoint.pptx] from [\\wacserver\share\PowerPoint.pptx]
AFileFetcher: Starting Unc download at [\\wacserver\share\PowerPoint.pptx]
Begining UNC Download for [\\wacserver\share\PowerPoint.pptx]
Reading next block of bytes for [\\wacserver\share\PowerPoint.pptx]
End reading block of bytes for [\\wacserver\share\PowerPoint.pptx]
Reading next block of bytes for [\\wacserver\share\PowerPoint.pptx]
End reading block of bytes for [\\wacserver\share\PowerPoint.pptx]
AFileFetcher: Done downloading file. [\\wacserver\share\PowerPoint.pptx]
Downloaded file from final URL [\\wacserver\share\PowerPoint.pptx] with SHA256 [Y/whX0EzCZJQdHym/OPrMdrNVg0h8SwrC0TehaKIQdU=]
AFileFetcher: Will cache web file info to memory cache. [\\wacserver\share\PowerPoint.pptx]
Starting WriteStreamToDiskCache
Creating channel to DiskCache: http://wacserver:809/diskcache/DiskCache.svc
MachineTransfer [SourceMachine:wacserver, SourceMachineVersion:15.0.4543.1000, TargetMachine:wacserver, TargetMachineVersion:15.0.4551.1011, Method:DiskCacheService.PutCacheData]
PutCacheData: [167F6AC792AE9B53BEA7CD135A35C18F0710CF5916C49DD5804C9E29CF9149CA55D1C8D1AD526B45B91801E1502B2BCD, d1c8d155-52ad-456b-b918-01e1502b2bcd, 50758, wacserver]
PutCacheData: Writing to C:\ProgramData\Microsoft\OfficeWebApps\Working\d\1CA\167F6AC792AE9B53BEA7CD135A35C18F0710CF5916C49DD5804C9E29CF9149CA55D1C8D1AD526B45B91801E1502B2BCD
Not enough disk space to write. Sleeping once.
Not enough disk space to write. Giving up.
PutCacheData Response: [False]
The cache folder has enough disk size and PowerPoint.pptx file is just 30 KB.
It repeats this flow 3 times (as for the first HTTP requests).
During the 2 minutes test (until it fails) there are 14 traces like:
Failed to create process object for pid 7780 with exception System.ArgumentException: Process with an Id of 7780 is not running. at System.Diagnostics.Process.GetProcessById(Int32 processId) at Microsoft.Office.Web.Common.RequestPipe.ProcessManager.TryGetProcessObject(Int32
pid).
We have tried a number of things but none has worked. The farm has just one server and it says ist's unhealthy. We have Windows Server 2008 R2 SP1. We have read some ways to fix the health, like HTTP Activation feature, but it only works
for Windows Server 2012 as fas as we know.
Has anybody experienced something like this or have a posible solution? Office Web Apps Server should be so easy to deploy but we have spent a lot of time with this.
Thank you very much. Your help will be very appreciated.
Kind regards.Hi John,
According to your description, my understanding is that you cannot view the PowerPoint files in Office Web Apps in SharePoint.
Was there any error when you view the PowerPoint files in Office Web Apps?
You can troubleshoot the error following the link below:
http://technet.microsoft.com/en-us/library/ff431687.aspx#tshoot
I also recommend to re-configure SharePoint to use the Office Web Apps Server to see if the issue still occurs.
http://technet.microsoft.com/en-us/library/ff431687.aspx#ConfigureMain
Best regards.
Thanks
Victoria Xia
TechNet Community Support -
Possible to have two login configs in same web app?
Sorry for not having tried this first, my server and webapp are in a state
of flux at this moment, but I wanted to see what the consensus is out there,
not just whether I can or cannot make something work quickly.
If I have two types of things that might be called in my Web App (WAR) in
different ways (eg, browser accessing via HTTP by users that want to login
via pretty forms, and SOAP clients that may access functionality through the
same servlets (but with alternate Servlet Path Info after the servlet name
in the URL)), is there ANY way I can have multiple login configs, each tied
to a different security constraint within that web app?
In other words, with a servlet of /frazzleblitz and security constraints
like:
<security-constraint>
<web-resource-collection>
<web-resource-name>Foo</web-resource-name>
<url-pattern>/frazzleblitz/doFooBar</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>FoobarBrowserUsers</role-name>
</auth-constraint>
</security-constraint>
and the SOAP constraint (for all users of incoming SOAP requests):
<security-constraint>
<web-resource-collection>
<web-resource-name>Foo</web-resource-name>
<url-pattern>/frazzleblitz/doFooBar</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>FoobarBrowserUsers</role-name>
</auth-constraint>
</security-constraint>
where my frazzleblitz controller knows whether the incoming request is
browser vs SOAP based by the path info after the servlet name
Can I associate the first security constraint with a FORM based login
config, and the second security constraint with a BASIC AUTH login config
since I could in theory require SOAP clients to send in credentials in a
HTTP BasicAuth header, but I can't expect a SOAP client to be HTTP
Redirected to a login form and then to enter the right credentials into a
user type form and then be redirected back to an app...
Seems to me the J2EE Security spec is really lacking in the area of
programmatic authentication (allowing my SOAP code to get credentials out of
the request envelope and call an API to login myself). Yeah, WebLogic has
the ServletAuthentication weak() API, but these apps need to be J2EE
compliant and work across J2EE servers... Anybody know of any improvements
coming in the J2EE security space to address such functionality needs?
Thanks in advance
MikeSorry, hit send accidentally before finishing the second security
constraint - I've fixed it up below to reflect what I meant...
"Mike" <[email protected]> wrote in message
news:[email protected]...
Sorry for not having tried this first, my server and webapp are in a state
of flux at this moment, but I wanted to see what the consensus is outthere,
not just whether I can or cannot make something work quickly.
If I have two types of things that might be called in my Web App (WAR) in
different ways (eg, browser accessing via HTTP by users that want to login
via pretty forms, and SOAP clients that may access functionality throughthe
same servlets (but with alternate Servlet Path Info after the servlet name
in the URL)), is there ANY way I can have multiple login configs, eachtied
to a different security constraint within that web app?
In other words, with a servlet of /frazzleblitz and security constraints
like:
<security-constraint>
<web-resource-collection>
<web-resource-name>Foo</web-resource-name>
<url-pattern>/frazzleblitz/doFooBar</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>FoobarBrowserUsers</role-name>
</auth-constraint>
</security-constraint>
and the SOAP constraint (for all users of incoming SOAP requests):
<security-constraint>
<web-resource-collection>
<web-resource-name>Bar</web-resource-name>
<url-pattern>/frazzleblitz/doSOAPRequest</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>SOAPUsers</role-name>
</auth-constraint>
</security-constraint>
where my frazzleblitz controller knows whether the incoming request is
browser vs SOAP based by the path info after the servlet name
Can I associate the first security constraint with a FORM based login
config, and the second security constraint with a BASIC AUTH login config
since I could in theory require SOAP clients to send in credentials in a
HTTP BasicAuth header, but I can't expect a SOAP client to be HTTP
Redirected to a login form and then to enter the right credentials into a
user type form and then be redirected back to an app...
Seems to me the J2EE Security spec is really lacking in the area of
programmatic authentication (allowing my SOAP code to get credentials outof
the request envelope and call an API to login myself). Yeah, WebLogic has
the ServletAuthentication weak() API, but these apps need to be J2EE
compliant and work across J2EE servers... Anybody know of anyimprovements
coming in the J2EE security space to address such functionality needs?
Thanks in advance
Mike -
How do I change the context-root of a web app with a deployment plan?
I've been trying to figure this out for several hours.
I'm deploying a .ear file which sets the context root for the single web application it deploys in its application.xml deployment descriptor:
<application>
<display-name>MyApp</display-name>
<module>
<web>
<web-uri>MyAppViewControler.war</web-uri>
<context-root>MyApp</context-root>
</web>
</module>
</application>
I want to change the context-root from /MyApp to something else when deploying the ear file. It seemed to me that using a deployment plan was the way to do this. But when I use this plan:
<deployment-plan>
<application-name>MyApp<application-name>
<variable-definition>
<variable>
<name>NEWCONTEXTROOT</name>
<value>foobar</value>
</variable>
</variable-definition>
<module-override>
<module-name>MyApp</module-name>
<module-type>ear</module-type>
<module-descriptor external="false">
<root-element>application</root-element>
<uri>META-INF/application.xml</uri>
<variable-assignment>
<name>NEWCONTEXTROOT</name>
<xpath>/application/module/web/context-root</xpath>
</variable-assignment>
</module-descriptor>
</module-override>
</deployment-plan>
I get an error:
weblogic.descriptor.DescriptorException: VALIDATION PROBLEMS WERE FOUND
/bea/user_projects/domains/devod1/nullplan.xml:0: problem: cvc-complex-type.2.4a: Expected element 'web-uri@http://java.sun.com/xml/ns/javaee' instead of 'context-root@http://java.sun.com/xml/ns/javaee' here in element web@http://java.sun.com/xml/ns/javaee:<nullplan.xml>
I looked at http://e-docs.bea.com/wls/docs103/pdf/deployment.pdf which says:
"You cannot use a deployment plan to change the context-root in an application.xml
file. However, if an application is deployed as a library, you can either change the
context-root through an weblogic-application.xml file or use the deployment plan
to change the context-root in an weblogic-application.xml file."
I don't understand what this means. I'm not deploying my application as a library.
Does anyone know how to change the context-root for an application?
Any help would be greatly appreciated!Hi James,
I am quite new to Welogic if i am wrong please correct me.I have re-deployed my application (.war) with this Plan.xml
<?xml version='1.0' encoding='UTF-8'?>
<deployment-plan xmlns="http://www.bea.com/ns/weblogic/deployment-plan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.bea.com/ns/weblogic/deployment-plan http://www.bea.com/ns/weblogic/deployment-plan/1.0/deployment-plan.xsd" global-variables="false">
<application-name>BrowserR08.003</application-name>
*<variable-definition>*
* <variable>*
* <name>CONTEXTROOT</name>*
* <value>BrowserWeb/servlet/BrowserServlet</value>*
* </variable>*
* </variable-definition>*
<module-override>
<module-name>BrowserWeb.war</module-name>
<module-type>war</module-type>
<module-descriptor external="true">
<root-element>weblogic-web-app</root-element>
<uri>WEB-INF/weblogic.xml</uri>
<hash-code>1231953167814</hash-code>
*<variable-assignment>*
* <name>CONTEXTROOT</name>*
* <xpath>/weblogic-web-app/context-root</xpath>*
* <operation>add</operation>*
* </variable-assignment>*
</module-descriptor>
<module-descriptor external="false">
<root-element>web-app</root-element>
<uri>WEB-INF/web.xml</uri>
</module-descriptor>
<module-descriptor external="true">
<root-element>wldf-resource</root-element>
<uri>META-INF/weblogic-diagnostics.xml</uri>
</module-descriptor>
</module-override>
<config-root>/export/home1/tecapp/BrowserR08.003/plan</config-root>
</deployment-plan>
I do not know wether i will require the other module descriptor definition in this Plzn.xml. Now when I go to following link.
Deployments --> MyApp --> Testing
It gives me following url as a test page:
http://localhost:7001/BrowserWeb/servlet/BrowserServlet
as soon as i click on to the above link it redirects me to following.
http://localhost:7001/BrowserWeb/servlet/BrowserServlet/servlet/BrowserServlet
Same if i remove these context-root part my normal Testing menu shows me following link as my webapp access path
http://localhost:7001/BrowserWeb <-- My war file name is BrowserWeb.war so it is default name of my deployed application if i am not wrong
and as soon as i click on above link it redirects me to the following one.
http://localhost:7001/BrowserWeb/servlet/BrowserServlet
It means application server know that my full web access page is with '*servlet/BrowserServlet*' because its adding it in both the cases.
What I want is a constant URL whcih does not change?
Hope this helps :) -
Hello,
I am working on knowledge base entries for developing Web Applications with Sun ONE Studio. I would be interested in whether any of the following are helpful.
Also, are there other entries you think should be added? Other comments? Corrections?
Thanks
Web Apps FAQ
Creating a Web Application
Q: Where do I put my JSP files in my web module.
A: JSP files can go into the web module's document base directory or any
of its subdirectories except for the subdirectories under WEB-INF. For example,
the following is correct:
correctWebModStructure
+ login.jsp
++ JSP_files
+++ shop.jsp
+ WEB-INF
++ Classes
++ lib
++ web.xml
The following is incorrect:
incorrectWebModStructure
+ WEB-INF
++ login.jsp
++ JSP_files
+++ shop.jsp
++ Classes
++ lib
++ web.xml
Note that with the incorrect structure, the JSP files will compile but
they will not run on a server.
Q: Where should I put my servlet source and binary files when I create
and execute a web module from the IDE?
A: Your compiled classes must go in the appropriate package directory
under <web mod document root>/WEB-INF/Classes. The easiest place to
put the source code is in the same directory as the compiled class. To
put your source code in a different directory, see "Can I put my source code in
a different directory from WEB-INF/classes?"
Note that when a class is imported by another class or by a JSP file, the
class MUST be in a named namespace (package).
Q: Where do I put my libraries (JAR files) in a web module?
A: You can put the libraries in one of several places:
o If the JAR file will be used only by the module, put it in the
WEB-INF/lib directory.
o If the JAR file will be shared by multiple web modules look at the server's
documentation to find out how to make the library available across web
modules.
- If you are using the Sun One Application server, you can either copy
the JAR into the <instance_dir>/lib directory (such as
<AppServerInstallDir>\domains\domain1\server1\lib) or edit the
classpath-suffix attribute of the java-config element in the
server.xml file. For details about server.xml, see the Sun ONE Application
Server Administrator�s Configuration File Reference. You must
restart the server.
- If you are using the internal Tomcat server, put the JAR file into one of
the following directories:
<ide-install-dir>/jwsdp/lib/
<ide-install-dir>/jwsdp/common/classes
<ide-install-dir>/jwsdp/common/lib/
<ide-install-dir>jwsdp/shared/classes
<ide-install-dir>/jwsdp/shared/lib/
Note that for compilation, a JAR file must either be mounted as as an
archive file or the JAR file must be put into <ide-install-dir>\lib\ext.
When you add a JAR file to WEB-INF/lib directory tree, the IDE mounts
the JAR file for you automatically.
Q: Can I put my source code in a different directory from WEB-INF/classes?
A: Yes. For example, say you have a directory structure as follows:
myWebApp
+ WEB-INF
++ Classes
+++ myPkg
+ src
++ myPkg
1. In the Filesystems tab, mount myWebApp and separately mount src.
The Explorer should look like this:
<path>/myWebApp
<path>/myWebApp: /WEB-INF/classes <-IDE automatically mounts this
<path>/src
2. Open Tools > Options > Building > External Compilation and select this Target:
<path>/myWebApp: /WEB-INF/classes
(By default, this setting is project wide, if you click the >> column, you
can set it at the user or default level.)
3. Whenever you create a Java file under /WEB-INF/classes, the IDE automatically
adds a servlet entry and a mapping in the web.xml. Because you are putting
your source elsewhere, you will have to enter these entries manually, or do
the following.
1. Right-click the web.xml node, and choose Properties.
2. In the Deployment panel of the web.xml properties window,
click the ellipses (...) in the Servlets value field to display
the Servlets Property editor.
In Servlets Property editor, click Add to display the Add Servlet dialog box.
In the Add Servlet dialog box, type, or browse for, the servlet class name.
Type in the name by which you want to identify the servlet.
3. Click the Edit button for Mappings and add the mapping for the servlet.
4. Click OK to close the Add Servlet dialog box, then click OK to close
the Servlets property editor.
Note: If you don't add the web.xml entries, you might get an error like the
following:
"The requested object does not exist on this server.
The link you followed is either outdated, inaccurate,
or the server has been instructed not to let you have it.
Please inform the site administrator of the referring page."
Q: Why do I get invalid package name when I try to add a package to my
web module.
You have two options for creating packages in a web module.
1. Create a package in a subdirectory of WEB-INF/classes.
2. Create a package in a directory that is not in the WEB-INF tree and
put the compiled class in the WEB-INF tree. For example, if you have the
following directory structure, set the compilation target to WEB-INF/classes.
myWebMod
+ src
++ pkg1
+ WEB-INF
++ classes
+++ pkg1
++ lib
In either case, the WEB-INF/classes directory must be mounted. The IDE
does this automatically when you create a web module or turn a directory
into a web module.
To set the compilation target, choose Tools > Options > Building >
External Compilation and select the target. In this example, you would
select:
<path>/myWebMod: /WEB-INF/classes
Do not use a directory structure like this:
myWebMod
+ WEB-INF
++ src << wrong
++ classes
You can alternatively keep your source code in the appropriate package
directory under WEB-INF/classes.
Editing JSP Files
Q: JSP code completion does not work now that I use the Jakarta recommended
directory structure and use Ant to build and deploy my web applications? Can
I fix this?
To make code completion work, you must mount the following libraries and
directories in the Filesystems tab of the Explorer window. Mounting a parent
directory does not work.
* <working-directory>/src
* <working-directory>/build
* Every .jar file that is copied by the build script to
<working-directory>/build/WEB-INF/lib. (The IDE automatically mounts
all the jar files in WEB-INF/lib when you mount working-directory/build.)
* Any other libraries that are used by the web application, such as
libraries that have been deployed to the server.
Deploying a Web Application
Q: Can I change the URL that is used to execute a JSP page? For example,
instead of http://localhost/welcome.jsp, can I have the URL be
http://localhost/shopping/welcome.jsp?
A: Yes, right-click on the WEB-INF and choose Properties from the contextual
menu. In the Properties window, type /<name>. For example, type
/shopping
Note that youu can use servlet mappings in the web.xml file to control the
mappings of URLs to servlets.
Q: Is there a way to copy the compiled code to the server for testing
without having to create a WAR file?
A: Yes, this is the default action when you right-click the WEB-INF
node and choose Deploy from the contextual menu.
With Internal and External Tomcat installations, the deploy action causes
the IDE to change the server's configuration file to add a context entry,
which points to the document root of your working version of the web
application. For example
/myApp -> C:\My Working Directory\myApp
When you deploy to the Sun ONE application server using the IDE's Deploy
action, the IDE copies the web application's directory structure to
the server's <instance>/applications/j2ee-modules directory.
Q: How do I create a WAR file and deploy the WAR file onto different servers.
A: To create a WAR file, right click the WEB-INF node and choose Export WAR
file. See the online help for details about adding and filtering out
components.
Look at the server's documentation to find out how to deploy the WAR file
to the server. Here is an example of deploying a WAR file to the Sun ONE
Application Server 7:
asadmin deploy user myusername password mypassword \
-host localhost port 4848 type web contextroot /myApp instance server1 \
c:\apps\myapp.war
Note that when you deploy to a server that is registered with the IDE,
you do not need to create a WAR file. Instead, you can right-click on the
WEB-INF node and choose Deploy.
Compiling a Web Application
Q: Why do I get compiler errors when I compile from the IDE even though
I don't get errors when I compile from the command line?
As the IDE's classpath is derived from the mounted filesystems, the problem
is most likely caused by not mounting the necessary filesystems. For the
following web app, you must mount in the Explorer AWebApp, WEB-INF/classes
(this directory is mounted automatically when you create a web app or
turn a directory into a web app), and every JAR file in the WEB-INF/lib
directory (which is also done automatically). Note that all classes and
JAR files that the application needs must be in AWebApp/WEB-INF or
AWebApp/lib or the server's location for shared libraries and classes.
Otherwise, the module may compile but it won't run in the server.
AllMyWebApps
+ AWebApp
++ WEB-INF
+++ classes
+++ lib
++++ a.jar
++++ b.jar
Q: Why do I get a "cannot resolve symbol" compiler error message for my JSP.
A: Check the import statements in your JSP file. The import statement must
specify the fully qualified class name (package name plus class), and the
class must be in a namespace. The namespace restriction is because the Javac
bytecode compiler in J2SE 1.4.0 is more strict than in previous
versions in enforcing compliance with the Java Language Specification,
and thus rejects import statements that import a type from an unnamed namespace.
Valid import statement:
<%@page import="org.alpha.beta.MyBean" %>
Also, make sure your compiled classes are in a subfolder of
<web-module>/WEB-INF/classes, such as, for the above bean,
<web-module>/WEB-INF/classes/org/alpha/beta/MyBean.class.
Note that you will also get this error if you have created a link under
WEB-INF/classes to a package in another directory. Your package must
physically exist in the WEB-INF/classes directory.
Q: Why do I get " '.' expected" when my JSP is compiled.
The Javac bytecode compiler in J2SE 1.4.0 is more strict than in previous
versions in enforcing compliance with the Java Language Specification, and
thus rejects import statements that import a type from an unnamed namespace.
For example, if you have an import statement like the following, the compiler
expects the imported class to be in a package. Therefore, the compiler
assumes that MyBean is a package and expects the package name to be followed
by a period (.) and either a subpackage or a class. To resolve the problem,
put the bean in a package.
INVALID IMPORT STATEMENT:
<%@page import="MyBean" %>
VALID IMPORT STATEMENT
<%@page import="MyPackage.MyBean" %>
Q: Why do I get a package does not exist error message when the package exists?
A: The problem might be that you have not mounted the web module at the
correct point. You must mount the directory that is directly above the WEB-INF
directory. For example, if you have the following directory structure
you must mount the webApp1 filesystem. When you specifically mount
webApp1, the IDE recognizes the filesystem as a web module. The IDE
automatically mounts WEB-INF/classes, so that it is in the IDE's classpath,
and provides the execute and deploy actions when you right-click on the
WEB-INF node:
allMyWebApps
+ webApp1
++ WEB-INF
+++ Classes
++++ myPkg
You can also get this error message when you do not put your Classes directory
under WEB-INF. For example, if you put the Classes directory in web-info, you
will get this error message.
You will get this error if you have created a link under WEB-INF/classes
to a package in another directory. Your package must physically exist in
the WEB-INF/classes directory.
Running Web Applications
Q: Why do I get the 404 error message "The requested resource is not available"?
Why do I get the error message "The requested object does not exist on
this server"?
A: If you get either of these errors on a servlet, check the servlet's entry
in the web.xml. The entry should be similar to the following:
<servlet>
<servlet-name>myServlet</servlet-name>
<servlet-class>org.alpha.beta.MyServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>myServlet</servlet-name>
<url-pattern>/MyServlet</url-pattern>
</servlet-mapping>
The name can be any name as long as it is the same in both mappings.
The class must be the fully qualified class name. The pattern
must be a pattern that matches the URI that invokes the servlet. In
this case, the pattern matches the URI http://localhost:8081/MyServlet.
Q: Why do I get a Generated Servlet error "Class not found."
A: This error can occur if the class is not in a package. To resolve the
problem, put the class in a package.
If the class is in a package and you still get this message,
check the import statements in your JSP file. The import statement must
specify the fully qualified class name (package name plus class).
For example:
<%@page "org.alpha.beta.CustomerBean" %>
Q: Why do I get the error message "Unable to load class" when my JSP calls
a class from a library?
This message usually appears because the library's JAR file is not in the
WEB-INF/lib directory. The server expects all of the web app's JAR files
to either be in the WEB-INF/lib directory or in the server's
shared library directory.
For more information, search for the "File Location in a Web Module" topic
in the online help.
Q: Why do I get an error message during JSP compilation that a tld file is not
found when the file is there?
A: The problem might be that you have not put the tld file in the correct
place. It should go in the WEB-INF directory.
This problem also happens if have not mounted the web module at the
correct point.
You must mount the directory that is directly above the WEB-INF directory. For
example, if you have the following directory structure you must mount the
myWebApp1 filesystem. When you specifically mount webApp1, the IDE recognizes
the filesystem as a web module. The IDE automatically mounts WEB-INF/classes,
which in turn adds the path to the IDE's classpath and provides the execute
and deploy actions when you right-click on the WEB-INF node:
allMyWebApps
+ webApp1
++ WEB-INF
+++ Classes
++++ myPkg
Another cause of the problem could be that the uri in your taglib statement
is incorrect. For example, this statement is wrong:
<%@ taglib uri="struts-html.tld" prefix="html" %> <- Incorrect
Instead, it should be:
<%@ taglib uri="WEB-INF/struts-html.tld" prefix="html" %> <- Correct
Q: Why do I get a java.lang.ClassNotFoundException when I run my JSP file?
Everything compiles successfully and the source editor does JSP code completion
for the class. However, when I execute, the runtime system can't find the new
classes.
A: There are several causes of this error. Here are some things to check.
1. If the class is in a library, make sure the JAR file is in the
WEB-INF/lib directory or the server's directory for shared libraries.
Otherwise, make sure the class is in a package under the WEB-INF/Classes
directory.
When compiling, the IDE builds the classpath from the mounted filesystems.
However, when you use the deploy action, the IDE only deploys the classes,
libraries, and files that are stored in the mounted web module.
2. Make sure all usebean statements use a fully qualified name for
the class name.
WRONG:
<jsp:useBean id="myBean" class="MyBean" scope="request" />
CORRECT:
<jsp:useBean id="myBean" class="org.alpha.beta.MyBean" scope="request" />
Q. Why am I getting a 500 Internal Server Error? My application compiled but
when I try to run it, I get an Internal Server Error.
A: There are several reasons for internal server errors. The "root cause" or
the "Exception" information can help to narrow in on the problem. Here are
some common causes:
a) One common reason is that the compiled classes are not in the right directory
or a required library (JAR file) is not in the WEB-INF/lib directory.
When you compile, the IDE uses the classpath to find the resources. However,
when you deploy an application, the application must strictly follow the
web module directory structure:
<document root directory>
+ JSP, HTML and other public files
+ WEB-INF
++ web.xml
++ <tld files>
++ classes
+++ <pkg 1>
+++ <pkg 2>
++ lib
+++ <.jar>
For more information, search for the "File Location in a Web Module" topic
in the online help.
b) If you are connecting to a database, make sure the driver is put in the
server's shared library directory or common library directory.
c) An error occurs when the server compiles the JSP into a servlet. For example,
the import or usebean statement is not using the fully qualified class
name for the bean. The following statements show an incorrect and a correct
import statement.
import="MyBean" << wrong
import="com.myCompany.MyBean" << correct
In this case, the "Exception" or "Root Cause" might be "Class <bean name> not
found in import."
Note that a bean must always be in a package. A bean cannot be put into the
WEB-INF/classes directory. Instead, it must be in a WEB-INF/classes
subdirectory.
Accessing Databases from Web Applications
Q: I put my database driver in WEB-INF/lib but I still can't access the
database. What do I do?
A: If your application performs queries or run statements through JDBC, then
putting the driver in WEB-INF is sufficient. However, if you are connecting to
the database through the server, you need to put the driver in the
server's shared library directory or the server's common library directory.
You must also set up a connection pool in the server.xml file. See the
documentation for your server on the specifics, as the details vary for
each server.Hello,
I am working on knowledge base entries for developing Web Applications with Sun ONE Studio. I would be interested in whether any of the following are helpful.
Also, are there other entries you think should be added? Other comments? Corrections?
Thanks
Web Apps FAQ
Creating a Web Application
Q: Where do I put my JSP files in my web module.
A: JSP files can go into the web module's document base directory or any
of its subdirectories except for the subdirectories under WEB-INF. For example,
the following is correct:
correctWebModStructure
+ login.jsp
++ JSP_files
+++ shop.jsp
+ WEB-INF
++ Classes
++ lib
++ web.xml
The following is incorrect:
incorrectWebModStructure
+ WEB-INF
++ login.jsp
++ JSP_files
+++ shop.jsp
++ Classes
++ lib
++ web.xml
Note that with the incorrect structure, the JSP files will compile but
they will not run on a server.
Q: Where should I put my servlet source and binary files when I create
and execute a web module from the IDE?
A: Your compiled classes must go in the appropriate package directory
under <web mod document root>/WEB-INF/Classes. The easiest place to
put the source code is in the same directory as the compiled class. To
put your source code in a different directory, see "Can I put my source code in
a different directory from WEB-INF/classes?"
Note that when a class is imported by another class or by a JSP file, the
class MUST be in a named namespace (package).
Q: Where do I put my libraries (JAR files) in a web module?
A: You can put the libraries in one of several places:
o If the JAR file will be used only by the module, put it in the
WEB-INF/lib directory.
o If the JAR file will be shared by multiple web modules look at the server's
documentation to find out how to make the library available across web
modules.
- If you are using the Sun One Application server, you can either copy
the JAR into the <instance_dir>/lib directory (such as
<AppServerInstallDir>\domains\domain1\server1\lib) or edit the
classpath-suffix attribute of the java-config element in the
server.xml file. For details about server.xml, see the Sun ONE Application
Server Administrator�s Configuration File Reference. You must
restart the server.
- If you are using the internal Tomcat server, put the JAR file into one of
the following directories:
<ide-install-dir>/jwsdp/lib/
<ide-install-dir>/jwsdp/common/classes
<ide-install-dir>/jwsdp/common/lib/
<ide-install-dir>jwsdp/shared/classes
<ide-install-dir>/jwsdp/shared/lib/
Note that for compilation, a JAR file must either be mounted as as an
archive file or the JAR file must be put into <ide-install-dir>\lib\ext.
When you add a JAR file to WEB-INF/lib directory tree, the IDE mounts
the JAR file for you automatically.
Q: Can I put my source code in a different directory from WEB-INF/classes?
A: Yes. For example, say you have a directory structure as follows:
myWebApp
+ WEB-INF
++ Classes
+++ myPkg
+ src
++ myPkg
1. In the Filesystems tab, mount myWebApp and separately mount src.
The Explorer should look like this:
<path>/myWebApp
<path>/myWebApp: /WEB-INF/classes <-IDE automatically mounts this
<path>/src
2. Open Tools > Options > Building > External Compilation and select this Target:
<path>/myWebApp: /WEB-INF/classes
(By default, this setting is project wide, if you click the >> column, you
can set it at the user or default level.)
3. Whenever you create a Java file under /WEB-INF/classes, the IDE automatically
adds a servlet entry and a mapping in the web.xml. Because you are putting
your source elsewhere, you will have to enter these entries manually, or do
the following.
1. Right-click the web.xml node, and choose Properties.
2. In the Deployment panel of the web.xml properties window,
click the ellipses (...) in the Servlets value field to display
the Servlets Property editor.
In Servlets Property editor, click Add to display the Add Servlet dialog box.
In the Add Servlet dialog box, type, or browse for, the servlet class name.
Type in the name by which you want to identify the servlet.
3. Click the Edit button for Mappings and add the mapping for the servlet.
4. Click OK to close the Add Servlet dialog box, then click OK to close
the Servlets property editor.
Note: If you don't add the web.xml entries, you might get an error like the
following:
"The requested object does not exist on this server.
The link you followed is either outdated, inaccurate,
or the server has been instructed not to let you have it.
Please inform the site administrator of the referring page."
Q: Why do I get invalid package name when I try to add a package to my
web module.
You have two options for creating packages in a web module.
1. Create a package in a subdirectory of WEB-INF/classes.
2. Create a package in a directory that is not in the WEB-INF tree and
put the compiled class in the WEB-INF tree. For example, if you have the
following directory structure, set the compilation target to WEB-INF/classes.
myWebMod
+ src
++ pkg1
+ WEB-INF
++ classes
+++ pkg1
++ lib
In either case, the WEB-INF/classes directory must be mounted. The IDE
does this automatically when you create a web module or turn a directory
into a web module.
To set the compilation target, choose Tools > Options > Building >
External Compilation and select the target. In this example, you would
select:
<path>/myWebMod: /WEB-INF/classes
Do not use a directory structure like this:
myWebMod
+ WEB-INF
++ src << wrong
++ classes
You can alternatively keep your source code in the appropriate package
directory under WEB-INF/classes.
Editing JSP Files
Q: JSP code completion does not work now that I use the Jakarta recommended
directory structure and use Ant to build and deploy my web applications? Can
I fix this?
To make code completion work, you must mount the following libraries and
directories in the Filesystems tab of the Explorer window. Mounting a parent
directory does not work.
* <working-directory>/src
* <working-directory>/build
* Every .jar file that is copied by the build script to
<working-directory>/build/WEB-INF/lib. (The IDE automatically mounts
all the jar files in WEB-INF/lib when you mount working-directory/build.)
* Any other libraries that are used by the web application, such as
libraries that have been deployed to the server.
Deploying a Web Application
Q: Can I change the URL that is used to execute a JSP page? For example,
instead of http://localhost/welcome.jsp, can I have the URL be
http://localhost/shopping/welcome.jsp?
A: Yes, right-click on the WEB-INF and choose Properties from the contextual
menu. In the Properties window, type /<name>. For example, type
/shopping
Note that youu can use servlet mappings in the web.xml file to control the
mappings of URLs to servlets.
Q: Is there a way to copy the compiled code to the server for testing
without having to create a WAR file?
A: Yes, this is the default action when you right-click the WEB-INF
node and choose Deploy from the contextual menu.
With Internal and External Tomcat installations, the deploy action causes
the IDE to change the server's configuration file to add a context entry,
which points to the document root of your working version of the web
application. For example
/myApp -> C:\My Working Directory\myApp
When you deploy to the Sun ONE application server using the IDE's Deploy
action, the IDE copies the web application's directory structure to
the server's <instance>/applications/j2ee-modules directory.
Q: How do I create a WAR file and deploy the WAR file onto different servers.
A: To create a WAR file, right click the WEB-INF node and choose Export WAR
file. See the online help for details about adding and filtering out
components.
Look at the server's documentation to find out how to deploy the WAR file
to the server. Here is an example of deploying a WAR file to the Sun ONE
Application Server 7:
asadmin deploy user myusername password mypassword \
-host localhost port 4848 type web contextroot /myApp instance server1 \
c:\apps\myapp.war
Note that when you deploy to a server that is registered with the IDE,
you do not need to create a WAR file. Instead, you can right-click on the
WEB-INF node and choose Deploy.
Compiling a Web Application
Q: Why do I get compiler errors when I compile from the IDE even though
I don't get errors when I compile from the command line?
As the IDE's classpath is derived from the mounted filesystems, the problem
is most likely caused by not mounting the necessary filesystems. For the
following web app, you must mount in the Explorer AWebApp, WEB-INF/classes
(this directory is mounted automatically when you create a web app or
turn a directory into a web app), and every JAR file in the WEB-INF/lib
directory (which is also done automatically). Note that all classes and
JAR files that the application needs must be in AWebApp/WEB-INF or
AWebApp/lib or the server's location for shared libraries and classes.
Otherwise, the module may compile but it won't run in the server.
AllMyWebApps
+ AWebApp
++ WEB-INF
+++ classes
+++ lib
++++ a.jar
++++ b.jar
Q: Why do I get a "cannot resolve symbol" compiler error message for my JSP.
A: Check the import statements in your JSP file. The import statement must
specify the fully qualified class name (package name plus class), and the
class must be in a namespace. The namespace restriction is because the Javac
bytecode compiler in J2SE 1.4.0 is more strict than in previous
versions in enforcing compliance with the Java Language Specification,
and thus rejects import statements that import a type from an unnamed namespace.
Valid import statement:
<%@page import="org.alpha.beta.MyBean" %>
Also, make sure your compiled classes are in a subfolder of
<web-module>/WEB-INF/classes, such as, for the above bean,
<web-module>/WEB-INF/classes/org/alpha/beta/MyBean.class.
Note that you will also get this error if you have created a link under
WEB-INF/classes to a package in another directory. Your package must
physically exist in the WEB-INF/classes directory.
Q: Why do I get " '.' expected" when my JSP is compiled.
The Javac bytecode compiler in J2SE 1.4.0 is more strict than in previous
versions in enforcing compliance with the Java Language Specification, and
thus rejects import statements that import a type from an unnamed namespace.
For example, if you have an import statement like the following, the compiler
expects the imported class to be in a package. Therefore, the compiler
assumes that MyBean is a package and expects the package name to be followed
by a period (.) and either a subpackage or a class. To resolve the problem,
put the bean in a package.
INVALID IMPORT STATEMENT:
<%@page import="MyBean" %>
VALID IMPORT STATEMENT
<%@page import="MyPackage.MyBean" %>
Q: Why do I get a package does not exist error message when the package exists?
A: The problem might be that you have not mounted the web module at the
correct point. You must mount the directory that is directly above the WEB-INF
directory. For example, if you have the following directory structure
you must mount the webApp1 filesystem. When you specifically mount
webApp1, the IDE recognizes the filesystem as a web module. The IDE
automatically mounts WEB-INF/classes, so that it is in the IDE's classpath,
and provides the execute and deploy actions when you right-click on the
WEB-INF node:
allMyWebApps
+ webApp1
++ WEB-INF
+++ Classes
++++ myPkg
You can also get this error message when you do not put your Classes directory
under WEB-INF. For example, if you put the Classes directory in web-info, you
will get this error message.
You will get this error if you have created a link under WEB-INF/classes
to a package in another directory. Your package must physically exist in
the WEB-INF/classes directory.
Running Web Applications
Q: Why do I get the 404 error message "The requested resource is not available"?
Why do I get the error message "The requested object does not exist on
this server"?
A: If you get either of these errors on a servlet, check the servlet's entry
in the web.xml. The entry should be similar to the following:
<servlet>
<servlet-name>myServlet</servlet-name>
<servlet-class>org.alpha.beta.MyServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>myServlet</servlet-name>
<url-pattern>/MyServlet</url-pattern>
</servlet-mapping>
The name can be any name as long as it is the same in both mappings.
The class must be the fully qualified class name. The pattern
must be a pattern that matches the URI that invokes the servlet. In
this case, the pattern matches the URI http://localhost:8081/MyServlet.
Q: Why do I get a Generated Servlet error "Class not found."
A: This error can occur if the class is not in a package. To resolve the
problem, put the class in a package.
If the class is in a package and you still get this message,
check the import statements in your JSP file. The import statement must
specify the fully qualified class name (package name plus class).
For example:
<%@page "org.alpha.beta.CustomerBean" %>
Q: Why do I get the error message "Unable to load class" when my JSP calls
a class from a library?
This message usually appears because the library's JAR file is not in the
WEB-INF/lib directory. The server expects all of the web app's JAR files
to either be in the WEB-INF/lib directory or in the server's
shared library directory.
For more information, search for the "File Location in a Web Module" topic
in the online help.
Q: Why do I get an error message during JSP compilation that a tld file is not
found when the file is there?
A: The problem might be that you have not put the tld file in the correct
place. It should go in the WEB-INF directory.
This problem also happens if have not mounted the web module at the
correct point.
You must mount the directory that is directly above the WEB-INF directory. For
example, if you have the following directory structure you must mount the
myWebApp1 filesystem. When you specifically mount webApp1, the IDE recognizes
the filesystem as a web module. The IDE automatically mounts WEB-INF/classes,
which in turn adds the path to the IDE's classpath and provides the execute
and deploy actions when you right-click on the WEB-INF node:
allMyWebApps
+ webApp1
++ WEB-INF
+++ Classes
++++ myPkg
Another cause of the problem could be that the uri in your taglib statement
is incorrect. For example, this statement is wrong:
<%@ taglib uri="struts-html.tld" prefix="html" %> <- Incorrect
Instead, it should be:
<%@ taglib uri="WEB-INF/struts-html.tld" prefix="html" %> <- Correct
Q: Why do I get a java.lang.ClassNotFoundException when I run my JSP file?
Everything compiles successfully and the source editor does JSP code completion
for the class. However, when I execute, the runtime system can't find the new
classes.
A: There are several causes of this error. Here are some things to check.
1. If the class is in a library, make sure the JAR file is in the
WEB-INF/lib directory or the server's directory for shared libraries.
Otherwise, make sure the class is in a package under the WEB-INF/Classes
directory.
When compiling, the IDE builds the classpath from the mounted filesystems.
However, when you use the deploy action, the IDE only deploys the classes,
libraries, and files that are stored in the mounted web module.
2. Make sure all usebean statements use a fully qualified name for
the class name.
WRONG:
<jsp:useBean id="myBean" class="MyBean" scope="request" />
CORRECT:
<jsp:useBean id="myBean" class="org.alpha.beta.MyBean" scope="request" />
Q. Why am I getting a 500 Internal Server Error? My application compiled but
when I try to run it, I get an Internal Server Error.
A: There are several reasons for internal server errors. The "root cause" or
the "Exception" information can help to narrow in on the problem. Here are
some common causes:
a) One common reason is that the compiled classes are not in the right directory
or a required library (JAR file) is not in the WEB-INF/lib directory.
When you compile, the IDE uses the classpath to find the resources. However,
when you deploy an application, the application must strictly follow the
web module directory structure:
<document root directory>
+ JSP, HTML and other public files
+ WEB-INF
++ web.xml
++ <tld files>
++ classes
+++ <pkg 1>
+++ <pkg 2>
++ lib
+++ <.jar>
For more information, search for the "File Location in a Web Module" topic
in the online help.
b) If you are connecting to a database, make sure the driver is put in the
server's shared library directory or common library directory.
c) An error occurs when the server compiles the JSP into a servlet. For example,
the import or usebean statement is not using the fully qualified class
name for the bean. The following statements show an incorrect and a correct
import statement.
import="MyBean" << wrong
import="com.myCompany.MyBean" << correct
In this case, the "Exception" or "Root Cause" might be "Class <bean name> not
found in import."
Note that a bean must always be in a package. A bean cannot be put into the
WEB-INF/classes directory. Instead, it must be in a WEB-INF/classes
subdirectory.
Accessing Databases from Web Applications
Q: I put my database driver in WEB-INF/lib but I still can't access the
database. What do I do?
A: If your application performs queries or run statements through JDBC, then
putting the driver in WEB-INF is sufficient. However, if you are connecting to
the database through the server, you need to put the driver in the
server's shared library directory or the server's common library directory.
You must also set up a connection pool in the server.xml file. See the
documentation for your server on the specifics, as the details vary for
each server. -
SharePoint 2013 Office Web App issue
We met an issue on Office Web App with SharePoint 2013.
Error message on the page:
Sorry, there was a problem and we can't open this document. If this happens again, try opening the Microsoft Word.
There is no related log in Windows Event viewer.
In SharePoint ULS log, related message as below:
08/12/2014 06:42:45.49 w3wp.exe (0x2C90) 0x2FE0 SharePoint Foundation Claims Authentication ahds8 Unexpected SPJsonWebSecurityBaseTokenHandler: Issuer name in token '00000003-0000-0ff1-ce00-000000000000@testrealm' doesn't match any of the registered issuer names for trusted sts 'collaboration metadata'. 7ba9aedb-4658-4a32-aaaa-20bcd0d52be6
08/12/2014 06:42:45.49 w3wp.exe (0x2C90) 0x2FE0 SharePoint Foundation Monitoring b4ly Medium Leaving Monitored Scope (Application Authentication Pipeline). Execution Time=7,5254676222816 7ba9aedb-4658-4a32-aaaa-20bcd0d52be6
08/12/2014 06:42:45.49 w3wp.exe (0x2C90) 0x2FE0 SharePoint Foundation Application Authentication ajezu Unexpected SPApplicationAuthenticationModule: Failed to authenticate request, unknown error. Exception details: System.IdentityModel.Tokens.SecurityTokenException: Issuer name is not registered at Microsoft.SharePoint.IdentityModel.SPJsonWebSecurityBaseTokenHandler.ValidateTokenIssuer(X509SecurityToken signingKey, String tokenIssuer) at Microsoft.SharePoint.IdentityModel.SPJsonWebSecurityBaseTokenHandler.ValidateToken(SecurityToken token) at Microsoft.SharePoint.IdentityModel.SPJsonWebSecurityTokenHandler.ValidateToken(SecurityToken token) at Microsoft.SharePoint.IdentityModel.SPApplicationAuthenticationModule.TryExtractAndValidateToken(HttpContext httpContext, SPIncomingTokenContext& tokenContext) at Microsoft.SharePoint.IdentityModel.SPApplicationAuthenticationModule.ConstructIC... 7ba9aedb-4658-4a32-aaaa-20bcd0d52be6
08/12/2014 06:42:45.49* w3wp.exe (0x2C90) 0x2FE0 SharePoint Foundation Application Authentication ajezu Unexpected ...laimsPrincipalAndSetThreadIdentity(HttpApplication httpApplication, HttpContext httpContext, SPFederationAuthenticationModule fam) at Microsoft.SharePoint.IdentityModel.SPApplicationAuthenticationModule.AuthenticateRequest(Object sender, EventArgs e) 7ba9aedb-4658-4a32-aaaa-20bcd0d52be6
08/12/2014 06:42:45.49 w3wp.exe (0x2C90) 0x2FE0 SharePoint Foundation General 8nca Medium Application error when access /sites/111/_vti_bin/wopi.ashx, Error=Issuer name is not registered at Microsoft.SharePoint.IdentityModel.SPJsonWebSecurityBaseTokenHandler.ValidateTokenIssuer(X509SecurityToken signingKey, String tokenIssuer) at Microsoft.SharePoint.IdentityModel.SPJsonWebSecurityBaseTokenHandler.ValidateToken(SecurityToken token) at Microsoft.SharePoint.IdentityModel.SPJsonWebSecurityTokenHandler.ValidateToken(SecurityToken token) at Microsoft.SharePoint.IdentityModel.SPApplicationAuthenticationModule.TryExtractAndValidateToken(HttpContext httpContext, SPIncomingTokenContext& tokenContext) at Microsoft.SharePoint.IdentityModel.SPApplicationAuthenticationModule.ConstructIClaimsPrincipalAndSetThreadIdentity(HttpApplication httpApplication, HttpContext httpCont... 7ba9aedb-4658-4a32-aaaa-20bcd0d52be6
The farm is having 2 WFE. There is NLB setting up for them.
AAM has been set to Default.
OWA binding set to -AllowHttp, zone set to internal-http. AllowOAuthOverHttp set to true.
The strange thing is when days ago we finish the installation, we try the link http://{server_name}/somefolder/document.docx to do the test, it works fine.
But today we try the link http://{NLB_link}/somefolder/documnet.docx, above error occur.
We are not sure whether AAM setting cause this issue or some other reaone. But even we remove the AAM to use the Server Name in link, still above issue.
Any idea/comments would be appriciated.What is the default AAM? Is it the server_name, or the NLB_Link? Might want to try having the NLB_Link as the primary (default) AAM if you haven't already?
Not sure if you have seen the Troubleshooting steps here:
http://technet.microsoft.com/en-us/library/ff431687(v=office.15).aspx#tshoot
it discusses use of the PowerShell command:
New-OfficeWebAppHost (http://technet.microsoft.com/en-us/library/jj219459(v=office.15).aspx) which might be required for your NLB_Link.
Gavin. -
Office Web Apps - Preview not appearing when acccessing via HTTPS
I have installed Sharepoint 2013 and Office Web Apps, set the wopibinding, and set the wopizone to be https-external. Everything seems to work fine if accessing the web app using HTTP (can open, edit, preview office web app (WAC) documents)... but if
I access via HTTPS then I run into a mixed content error when trying to preview the WAC documents... I can open them and edit them without issue using office web apps inside the browser though just not preview.
If I select "New document" it also takes a while to load and displays a blank pop up window... assume it must be related
Error message:
XMLHttpRequest cannot load http://xxxx.org.nz/Docs/_layouts/15/inplview.aspx?List={6E…65723B96E}&ViewCount=1&IsXslView=TRUE&IsCSR=TRUE&IsRibbon=TRUE&Cmd=EcbView.
No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'https://xxxxxx' is therefore not allowed access.
[blocked] The page at 'https://xxxxx.org.nz/xx.aspx' was loaded over HTTPS, but ran insecure content from 'http://xxxxxx/Docs/_layouts/15/WopiFrame.aspx?sourced…%20big%20wide%20inter%20web%2Edocx&action=interactivepreview&wdSmallView=1':
this content should also be loaded over HTTPS.Hi ,
Before you configure SharePoint 2013 to use Office Web Apps Server via HTTPS, make sure that you have set up Office Web Apps Server by following the steps in Deploy
a single-server Office Web Apps Server farm that uses HTTPS or Deploy a multi-server, load-balanced Office Web Apps Server farm
that uses HTTPS.
Best Regards,
Eric
Eric Tao
TechNet Community Support -
Office Web Apps - "Could not find trace string in ULS logs" unhealthy?
I have reviewed everything I could find on unhealthy WAC clusters as my problem seems unrelated to certificate or missing components. I've already digested
http://www.wictorwilen.se/office-web-apps-server-2013---machines-are-always-reported-as-unhealthy (Thanks Wictor).
The particular configuration is an Office Web Apps 2013 ([X-OfficeVersion, 15.0.4551.1005]), running on top of Windows Server 2012, configured for http access (SSL offloaded NLB cluster) and finally linked to Exchange 2013, Lync 2013 and SharePoint
2013. Everything works as expected from client side after setting IIS ARR to handle all reverse proxy bits.
FarmOU :
InternalURL : https://officeapps.fqdn/
ExternalURL : https://officeapps.fqdn/
AllowHTTP : True
SSLOffloaded : True
CertificateName :
EditingEnabled : True
LogLocation : C:\ProgramData\Microsoft\OfficeWebApps\Data\Logs\ULS
LogRetentionInDays : 7
LogVerbosity : Unexpected
Proxy :
CacheLocation : C:\ProgramData\Microsoft\OfficeWebApps\Working\d
MaxMemoryCacheSizeInMB : 75
DocumentInfoCacheSize : 5000
CacheSizeInGB : 15
ClipartEnabled : False
TranslationEnabled : False
MaxTranslationCharacterCount : 125000
TranslationServiceAppId :
TranslationServiceAddress :
RenderingLocalCacheLocation : C:\ProgramData\Microsoft\OfficeWebApps\Working\waccache
RecycleActiveProcessCount : 5
AllowCEIP : False
ExcelRequestDurationMax : 300
ExcelSessionTimeout : 450
ExcelWorkbookSizeMax : 50
ExcelPrivateBytesMax : -1
ExcelConnectionLifetime : 1800
ExcelExternalDataCacheLifetime : 300
ExcelAllowExternalData : True
ExcelWarnOnDataRefresh : True
OpenFromUrlEnabled : False
OpenFromUncEnabled : True
OpenFromUrlThrottlingEnabled : True
PicturePasteDisabled : True
RemovePersonalInformationFromLogs : False
AllowHttpSecureStoreConnections : False
Machines : {WAC15PD-02, WAC15PD-01}
The problem however is an incessant logging on the WAC cluster nodes of event 1204,2204 followed almost immediately by 1004,2004. This repeats every 4min or so...
- <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
- <System>
<Provider
Name="Office Web Apps Monitoring" />
<EventID
Qualifiers="0">1204</EventID>
<Level>2</Level>
<Task>1</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated
SystemTime="2014-02-04T20:49:37.000000000Z" />
<EventRecordID>3043246</EventRecordID>
<Channel>Microsoft Office Web Apps</Channel>
<Computer>wac15pd-01.fqdn</Computer>
<Security
/>
</System>
- <EventData>
<Data><?xml version="1.0" encoding="utf-16"?> <HealthReport xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <HealthMessage>UlsControllerWatchdog reported status for UlsController in category 'Verify Trace Logging'. Reported status: Could not find trace string in ULS logs in C:\ProgramData\Microsoft\OfficeWebApps\Data\Logs\ULS.</HealthMessage>
<ComponentOwner>ServicesInfrastructure</ComponentOwner>
</HealthReport></Data>
</EventData>
</Event>
- <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
- <System>
<Provider
Name="Office Web Apps Monitoring" />
<EventID
Qualifiers="0">2204</EventID>
<Level>2</Level>
<Task>1</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated
SystemTime="2014-02-04T20:49:37.000000000Z" />
<EventRecordID>3043247</EventRecordID>
<Channel>Microsoft Office Web Apps</Channel>
<Computer>wac15pd-01.fqdn</Computer>
<Security
/>
</System>
- <EventData>
<Data><?xml version="1.0" encoding="utf-16"?> <HealthReport xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <HealthMessage>UlsControllerWatchdog reported status for UlsController in category 'Verify Trace Logging'. Reported status: Could not find trace string in ULS logs in
C:\ProgramData\Microsoft\OfficeWebApps\Data\Logs\ULS.</HealthMessage> <ComponentOwner>ServicesInfrastructure</ComponentOwner>
</HealthReport></Data>
</EventData>
</Event>
- <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
- <System>
<Provider
Name="Office Web Apps Monitoring" />
<EventID
Qualifiers="0">1004</EventID>
<Level>2</Level>
<Task>10002</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated
SystemTime="2014-02-04T20:49:39.000000000Z" />
<EventRecordID>3043266</EventRecordID>
<Channel>Microsoft Office Web Apps</Channel>
<Computer>wac15pd-01.fqdn</Computer>
<Security
/>
</System>
- <EventData>
<Data><?xml version="1.0" encoding="utf-16"?> <HealthReport xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <HealthMessage>AgentManagerWatchdog reported status for
AgentManagerWatchdog in category 'Recent Watchdog Reports'. Reported status: Machine health is Unhealthy</HealthMessage> </HealthReport></Data>
</EventData>
</Event>
- <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
- <System>
<Provider
Name="Office Web Apps Monitoring" />
<EventID
Qualifiers="0">2004</EventID>
<Level>2</Level>
<Task>10002</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated
SystemTime="2014-02-04T20:49:39.000000000Z" />
<EventRecordID>3043267</EventRecordID>
<Channel>Microsoft Office Web Apps</Channel>
<Computer>wac15pd-01.fqdn</Computer>
<Security
/>
</System>
- <EventData>
<Data><?xml version="1.0" encoding="utf-16"?> <HealthReport xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <HealthMessage>AgentManagerWatchdog reported status for
AgentManagerWatchdog in category 'Recent Watchdog Reports'. Reported status: Machine health is Unhealthy</HealthMessage> </HealthReport></Data>
</EventData>
</Event>
Further exploration of ULS log files (C:\ProgramData\Microsoft\OfficeWebApps\Data\Logs\ULS) did not yield particularly much, except the following;
02/04/2014 20:48:04.48 UlsControllerWatchdog.exe (0x1244) 0x0F60 Services Infrastructure Uls Controller Watchdog ajbam Assert
We're about to trace a string for category MsoSpUlsControllerWatchdog at level Info and we expect to find in the log later, but it appears that the category has been throttled. We will never be able to find the string and this watchdog will always fail.
StackTrace: at Microsoft.Office.Web.UlsControllerWatchdog.Program.CheckServiceInstance(ServiceInstance serviceInstance) at Microsoft.Office.Web.Common.WatchdogHelperThreadManager.GetHealthResults(WatchdogExecutionContext
context, ServiceInstance si) at Microsoft.Office.Web.Common.WatchdogHelperThreadManager.WatchingThreadMethod(Object o) at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback
callback, Object state, Boolean preserveSyncCtx) at System.Threading.ExecutionContext.Ru... 345fbec5-e958-4f1f-bf56-d65c1c0d472a
02/04/2014 20:48:04.48* UlsControllerWatchdog.exe (0x1244) 0x0F60 Services Infrastructure Uls Controller Watchdog ajbam Assert
...n(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch() 345fbec5-e958-4f1f-bf56-d65c1c0d472a
02/04/2014 20:48:05.52 UlsControllerWatchdog.exe (0x1244) 0x0F60 Services Infrastructure Services Infrastructure Health adhog Unexpected Health report
by UlsControllerWatchdog: Agent: UlsController, eventId: 1204, eventType: Error, categoryId: 1, eventMessage: <?xml version="1.0" encoding="utf-16"?> <HealthReport xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <HealthMessage>UlsControllerWatchdog reported status for UlsController in category 'Verify Trace Logging'. Reported
status: Could not find trace string in ULS logs in C:\ProgramData\Microsoft\OfficeWebApps\Data\Logs\ULS.</HealthMessage> <ComponentOwner>ServicesInfrastructure</ComponentOwner> </HealthReport> 345fbec5-e958-4f1f-bf56-d65c1c0d472a
02/04/2014 20:48:05.52 UlsControllerWatchdog.exe (0x1244) 0x0F60 Services Infrastructure Services Infrastructure Health adhoh Unexpected Health report
by UlsControllerWatchdog (persistent): Agent: UlsController, eventId: 2204, eventType: Error, categoryId: 1 345fbec5-e958-4f1f-bf56-d65c1c0d472a
I suspect these might be related, but can't seem to find any logical explanation why this should cause the Get-OfficeWebAppsMachine to report HealthStatus of Unhealthy. If related, is there a way to disable this check or remove throttling in a safe
way? Alternatively if this is some coding issue (I've not found any other blog/QA dealing with this particularly) it would be nice to get confirmation of this and potentially a fix/solution.
Any help would be greatly appreciated. Thank you!Hi ChristiaanB,
You get this ULS error because you change the log verbosity of the OWA farm. I wrote an article for this on my blog : OWA unhealthy uls issue
Regards,
Wes
Maybe you are looking for
-
Makes horrible noise and will not move past initializing.
-
PLEASE HELP ME INSTALL HP ENVY 7640 SERIES WITHOUT DISC
can't locate disc.
-
I currently have a volume knob that works with sound and turns 360 Deg. I now want to use this rotary knob to control the brightness of an image/symbol. Please help
-
I got a StringTokenizer: while ((fullText = in.readLine()) != null) { ++line; StringTokenizer tokenizer = new StringTokenizer(fullText, "="); }It take my fullText string "key = value" into "key " and " value", I want to take out those white s
-
Unread mail count is wrong in iOS7 for Yahoo.
My iOS7 Mail app reports unread messages from my Yahoo account when there are none. The numbers vary from zero to 8, but with the exception of zero, always appear to be more than the actual number. I have tried... Checking the configuration of serv