WLS 5.1 SP8 Clustering problems
Hi all,
I am trying to create a cluster with 2 instances of WLS and third WLS
instance to be used as a proxy. The two servers in the cluster have joined
the Multicast Address correctly (I hope, because thats what the log file
says). Now the proxy also started succesfully. But when I make a request
for a JSP page, it is going into an infinite loop. The request is not going
beyond the proxy i think, because, on the proxy, it says *.jsp:init.
Then i tried to use ISAPI plug-in to call this JSP, but i am getting an
ISAPI error (I don't know why it is looking for localhost:7001 when I have
specified
WebLogicCluster=192.200.1.251:7001,192.200.1.252:7001,192.200.1.253:7001
in the iisproxy.ini File:
Internal Server Error
Reason:Cannot connect to WebLogic: timed out after 10 seconds. Cluster list:
localhost:7001
Line 427 of iisproxy.cpp
Can Some one help ?
Thank You in advance.
Ramesh
Seems ISAPI plugin could not locate iisproxy.ini.
Here is the search order:
- current directory (same as the dll)
- WebLogic installation directory (finds it from the regirstry) -
c:\weblogic
Try to save iisproxy.ini at the same location of the dll.
"ramesh" <[email protected]> wrote in message
news:[email protected]...
> Hi all,
>
> I am trying to create a cluster with 2 instances of WLS and third WLS
> instance to be used as a proxy. The two servers in the cluster have
joined
> the Multicast Address correctly (I hope, because thats what the log file
> says). Now the proxy also started succesfully. But when I make a request
> for a JSP page, it is going into an infinite loop. The request is not
going
> beyond the proxy i think, because, on the proxy, it says *.jsp:init.
>
> Then i tried to use ISAPI plug-in to call this JSP, but i am getting an
> ISAPI error (I don't know why it is looking for localhost:7001 when I have
> specified
> WebLogicCluster=192.200.1.251:7001,192.200.1.252:7001,192.200.1.253:7001
> in the iisproxy.ini File:
>
> Internal Server Error
> Reason:Cannot connect to WebLogic: timed out after 10 seconds. Cluster
list:
> localhost:7001
> Line 427 of iisproxy.cpp
>
> Can Some one help ?
>
> Thank You in advance.
>
> Ramesh
>
>
>
Similar Messages
-
WLS 5.1 sp8 servlet problems
Ok. I must be just plain stupid..... :-(
My environment:
Win2K advanced server
IIS 5.0
WLS 5.1 sp8
jdk 1.3
standard install directories. The only changes were to use the 1.3 jdk.
I can get jsps to run out of the /public_html/ directory. I've configured
iisproxy to proxy .jhtml, .jsp, and .svlt file extensions ( the .svlt for
servlets :-) ).
The server runs, the console runs, everything seems to be Ok, except, I
can't figure out how to run even the example SnoopServlet. The
weblogic.properties file has the examples registered defaulted.
I also get an evaluation period over on the cloudscape database, when the
server is starting up. So even the BigTel app has problems with the
database.
I also get that same missing javai.dll on startup. It does jump to the
interpreter though. I've seen the explanation on the javai.dll and can
accept that it will be fixed in sp9. I don't understand the cloudscape
thing. And for the life of me I can't figure out how to get the SnoopServlet
to run.
I'm running the version of WLS 5.1 that comes with Visual Cafe EE 4.0. and
have patched it up to sp8.
I thought that by adding the .svlt extension that the iisproxy would call
the Servlet. As in:
http://localhost/SnoopServlet.svlt would call the SnoopServlet from the
examples.
Any help would be appreciated.
GeorgeHi George,
Are you having fun yet? :-)
George Smith wrote:
Ok. I must be just plain stupid..... :-(
My environment:
Win2K advanced server
IIS 5.0
WLS 5.1 sp8
jdk 1.3
standard install directories. The only changes were to use the 1.3 jdk.
I can get jsps to run out of the /public_html/ directory. I've configured
iisproxy to proxy .jhtml, .jsp, and .svlt file extensions ( the .svlt for
servlets :-) ).
The server runs, the console runs, everything seems to be Ok, except, I
can't figure out how to run even the example SnoopServlet. The
weblogic.properties file has the examples registered defaulted.The registeration in the weblogic.properties file looks like this:
weblogic.httpd.register.snoop=examples.servlets.SnoopServlet
You can access it directly using the URL
http://myweblogic.machine.name:7001/snoop
In order to get IIS to proxy this appropriately, you need to specify the .svlt
extension to the URL. However, the above registration does not use this
extension so WLS will not find the servlet if append the extension. Therefore,
you need to do one of the following (but not both):
1.) Change your servlet registration to look like this:
weblogic.httpd.register.snoop.svlt=examples.servlets.SnoopServlet
2.) Change your IIS configuration to proxy by path. For example, configure IIS
to proxy all URLs with /weblogic using the WLForwardPath parameter and the
PathTrim parameter value of /weblogic. This will allow you to enter the
following URL in the browser:
http://myweblogic.machine.name:7001/weblogic/snoop
IIS will forward this because of the /weblogic but it will trim the URL to
/snoop before forwarding it to WLS (allowing WLS to find the servlet registered
with weblogic.httpd.register.snoop=examples.servlets.SnoopServlet).
I also get an evaluation period over on the cloudscape database, when the
server is starting up. So even the BigTel app has problems with the
database.Download and install the Cloudscape updater from the WebLogic 5.1.0 Service Pack
area.
I also get that same missing javai.dll on startup. It does jump to the
interpreter though. I've seen the explanation on the javai.dll and can
accept that it will be fixed in sp9. I don't understand the cloudscape
thing. And for the life of me I can't figure out how to get the SnoopServlet
to run.Hmm... I thought that the reason for the javai.dll thing was because you were
picking up a different version of some JDK files (javai.dll is from JDK 1.1.x).
I'm running the version of WLS 5.1 that comes with Visual Cafe EE 4.0. and
have patched it up to sp8.
I thought that by adding the .svlt extension that the iisproxy would call
the Servlet. As in:
http://localhost/SnoopServlet.svlt would call the SnoopServlet from the
examples.
Any help would be appreciated.
GeorgeHope this helps,
Robert -
WLS 5.1 SP8 clustered machines do not acknowledge each other on startup
I have made this posting in In-Memory-replication group also.
We are trying to setup a cluster with two machines A & B. These
are Solaris boxes with WLS 5.1 and SP8. The servers are multi-homed.
When the two Weblogic servers are started concurrently, their logs
show that they joined at the designated multicast IP 225.225.225.225.
But at the end of startup process they do not give the usual "Adding
server .....................to cluster view" message.
I am able to ping each machine from the other.
I have also run MulticastTest utility and the message packets are
exchanged by the two machines successfully.
nslookup for the cluster name returns the IP of both A & B.
But still the machines don't recognize each other.
What could be the reason?
I managed to get the problem sorted out with help from Weblogic
support.
These machines have multiple network interfaces. I was told that
the IP, for which Weblogic license has been granted, should be
the first entry in the /etc/hosts file.
Besides, SP8 should be installed and configured correctly for the
communication to be established.
My original problem was that I was not able to see the "Adding
server" line when both the machines in the cluster were brought
up simultaneously. Both the machines would come up and would give
a message "Joined at 225.225.225.225" message and end the startup
process with "WebLogic Server started". The usual message acknowledging
the presence of the other machine is missing!
The cluster was not running when I ran the MulticastTest utility.
The curious thing was that MulticastTest ran successfully on both
the machines in the cluster and I could see the message packets
being exchanged correctly on the specific multicast IP that I was
using. But the machines in the cluster couldn't communicate with
each other!
Thanks for your responses!
Regards,
Mahesh Rajan
Prasad Peddada <[email protected]> wrote:
>If you see the message "Adding server ... " means that
>servers are in a
>cluster.
>
>You shouldn't run multicast test when servers are running.
>
>So, I don't understand what your problem is.
>
>-- Prasad
>
>Rajan wrote:
>
>> I have made this posting in In-Memory-replication group
>also.
>>
>> We are trying to setup a cluster with two machines A
>& B. These
>> are Solaris boxes with WLS 5.1 and SP8. The servers
>are multi-homed.
>>
>> When the two Weblogic servers are started concurrently,
>their logs
>> show that they joined at the designated multicast IP
>225.225.225.225.
>> But at the end of startup process they do not give the
>usual "Adding
>> server .....................to cluster view" message.
>>
>> I am able to ping each machine from the other.
>>
>> I have also run MulticastTest utility and the message
>packets are
>> exchanged by the two machines successfully.
>>
>> nslookup for the cluster name returns the IP of both
>A & B.
>>
>> But still the machines don't recognize each other.
>>
>> What could be the reason?
>
>--
>Cheers
>
>- Prasad
>
>
-
WLS 5.1 SP8 improper load balancing of EJB
I have noticed a strange behaviour in load balancing of EJB.
I have 3 instances of WLS 5.1 sp8 running under a cluster, lets say X, Y and
Z. Now if I access the EJB in the cluster from with in one of the WLS
instances(eg servlet), lets say Y, then I always get the reference from that
same machine "Y" no matter what load balancing algorithm I set. No matter
how many times I access this EJB from machine Y it will only give me
reference of EJB from Y. Somehow this seems wrong, it should round-robin
between X, then Y then Z and then X again no matter where I get a reference
from.
Now if I access the EJB from outside of the cluster, a fourth JVM, then each
time I get the reference from a different machine and clustering works fine
and load balances as expected.
Any explanation, workaround ??? Most of the EJB referencing we are doing is
within the cluster itself, this is causing problems because everything
works, but on a single machine even though we have a cluster set up. We only
reference the EJB externally once, that does get clustered, but from that
point on, everything happens on that machine.
What you really want to do is use CallRouter - I've used it with clustered RMI,
I have not used it with EJB. (but EJB use RMI so you should be able to make it
work).
Personally, I'd be writing my number crunching bits in C about now.
Mike
"Haider Kazmi" <[email protected]> wrote:
>Thanks Mike, let me give creating InitialContext with specific IP address
>a
>try , maybe we can put in load sharing logic in our code this way.
>
>As for using C, I think as with all products, our marketing team wouldn't
>like that but thats a definate approach to improve performance.
>
>cheers
>
>"Mike Reiche" <[email protected]> wrote in message
>news:[email protected]...
>>
>> You're doing heavy computation in Java - it's going to be slow.
>> Write it in C, call it using JNI and it will be about 10 times as fast.
>>
>> There 'executing sequentially' is not a function of the EJB
>specification. I
>> assume your code looks something like...
>>
>>
>> result1= ejb1.calculate1 ( a, b, c );
>> result2= ejb2.calculate2 ( e, f, result1);
>> result3= ejb3.calcualte3 ( x, result3);
>>
>> caculate3 won't be called until calculate2 has finished, which won't
>be
>called
>> until calculate1 has finished. Sequential.
>>
>> If you really want to force the EJBs on a specific WL instance, just
>specify the
>> IP address and port number when you create the InitialContext.
>>
>> Mike
>>
>>
>>
>> "Haider Kazmi" <[email protected]> wrote:
>> >Hi Mike
>> >
>> >> First you gotta understand that calling an EJB on a remote JVM costs
>> >about
>> >10 times
>> >> as much as calling one on a local instance. That's what I tried
>to
>> >say in
>> >the
>> >> first followup.
>> >>
>> >> Second, if whatever is calling the EJB (JSP, Servlet) is load balanced,
>> >then -
>> >> presto - all the EJB calls are load balanced as well.
>> >
>> >Thats definately true, I think I might have created some confusion,
>what
>> >I
>> >was really trying to say is that we are doing a lot of processing
>and
>> >its
>> >mathematical in nature unlike the standard credit card transaction
>or
>> >website transaction. We have optimized this to a large extent, the
>real
>> >problem we get into is when the consumers of this result try to consume
>> >them, each of which are stateless session beans.
>> >The result gets posted on a JMS topic, servlet was an example, what
>we
>> >actually have are JMS clients calling more EJBs once a result is posted
>> >on
>> >the JMS topic. So here is how it goes, once the processing of workflow
>> >is
>> >done, this published on the relevent JMS topic based on the result
>of
>> >the
>> >workflow process. All the related JMS clients subscribed to this topic
>> >pick
>> >it up. They call relevent EJBs with this result. So we don't have
>control
>> >over load balancing our clients.
>> >
>> >> The only time that such a configuration would load only one instance
>> >is if
>> >you
>> >> only had one such EJB call at a time. But this is still faster
>than
>> >having the
>> >> EJBs load balanced on remote JVM. Load balanced or not, the EJB
>calls
>> >are
>> >NOT
>> >> made in parallel, thus the calling method has to wait for the first
>> >call
>> >to finish,
>> >> then the second, then the third... so that if each call takes longer
>> >on a
>> >remote
>> >> JVM than locally, your total wait time is longer.
>> >thanks for this info. I think I better read the EJB specs in more
>details.
>> >however whats not clear to me is even if the EJBs are different (not
>> >just
>> >different instances of the same EJBs and what about different instances
>> >of
>> >the same EJB, are things still done sequentially) will only one method
>> >be
>> >called at a time??
>> >
>> >> Maybe that's not clear - distributing the calls does not make anything
>> >happen
>> >> any faster - it just spreads it out.
>> >Is this also true for stateless session beans, specifically among
>different
>> >instances of the same bean?
>> >
>> >> You should be spending your time figuring out how to reduce the
>amount
>> >of
>> >processing.
>> >This is where I am stuck at now. We are at a point where a lot of
>the
>> >optimization is done. The problem arizes when processing is done and
>> >the
>> >result is posted on the JMS, a bunch of stateless session bean try
>to
>> >consume the result all at once.
>> >
>> >
>>
>
>
-
Clustering Problem on WLS 5.1 sp 2/3
I've set up a multihomed machine running four instances of WLS 5.1 sp2 on
solaris 7. When I initially added them to a cluster and tested them for
serving JSPs everything seemed fine. I've since tried deploying an EJB
(which works in a non clustered server) and I'm suddenly getting the
following errors:
stdout:
... <E> <MutlicastSocket> Multicast socket receive error:
java.lang.runtimeException: I/O error opening JAR file from
file:/export/home0/weblogic/cluster1/serverclasses
stderr:
java.util.zip.ZipException: error in opening zip file
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.open(Compiled Code)
at java.util.zip.ZipFile.<init>(Compiled Code)
at java.util.zip.ZipFile.<init>(Compiled Code)
at
weblogic.boot.ServerClassLoader.deploy(ServerClassLoader.java:141)
at
weblogic.cluster.AnnotatedServiceOffer.expandClassPath(AnnotatedServiceOffer
.java:74)
at weblogic.cluster.AnnotatedServiceOffer.readObject(Compiled Code)
at
weblogic.common.internal.WLObjectInputStreamBase.readPublicSerializable(Comp
iled Code)
at
weblogic.common.internal.WLObjectInputStreamBase.readLeftover(Compiled Code)
at
weblogic.common.internal.WLObjectInputStreamBase.readObjectBody(Compiled
Code)
at
weblogic.common.internal.WLObjectInputStreamBase.readObject(Compiled Code)
at
weblogic.common.internal.WLObjectInputStreamBase.readObjectWL(Compiled Code)
at
weblogic.common.internal.WLObjectInputStreamBase.readArrayList(Compiled
Code)
at weblogic.cluster.Announcement.readObject(Announcement.java:73)
at
weblogic.common.internal.WLObjectInputStreamBase.readPublicSerializable(Comp
iled Code)
at
weblogic.common.internal.WLObjectInputStreamBase.readLeftover(Compiled Code)
at
weblogic.common.internal.WLObjectInputStreamBase.readObjectBody(Compiled
Code)
at
weblogic.common.internal.WLObjectInputStreamBase.readObject(Compiled Code)
at
weblogic.common.internal.WLObjectInputStreamBase.readObjectWL(Compiled Code)
at weblogic.cluster.TMSocket.execute(Compiled Code)
at weblogic.kernel.ExecuteThread.run(Compiled Code)
(My EJB is deployed it its expanded directory form, which worked in a single
server, this error happens repeatedly, regardless of accessing the EJB. The
weblogic log says that the EJB deployed successfully)
I've also tried upgrading to sp3, now it cannot even serve jsps, I get the
following error:
Wed Jun 14 10:36:06 GMT+01:00 2000:<I> <ServletContext-General> file: init
Wed Jun 14 10:36:24 GMT+01:00 2000:<I> <ServletContext-General> *.jsp: init
Wed Jun 14 10:36:24 GMT+01:00 2000:<I> <ServletContext-General> *.jsp: param
verbose initialized to: true
Wed Jun 14 10:36:24 GMT+01:00 2000:<I> <ServletContext-General> *.jsp: param
packagePrefix initialized to: jsp_servlet
Wed Jun 14 10:36:24 GMT+01:00 2000:<I> <ServletContext-General> *.jsp: param
compileCommand initialized to: /usr/java1.2/bin/javac
Wed Jun 14 10:36:24 GMT+01:00 2000:<I> <ServletContext-General> *.jsp: param
srcCompiler initialized to weblogic.jspc
Wed Jun 14 10:36:24 GMT+01:00 2000:<I> <ServletContext-General> *.jsp: param
superclass initialized to null
Wed Jun 14 10:36:24 GMT+01:00 2000:<I> <ServletContext-General> *.jsp: param
workingDir initialized to: /export/home0/weblogic/cluster1/classfiles
Wed Jun 14 10:36:24 GMT+01:00 2000:<I> <ServletContext-General> *.jsp: param
pageCheckSeconds initialized to: 1
Wed Jun 14 10:36:24 GMT+01:00 2000:<I> <ServletContext-General> *.jsp:
initialization complete
Wed Jun 14 10:36:24 GMT+01:00 2000:<E> <ServletContext-General> Servlet
failed with Exception
java.lang.NullPointerException
at
weblogic.servlet.internal.session.ReplicatedSession.setMaxInactiveInterval(R
eplicatedSession.java:339)
at
weblogic.servlet.internal.session.SessionContext.getNewSessionInstance(Sessi
onContext.java:322)
at
weblogic.servlet.internal.ServletRequestImpl.getNewSession(ServletRequestImp
l.java:1104)
at
weblogic.servlet.internal.ServletRequestImpl.getSession(ServletRequestImpl.j
ava:1007)
at
weblogic.servlet.internal.ServletRequestImpl.getSession(ServletRequestImpl.j
ava:981)
at
weblogic.servlet.jsp.PageContextImpl.initialize(PageContextImpl.java:47)
at
weblogic.servlet.jsp.PageContextImpl.<init>(PageContextImpl.java:64)
at
weblogic.servlet.jsp.JspFactoryImpl.getPageContext(JspFactoryImpl.java:31)
at jsp_servlet.simpleSession._jspService(simpleSession.java:64)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:123)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:141)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:744)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:692)
at
weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContext
Manager.java:251)
at
weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:363)
at
weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:263)
at weblogic.kernel.ExecuteThread.run(Compiled Code)
Thanks in advance, tell me if you need more info
Loz (ECsoft/MyNet)
I got that working. Never mind.
Amit Bhutra <[email protected]> wrote in message
news:[email protected]...
> I am getting same error. How did you resolved it?
> Weblogic creates a jar file in mycluster/tmp_deployment directory.
>
> Do i need to include this jar file in my weblogic.properties?
>
> Loz <[email protected]> wrote in message
> news:[email protected]...
> > OK, I got rid of the EJB problem by deploying as a jar, how about the
sp3
> > problem?
> >
> > Loz
> >
> > "Loz" <[email protected]> wrote in message
> > news:[email protected]...
> > > I've set up a multihomed machine running four instances of WLS 5.1 sp2
> on
> > > solaris 7. When I initially added them to a cluster and tested them
for
> > > serving JSPs everything seemed fine. I've since tried deploying an EJB
> > > (which works in a non clustered server) and I'm suddenly getting the
> > > following errors:
> > >
> > > stdout:
> > > ... <E> <MutlicastSocket> Multicast socket receive error:
> > > java.lang.runtimeException: I/O error opening JAR file from
> > > file:/export/home0/weblogic/cluster1/serverclasses
> > >
> > > stderr:
> > > java.util.zip.ZipException: error in opening zip file
> > > at java.util.zip.ZipFile.open(Native Method)
> > > at java.util.zip.ZipFile.open(Compiled Code)
> > > at java.util.zip.ZipFile.<init>(Compiled Code)
> > > at java.util.zip.ZipFile.<init>(Compiled Code)
> > > at
> > > weblogic.boot.ServerClassLoader.deploy(ServerClassLoader.java:141)
> > > at
> > >
> >
>
weblogic.cluster.AnnotatedServiceOffer.expandClassPath(AnnotatedServiceOffer
> > > .java:74)
> > > at weblogic.cluster.AnnotatedServiceOffer.readObject(Compiled
> > Code)
> > > at
> > >
> >
>
weblogic.common.internal.WLObjectInputStreamBase.readPublicSerializable(Comp
> > > iled Code)
> > > at
> > > weblogic.common.internal.WLObjectInputStreamBase.readLeftover(Compiled
> > Code)
> > > at
> > >
weblogic.common.internal.WLObjectInputStreamBase.readObjectBody(Compiled
> > > Code)
> > > at
> > > weblogic.common.internal.WLObjectInputStreamBase.readObject(Compiled
> Code)
> > > at
> > > weblogic.common.internal.WLObjectInputStreamBase.readObjectWL(Compiled
> > Code)
> > > at
> > >
weblogic.common.internal.WLObjectInputStreamBase.readArrayList(Compiled
> > > Code)
> > > at
> weblogic.cluster.Announcement.readObject(Announcement.java:73)
> > > at
> > >
> >
>
weblogic.common.internal.WLObjectInputStreamBase.readPublicSerializable(Comp
> > > iled Code)
> > > at
> > > weblogic.common.internal.WLObjectInputStreamBase.readLeftover(Compiled
> > Code)
> > > at
> > >
weblogic.common.internal.WLObjectInputStreamBase.readObjectBody(Compiled
> > > Code)
> > > at
> > > weblogic.common.internal.WLObjectInputStreamBase.readObject(Compiled
> Code)
> > > at
> > > weblogic.common.internal.WLObjectInputStreamBase.readObjectWL(Compiled
> > Code)
> > > at weblogic.cluster.TMSocket.execute(Compiled Code)
> > > at weblogic.kernel.ExecuteThread.run(Compiled Code)
> > >
> > > (My EJB is deployed it its expanded directory form, which worked in a
> > single
> > > server, this error happens repeatedly, regardless of accessing the
EJB.
> > The
> > > weblogic log says that the EJB deployed successfully)
> > >
> > > I've also tried upgrading to sp3, now it cannot even serve jsps, I get
> the
> > > following error:
> > >
> > > Wed Jun 14 10:36:06 GMT+01:00 2000:<I> <ServletContext-General> file:
> init
> > > Wed Jun 14 10:36:24 GMT+01:00 2000:<I> <ServletContext-General> *.jsp:
> > init
> > > Wed Jun 14 10:36:24 GMT+01:00 2000:<I> <ServletContext-General> *.jsp:
> > param
> > > verbose initialized to: true
> > > Wed Jun 14 10:36:24 GMT+01:00 2000:<I> <ServletContext-General> *.jsp:
> > param
> > > packagePrefix initialized to: jsp_servlet
> > > Wed Jun 14 10:36:24 GMT+01:00 2000:<I> <ServletContext-General> *.jsp:
> > param
> > > compileCommand initialized to: /usr/java1.2/bin/javac
> > > Wed Jun 14 10:36:24 GMT+01:00 2000:<I> <ServletContext-General> *.jsp:
> > param
> > > srcCompiler initialized to weblogic.jspc
> > > Wed Jun 14 10:36:24 GMT+01:00 2000:<I> <ServletContext-General> *.jsp:
> > param
> > > superclass initialized to null
> > > Wed Jun 14 10:36:24 GMT+01:00 2000:<I> <ServletContext-General> *.jsp:
> > param
> > > workingDir initialized to: /export/home0/weblogic/cluster1/classfiles
> > > Wed Jun 14 10:36:24 GMT+01:00 2000:<I> <ServletContext-General> *.jsp:
> > param
> > > pageCheckSeconds initialized to: 1
> > > Wed Jun 14 10:36:24 GMT+01:00 2000:<I> <ServletContext-General> *.jsp:
> > > initialization complete
> > > Wed Jun 14 10:36:24 GMT+01:00 2000:<E> <ServletContext-General>
Servlet
> > > failed with Exception
> > > java.lang.NullPointerException
> > > at
> > >
> >
>
weblogic.servlet.internal.session.ReplicatedSession.setMaxInactiveInterval(R
> > > eplicatedSession.java:339)
> > > at
> > >
> >
>
weblogic.servlet.internal.session.SessionContext.getNewSessionInstance(Sessi
> > > onContext.java:322)
> > > at
> > >
> >
>
weblogic.servlet.internal.ServletRequestImpl.getNewSession(ServletRequestImp
> > > l.java:1104)
> > > at
> > >
> >
>
weblogic.servlet.internal.ServletRequestImpl.getSession(ServletRequestImpl.j
> > > ava:1007)
> > > at
> > >
> >
>
weblogic.servlet.internal.ServletRequestImpl.getSession(ServletRequestImpl.j
> > > ava:981)
> > > at
> > >
weblogic.servlet.jsp.PageContextImpl.initialize(PageContextImpl.java:47)
> > > at
> > > weblogic.servlet.jsp.PageContextImpl.<init>(PageContextImpl.java:64)
> > > at
> > >
> weblogic.servlet.jsp.JspFactoryImpl.getPageContext(JspFactoryImpl.java:31)
> > > at
jsp_servlet.simpleSession._jspService(simpleSession.java:64)
> > > at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
> > > at
> > >
> >
>
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
> > > :123)
> > > at
> > >
> >
>
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
> > > :141)
> > > at
> > >
> >
>
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
> > > l.java:744)
> > > at
> > >
> >
>
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
> > > l.java:692)
> > > at
> > >
> >
>
weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContext
> > > Manager.java:251)
> > > at
> > >
> >
>
weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:363)
> > > at
> > > weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:263)
> > > at weblogic.kernel.ExecuteThread.run(Compiled Code)
> > >
> > > Thanks in advance, tell me if you need more info
> > >
> > > Loz (ECsoft/MyNet)
> > >
> > >
> >
> >
>
>
-
Wls 5.1 sp9 clustering (DNS Problem)
Hi all,
I am trying to create a WLS cluster of 3 instances and the fourth one being
proxy. All four instances of WLS are on the same machine, and we use
default subnet mask so they are all in the same LAN.
The servers in the cluster have started properly and are communicating with
each other using a IPMulticast. No problem there.
However, when i request a JSP page giving the proxy servers
address(http://proxyIP:7001/Hello.jsp) , it is not able to forward it to any
of the clustered server instances. It is not even giving me a time out
error or page not found or anything. I am not sure if my DNS entries are
wrong or if there is any other problem or there is something that i missed.
Can some one verify this for me please.
DNS ENTRIES in HOSTS file are as follows :
127.0.0.1 localhost
192.200.1.251 server251.bozpivot.com
192.200.1.252 server252.bozpivot.com
192.200.1.253 server253.bozpivot.com
mycluster 192.200.1.251
mycluster 192.200.1.252
mycluster 192.200.1.253
STACK Trace on proxy is as follows :
Sun Jan 02 10:22:33 GMT+05:30 2000:<I> <ServletContext-General> *.jsp: init
Sun Jan 02 10:22:33 GMT+05:30 2000:<E> <proxy> Please specify secure port in
the
properties. Using default ports 7001/7002 See release notes for more info
Sun Jan 02 10:22:33 GMT+05:30 2000:<E> <proxy> Please specify secure port in
the
properties. Using default ports 7001/7002 See release notes for more info
Ramesh
Thanks all,
I got it working, It was not a problem with my DNS entries. I forgot to
register my JSPServlet, and so all calls to JSP pages were getting into an
non-ending loop.
Ramesh
"ramesh" <[email protected]> wrote in message
news:[email protected]...
> Just in case you need to see my proxy servlet configuration :
>
> weblogic.httpd.register.*.jsp=weblogic.servlet.internal.HttpClusterServlet
> weblogic.httpd.initArgs.*.jsp=defaultServers=server251:7001|server252:7001
>
>
weblogic.httpd.register.*.servlet=weblogic.servlet.internal.HttpClusterServl
> et
>
weblogic.httpd.initArgs.*.servlet=defaultServers=server251:7001|server252:70
> 01
>
> weblogic.allow.execute.weblogic.servlet=everyone
>
weblogic.httpd.register.cluster=weblogic.servlet.internal.HttpClusterServlet
>
weblogic.httpd.initArgs.cluster=defaultServers=server251:7001|server252:7001
> weblogic.httpd.defaultServlet=cluster
>
>
> "ramesh" <[email protected]> wrote in message
> news:[email protected]...
> > Hi all,
> >
> > I am trying to create a WLS cluster of 3 instances and the fourth one
> being
> > proxy. All four instances of WLS are on the same machine, and we use
> > default subnet mask so they are all in the same LAN.
> >
> > The servers in the cluster have started properly and are communicating
> with
> > each other using a IPMulticast. No problem there.
> >
> > However, when i request a JSP page giving the proxy servers
> > address(http://proxyIP:7001/Hello.jsp) , it is not able to forward it to
> any
> > of the clustered server instances. It is not even giving me a time out
> > error or page not found or anything. I am not sure if my DNS entries are
> > wrong or if there is any other problem or there is something that i
> missed.
> > Can some one verify this for me please.
> >
> >
> > DNS ENTRIES in HOSTS file are as follows :
> >
> > 127.0.0.1 localhost
> >
> > 192.200.1.251 server251.bozpivot.com
> > 192.200.1.252 server252.bozpivot.com
> > 192.200.1.253 server253.bozpivot.com
> >
> > mycluster 192.200.1.251
> > mycluster 192.200.1.252
> > mycluster 192.200.1.253
> >
> >
> > STACK Trace on proxy is as follows :
> > Sun Jan 02 10:22:33 GMT+05:30 2000:<I> <ServletContext-General> *.jsp:
> init
> > Sun Jan 02 10:22:33 GMT+05:30 2000:<E> <proxy> Please specify secure
port
> in
> > the
> > properties. Using default ports 7001/7002 See release notes for more
info
> > Sun Jan 02 10:22:33 GMT+05:30 2000:<E> <proxy> Please specify secure
port
> in
> > the
> > properties. Using default ports 7001/7002 See release notes for more
info
> >
> > Ramesh
> >
> >
> >
> >
>
>
-
Clustering Problems with WLS 4.5.1
Hi!
I'm trying to configure a WebLogic 4.5.1 cluster (named "cluster1", on two
WinNT4 SP5 servers (instances WLS "server A" and "server B")
When I start each WLS instance in each server, both create a cluster where I
can only find one WLS server, not two! So I have on each NT server, one
cluster which contain one WLS server!!!
To see that, I use the WLS console on the 2 servers, and I see that in each
server, there is a cluster "cluster1" and only one server ("server A" in the
first NT Server, and "server B" in the second one).
The two server are identical, same OS, same SP, same WLS version, same WLS
Service Pack, same IP Multicast address, same TCP port (7001), and there is
no multihoming.
I can't see how to put the two WLS servers in the same cluster!
Do someone have a clue?
Best regards,
Jean-Michel Gautreau
[email protected]
Here is a console screendump, taken after the two WLS servers' boot.
I forgot to tell we have installed WLBS on both NT servers, before
installing WebLogic 4.5.1. Is there a problem in the communication between
the two servers? I'm not sure but I feel it is a network problem, the two NT
servers don't seem to communicate correctly through WLBS with the WLS
cluster?
Any hint?
[dump.bmp]
-
Clustering problem WLS 5.1
Hi,
we have an environment with 2 clusters ( 1 JSP & 1 EJB)
both cluster consist each of 2 nodes, where 1 JSP and 1 EJB are running on a machine.
although both clusters seem to act correctly at runtime ( and are also visible
in the console as clusters), we get an exception at startup - only at th JSP tier
which is rather confusing:
Do Aug 08 06:11:15 CEST 2002:<E> <WebLogicServer> Unable to bind cluster MO as
"WebLogic" into JNDI tree
javax.naming.NameAlreadyBoundException; remaining name 'weblogic.cluster.WebLogic'
at weblogic.rmi.extensions.AbstractRequest.sendReceive(AbstractRequest.java:76)
at weblogic.jndi.toolkit.BasicWLContext_WLStub.bind(BasicWLContext_WLStub.java:1261)
at weblogic.jndi.toolkit.WLContextStub.bind(WLContextStub.java:484)
at weblogic.cluster.ClusterMain.start(ClusterMain.java:290)
at weblogic.t3.srvr.T3Srvr.start(T3Srvr.java:1447)
at weblogic.t3.srvr.T3Srvr.main(T3Srvr.java:869)
at java.lang.reflect.Method.invoke(Native Method)
at weblogic.Server.startServerDynamically(Server.java:140)
at weblogic.Server.main(Server.java:97)
at weblogic.Server.main(Server.java:58)
None of our clusters is named MO !
Does anybody have a clue ?!Hi,
we have an environment with 2 clusters ( 1 JSP & 1 EJB)
both cluster consist each of 2 nodes, where 1 JSP and 1 EJB are running on a machine.
although both clusters seem to act correctly at runtime ( and are also visible
in the console as clusters), we get an exception at startup - only at th JSP tier
which is rather confusing:
Do Aug 08 06:11:15 CEST 2002:<E> <WebLogicServer> Unable to bind cluster MO as
"WebLogic" into JNDI tree
javax.naming.NameAlreadyBoundException; remaining name 'weblogic.cluster.WebLogic'
at weblogic.rmi.extensions.AbstractRequest.sendReceive(AbstractRequest.java:76)
at weblogic.jndi.toolkit.BasicWLContext_WLStub.bind(BasicWLContext_WLStub.java:1261)
at weblogic.jndi.toolkit.WLContextStub.bind(WLContextStub.java:484)
at weblogic.cluster.ClusterMain.start(ClusterMain.java:290)
at weblogic.t3.srvr.T3Srvr.start(T3Srvr.java:1447)
at weblogic.t3.srvr.T3Srvr.main(T3Srvr.java:869)
at java.lang.reflect.Method.invoke(Native Method)
at weblogic.Server.startServerDynamically(Server.java:140)
at weblogic.Server.main(Server.java:97)
at weblogic.Server.main(Server.java:58)
None of our clusters is named MO !
Does anybody have a clue ?! -
Re-login problem with WLS 5.1 sp8
Hi,
I have a re-login problem with a war servlet: user called reader does not have
viewing access to all views of a web interface. When she tries to access those
views a new login dialog comes up as should. The problem is that this new dialog
does not accept power user login as I would like it to! Any ideas how to change
the configuration in either web.xml or weblogic.properties file to make it work?
In Tomcat environment it works.
BR JukkaHi,
I have a re-login problem with a war servlet: user called reader does not have
viewing access to all views of a web interface. When she tries to access those
views a new login dialog comes up as should. The problem is that this new dialog
does not accept power user login as I would like it to! Any ideas how to change
the configuration in either web.xml or weblogic.properties file to make it work?
In Tomcat environment it works.
BR Jukka -
Servlet reloading not working with WLS 5.1 sp8
I downloaded and installed WLS 5.1's sp8 to fix the "java.net.SocketException: Connection aborted by peer: socket write error"
problem. Although that problem is fixed, I have found that, however, the servlet (automatic) reloading does not
work anymore. If I remove the sp8 from my Java system classpath and WL classpath (i.e. not using sp8), then
the servler reloading works fine.
Does anybody experience similar problem or have I forgot to do something?
WLS properties/env vars setting:
- weblogic.httpd.servlet.reloadCheckSecs=0
- WEBLOGIC_CLASSPATH=%WEBLOGIC_HOME%\lib\weblogic510sp8.jar;...
- JAVA_CLASSPATH=%WEBLOGIC_HOME%\lib\weblogic510sp8boot.jar;...
Thanks in advance for any help.
I've experienced the same problem with both sp6 and sp8. In both cases I performed several test, including
- varied the value of weblogic.httpd.servlet.reloadCheckSecs
- changes to the package depth the servlet belonged to
- changes to the string length of the package names the servlet belonged to
At best, the servlet would reload sometimes. I've moved back to sp5 and the problem has subsided.
Note: I did not try registering the servlet to see how that would effect the dynamic reloading.
Hope this helps
- Dave
"Michel Dinh" <[email protected]> wrote:
>
>I downloaded and installed WLS 5.1's sp8 to fix the "java.net.SocketException: Connection aborted by peer: socket write error"
>problem. Although that problem is fixed, I have found that, however, the servlet (automatic) reloading does not
>work anymore. If I remove the sp8 from my Java system classpath and WL classpath (i.e. not using sp8), then
>the servler reloading works fine.
>
>
>Does anybody experience similar problem or have I forgot to do something?
>
>WLS properties/env vars setting:
>
>- weblogic.httpd.servlet.reloadCheckSecs=0
>- WEBLOGIC_CLASSPATH=%WEBLOGIC_HOME%\lib\weblogic510sp8.jar;...
>- JAVA_CLASSPATH=%WEBLOGIC_HOME%\lib\weblogic510sp8boot.jar;...
>
>Thanks in advance for any help.
-
Communication between Clusters Problem
Hi all
1. Is it possible for a bean, being hosted in a cluster to call a bean which is hosted in another cluster?
We have a problem with the role information, which gets wrong at every second call.
We have the following setup:
- A cluster called "web-cluster" consists of two machines with one weblogic 9.2 server per machine.
- We have another cluster called "ID-Cluster" with the same setup (2 Machines, 2 WLS).
- In the "Web-Cluster" we have a bean deployed called "SecurityProxy".
- In the "Web-Cluster" we have a Web-Application ("WebApp") deployed which use the "SecurityProxy"
- In the ID-Cluster we have a Bean called "SecurityBean". - The SecurityProxy makes a login to the ID-Cluster with a technical user, role "techSecurityProxy".
- Calls from SecurityProxy to SecurityBean alternate with each call.
Problem:
User logs in to the "WebApp" and gets role "customer" associated.
First call from SecurityProxy to SecurityBean: call is done with the correct role "techSecurityProxy" second call is done with the role "customer" !?! It seams as if the security context gets propageted...
We have no trust defined between the clusters and we have no runas configured in den deployment descriptors. Can anyone help?<p>Frank, the security context is propagted between the JVM's. I have asked BEA support to specify if this can be configured or turned off to resolve another issue I have but to date I have not had a response.</p>
<p>In your case can you not add the new principle like -useProxy to authenticated users which allows them to use the proxy once they are authenticated?</p>
<p>
Hussein Badakhchani
London Middleware
</p> -
Connections not being released from jdbc pool on WLS 5.1 sp8
I am using WLS 5.1 on RedHat Linux kernel 2.4
The database is oracle 8.1.6 and I am using the thin jdbc driver as shown in the config below.
weblogic.jdbc.connectionPool.bobePool=\
url=jdbc:oracle:thin:@localhost:1521:<sid>,\
driver=oracle.jdbc.driver.OracleDriver,\
loginDelaySecs=1,\
initialCapacity=10,\
maxCapacity=22,\
capacityIncrement=5,\
allowShrinking=true,\
shrinkPeriodMins=3,\
testConnsOnReserve=true,\
testTable=dual,\
refreshTestMinutes=5,\
props=user=<username>;password=<password>
The problem I am facing is that some connections remain active
after the SQL query has finished. The no. of open connections
keep on piling up till the limit of 18 connections is reached and
ultimately at that point weblogic hangs.
Has someone else faced this problem...and found a solution??
Regards,
Anish Srivastava
System Analyst
Baazee.comHi Caren,
Weblogic doesn't close connections on "time-out". There are some reasons
for this. The most important one is that even if you have such a
functionality,
in case of a connection leak all the available connections can be trashed in
a matter of milliseconds, so it wouldn't help at all. Though, weblogic does
close leaked connection when they are garbage collected, but it's easy to
see
that it doesn't help a lot, too.
So you need to make sure that all the JDBC objects are closed properly,
for example like in this code:
try {
} finally {
try {resultSet.close();} catch (SQLException se) {}
try {preparedStatement.close();} catch (SQLException se) {}
try {connection.close();} catch (SQLException se) {}
Also it's possible that you simply don't have enough connection.
You could try to increase size of the pool.
Regards,
Slava Imeshev
"Karen Law" <[email protected]> wrote in message
news:[email protected]...
Closing the DB connections is important. But is there any parameters to be
set in the WebLogic configuration in order to release the connection whenit
hasn't been closed for a long time? Say, setting the connection timeout?
Many thx!
Karen
"Deyan D. Bektchiev" <[email protected]> wrote in message
news:[email protected]...
Do you close the DB connections in a finally block after you've finished
using them?
If not your application is leaking the connections and sometimes GC is
not able or does not free those in a timely manner.
--dejan
Anish Srivastava wrote:
I am using WLS 5.1 on RedHat Linux kernel 2.4
The database is oracle 8.1.6 and I am using the thin jdbc driver as
shown
in the config below.
weblogic.jdbc.connectionPool.bobePool=\
url=jdbc:oracle:thin:@localhost:1521:<sid>,\
driver=oracle.jdbc.driver.OracleDriver,\
loginDelaySecs=1,\
initialCapacity=10,\
maxCapacity=22,\
capacityIncrement=5,\
allowShrinking=true,\
shrinkPeriodMins=3,\
testConnsOnReserve=true,\
testTable=dual,\
refreshTestMinutes=5,\
props=user=<username>;password=<password>
The problem I am facing is that some connections remain active
after the SQL query has finished. The no. of open connections
keep on piling up till the limit of 18 connections is reached and
ultimately at that point weblogic hangs.
Has someone else faced this problem...and found a solution??
Regards,
Anish Srivastava
System Analyst
Baazee.com -
Hi Guys ,
How should scaling of Weblogic applications being accessed by t3 protocol to be
done .
Consider the following scenario :
Weblogic server A hosts an application which in turn uses t3 protocol to contact
applications hosting in Weblogic Server B. Web Client talks to Weblogic Server
A using IIS Proxy dll. While scaling this set up we can Cluster applications running
on Weblogic Server A .IIS Proxy dll is able to route the requests to Weblogic
Server A clusters.
How should the Weblogic Server B cluster setup to be done ?
Any thoughts on this is welcome.
Thanks & Regards,
Kumar
Actually architecture is such that we need to have Server B separately as it may
host some common functionalities used by multiple applications . So we cannot
merge those two. I am using iisproxy.dll to point to my cluster address for Server
A (Comma separated address) and it is working fine.
Now my Server B is being used by Server A (it is a configuration XML file) where
we specify server B's IP and port number , use t3 protocol to contact Server B.
I am not having a DNS Server to resolve the DNS Name to multiple IP addresses
of cluster. So I am not sure as to how to specify the cluster address for Server
B.
Note: As we have an option of specifying comma separated IP address values in
iisproxy.ini file . Is there any way to specify the cluster address for Server
B.
"Wenjin Zhang" <[email protected]> wrote:
>
>My suggestion is, add your server A to your cluster B. Your IIS proxy
>plugin will
>point to your cluster and you configure iisproxy.ini with your cluster
>address.
>You shouldn't have problem to use comma seperated address.
>
>
>
>"Kumar" <[email protected]> wrote:
>>
>>Thanks a lot.
>>Firstly I may be having JSP/Servlets also in Server B.
>>
>>Secondly If I don't have an DNS Server to resolve the Cluster Address
>>to multiple
>>IP should I be using comma separated IP address as Cluster Address.
>>
>>Let me try further and get back to you.
>>
>>
>>
>>
>>"Wenjin Zhang" <[email protected]> wrote:
>>>
>>>Simply speaking, if cluster B is used to host applications like your
>>>EJB and JMS,
>>>no special configuration on cluster B is required. The only thing you
>>>need take
>>>care is, cluster A should use cluster address of cluster B to contact
>>>cluster
>>>B. I am not sure if you also use B to host servlets/JSPs.
>>>
>>>
>>>"Kumar" <[email protected]> wrote:
>>>>
>>>>Hi Guys ,
>>>>
>>>>How should scaling of Weblogic applications being accessed by t3 protocol
>>>>to be
>>>>done .
>>>>
>>>>Consider the following scenario :
>>>>Weblogic server A hosts an application which in turn uses t3 protocol
>>>>to contact
>>>>applications hosting in Weblogic Server B. Web Client talks to Weblogic
>>>>Server
>>>>A using IIS Proxy dll. While scaling this set up we can Cluster applications
>>>>running
>>>>on Weblogic Server A .IIS Proxy dll is able to route the requests
>to
>>>>Weblogic
>>>>Server A clusters.
>>>>
>>>>How should the Weblogic Server B cluster setup to be done ?
>>>>
>>>>Any thoughts on this is welcome.
>>>>
>>>>Thanks & Regards,
>>>>Kumar
>>>>
>>>
>>
>
-
WLS 7.0 sp2 - Servlet Problems with SOAP messages
I'm using Weblogic 7.0 SP2 and trying to create a Servlet to receive SOAP wrapped
XML messages. I'm getting the following error. Is this a problem with WLS7.0sp2's
support of JAXM? The System.out.println's indicate I have successfully received
the incoming SOAP request and then successfully formatted the SOAP response, but
upon returning saving the response it appears to blow up. Does anyone have any
suggestions?
I need to do the following in a servlet:
- receive an incoming SOAP request with an embedded XML message
- perform some processing
- return a SOAP response with an embedded XML message
Should I be using JAXM? Or can I do this same task easily with JAX-RPC?
<Feb 24, 2004 4:10:42 PM AST> <Error> <HTTP> <101017> <[ServletContext(id=260434
7,name=isd.war,context-path=)] Root cause of ServletException
java.lang.Error: NYI
at weblogic.webservice.core.soap.SOAPMessageImpl.saveRequired(SOAPMessag
eImpl.java:360)
at javax.xml.messaging.JAXMServlet.doPost(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run
(ServletStubImpl.java:1058)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:401)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:306)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationActio
n.run(WebAppServletContext.java:5445)
at weblogic.security.service.SecurityServiceManager.runAs(SecurityServic
eManager.java:780)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe
rvletContext.java:3105)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm
pl.java:2588)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:213)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:189)
>
I've stripped the code down so that all it does is verifies the incoming SOAP/XML
request and creates a hard-coded response... be gentle... I'm a novice at this
import javax.xml.soap.*;
import javax.servlet.*;
import javax.servlet.http.*;
// import javax.xml.transform.*;
import java.util.*;
import java.io.*;
public class RegisterServlet extends HttpServlet
static MessageFactory fac = null;
static
try
fac = MessageFactory.newInstance();
catch (Exception ex)
ex.printStackTrace();
public void init(ServletConfig servletConfig) throws ServletException
super.init(servletConfig);
public void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException,
IOException
try
System.out.println("** Note: doPost() Entering req = " + req);
// Get all the headers from the HTTP request
MimeHeaders headers = getHeaders(req);
// Get the body of the HTTP request
InputStream is = req.getInputStream();
// Now internalize the contents of a HTTP request
// and create a SOAPMessage
SOAPMessage msg = fac.createMessage(headers, is);
System.out.println("** Note: doPost() Step A");
SOAPMessage reply = null;
reply = onMessage(msg);
System.out.println("** Note: doPost() Step B reply = " + reply);
if (reply != null)
* Need to call saveChanges because we're
* going to use the MimeHeaders to set HTTP
* response information. These MimeHeaders
* are generated as part of the save.
if (reply.saveRequired())
System.out.println("** Note: doPost() Step C reply.saveRequired()");
reply.saveChanges();
resp.setStatus(HttpServletResponse.SC_OK);
putHeaders(reply.getMimeHeaders(), resp);
// Write out the message on the response stream
OutputStream os = resp.getOutputStream();
System.out.println("** Note: doPost() Step D os = " + os);
reply.writeTo(os);
os.flush();
else
resp.setStatus(HttpServletResponse.SC_NO_CONTENT);
catch (Exception ex)
throw new ServletException("** Error: SAAJ POST failed: " + ex.getMessage());
static MimeHeaders getHeaders(HttpServletRequest req)
Enumeration enum = req.getHeaderNames();
MimeHeaders headers = new MimeHeaders();
while (enum.hasMoreElements())
String headerName = (String)enum.nextElement();
String headerValue = req.getHeader(headerName);
StringTokenizer values =
new StringTokenizer(headerValue, ",");
while (values.hasMoreTokens())
headers.addHeader(headerName,
values.nextToken().trim());
return headers;
static void putHeaders(MimeHeaders headers, HttpServletResponse res)
Iterator it = headers.getAllHeaders();
while (it.hasNext())
MimeHeader header = (MimeHeader)it.next();
String[] values = headers.getHeader(header.getName());
if (values.length == 1)
res.setHeader(header.getName(),
header.getValue());
else
StringBuffer concat = new StringBuffer();
int i = 0;
while (i < values.length)
if (i != 0)
concat.append(',');
concat.append(values[i++]);
res.setHeader(header.getName(), concat.toString());
// This is the application code for handling the message.
public SOAPMessage onMessage(SOAPMessage message)
SOAPMessage replymsg = null;
try
System.out.println("** Note: OnMessage() Entering msg = " + message);
//Extract the ComputerPart element from request message and add to reply SOAP
message.
SOAPEnvelope reqse = message.getSOAPPart().getEnvelope();
SOAPBody reqsb = reqse.getBody();
//System.out.println("** Note: OnMessage() Step B");
System.out.println("** Note: OnMessage () Step A Soap Request Message Body = "
+ reqsb);
//Create a reply mesage from the msgFactory of JAXMServlet
System.out.println("** Note: OnMessage () Step B");
replymsg = fac.createMessage();
SOAPPart sp = replymsg.getSOAPPart();
SOAPEnvelope se = sp.getEnvelope();
SOAPBody sb = se.getBody();
System.out.println("** Note: OnMessage () Step C Soap Reply Before Message Body
= " + sb);
se.getBody().addBodyElement(se.createName("RegisterResponse")).addChildElement(se.createName("ErrorCode")).addTextNode("000");
System.out.println("** Note: OnMessage () Step D Soap Reply After Message Body
= " + sb);
replymsg.saveChanges();
System.out.println("** Note: OnMessage() Exiting replymsg = " + (replymsg));
catch (Exception ex)
ex.printStackTrace();
return replymsg;
Michael,
I got the same error on WLS8.1/Win2K professional and apache FOP (old version).
After digging into the WLS code and FOP(old version). i found the conflict happens
on
the "org.xml.sax.parser" system property. In WLS code, they hard coded like the
following when startup weblogic server:
System.setProperty("org.xml.sax.parser", "weblogic.xml.jaxp.RegistryParser");
But the FOP code try to use the "org.xml.sax.parser" system property to find the
sax parser then conlict happens.
Here is the response from BEA support :
"I consulted with our developers regarding the question of whether we can change
the hard-coded value for the java system property: org.xml.sax.parser by using
a configuration parameter and I found that unfortunately there is no specific
setting to change the value. As you had mentioned in your note the org.xml.sax.parser
system property can be changed programmatically in your application code."
I solve my problem by using newer apache FOP (it never use the system property:org.xml.sax.parser
any more) and XML Registy for WLS8.1.
Good luck.
David Liu
Point2 Technologies Inc.
"p_michael" <[email protected]> wrote:
>
Help.
When we migrated from WLS 6.1 to WLS 7.0 SP2 when encountered a problem
with XML
parsing that did not previously exist.
We get the error "weblogic.xml.jaxp.RegistryParser is not a SAX driver".
What does this mean? And, what should we do about it.
p_michael -
Clustering problems and load balancing question
I am using Weblogic 6.1. My Windows NT environment consists of 10 web client-simulator
machines, 2 App. Server machines and one database server machine. I have defined
one cluster on each app. server. Each cluster is running 3 Weblogic instances, or
so it should be when I fix my problems!
My questions/problems are the following:
1. Can I use a software dispatcher to perform workload balancing between the 2 weblogic
clusters? That is, the client-simulator machines send the requests to the software
dispatcher which performs workload balancing between the 2 Weblogic clusters. The
clusters perform round-robin amongst all instances. Note that the documentation only
talks about Hardware Balancing.
2. I am having problems with my multicast IP addresses. For instance, on one App.
Server machine, I am using the multicast IP address: 239.0.0.1 for MyCluster. When
I start the Admin Server, I get a JDBC error: "... multicast socket error: Request
Time Out". I have used the utils.MulticastTest utility which shows the packets not
being received:
I (S1) sent message num 1
I (S1) sent message num 2
I (S1) sent message num 3
I (S1) sent message num 4
What am I doing wrong?
3. Re. the cluster configuration:
NOTE: I have executed my workload using 2 independent App. Server machines with a
software dispatcher - no clustering. Each App. Server used a jdbc connection pool
of 84 database connections. The db connections happened to become my bottleneck.
When I tried to increase the number of connections in the jdbc pool, throughput decreased
dramatically. Thus, I decided to add a cluster of Weblogic instances to each one
of my 8 x 900Mhz machines in order to scale up. Unfortunatly, adding clusters have
not been that simple a task - probably because I am totally new to the Web Application
Server world!
Here is what I've got so far:
I have obtained 3 static IP addresses for the 3 instances of Weblogic instances that
I wish to run within the cluster. All servers in the cluster use port number 80.
There is a corresponding DNS entry for each IP address. My base assumption is that
one of these instances will double up as the Administration Server... Is it true,
or do I need to define a separate Admin server if I wish to run 3 Weblogic instances
(each with a connection pool of 84 database connections for a total of 252 database
connections)?
Do I need to re-deploy my applications for the cluster? And if so, would this explain
why I am having problem starting my Admin Server?
I think this is it for now. Any help will be greatly appreciated!
Thanks in advance,
Guylaine.
Guylaine Cantin wrote:
> I am using Weblogic 6.1. My Windows NT environment consists of 10 web client-simulator
> machines, 2 App. Server machines and one database server machine. I have defined
> one cluster on each app. server. Each cluster is running 3 Weblogic instances, or
> so it should be when I fix my problems!
>
> My questions/problems are the following:
>
> 1. Can I use a software dispatcher to perform workload balancing between the 2 weblogic
> clusters? That is, the client-simulator machines send the requests to the software
> dispatcher which performs workload balancing between the 2 Weblogic clusters. The
> clusters perform round-robin amongst all instances. Note that the documentation only
> talks about Hardware Balancing.
>
We also support software load balancers (for e.g. resonate)
The software dispatcher should be intelligent enough to decode the
cookie and route the request to the appropriate servers. This is
necessary to maintain sticky load balancing.
> 2. I am having problems with my multicast IP addresses. For instance, on one App.
> Server machine, I am using the multicast IP address: 239.0.0.1 for MyCluster. When
> I start the Admin Server, I get a JDBC error: "... multicast socket error: Request
> Time Out". I have used the utils.MulticastTest utility which shows the packets not
> being received:
>
> I (S1) sent message num 1
> I (S1) sent message num 2
> I (S1) sent message num 3
> I (S1) sent message num 4
> ...
>
> What am I doing wrong?
>
You should run the above utility from multiple windows and see if each
of them being recognized or not.
i.e. java utils.MulticastTest -N S1 -A 239.0.0.1
java utils.MulticastTest -N S1 -A 239.0.0.1
> 3. Re. the cluster configuration:
>
> NOTE: I have executed my workload using 2 independent App. Server machines with a
> software dispatcher - no clustering. Each App. Server used a jdbc connection pool
> of 84 database connections. The db connections happened to become my bottleneck.
> When I tried to increase the number of connections in the jdbc pool, throughput decreased
> dramatically. Thus, I decided to add a cluster of Weblogic instances to each one
> of my 8 x 900Mhz machines in order to scale up. Unfortunatly, adding clusters have
> not been that simple a task - probably because I am totally new to the Web Application
> Server world!
>
You have to stress test your application several times and set
maxCapacity of the conn pool accordingly.
> Here is what I've got so far:
>
> I have obtained 3 static IP addresses for the 3 instances of Weblogic instances that
> I wish to run within the cluster. All servers in the cluster use port number 80.
> There is a corresponding DNS entry for each IP address. My base assumption is that
> one of these instances will double up as the Administration Server... Is it true,
> or do I need to define a separate Admin server if I wish to run 3 Weblogic instances
> (each with a connection pool of 84 database connections for a total of 252 database
> connections)?
BEA recommends to use Admin server for administrative tasks only
like configuring new deployments, jdbc conn pools, adding users etc..
It's not a good idea to have admin server part of cluster.
>
> Do I need to re-deploy my applications for the cluster? And if so, would this explain
> why I am having problem starting my Admin Server?
>
You have to target all your apps to the Cluster.
> I think this is it for now. Any help will be greatly appreciated!
>
> Thanks in advance,
>
> Guylaine.
>
Maybe you are looking for
-
How can i make my imovie contents fit in tv safe zone in idvd?
hi, i have a project that i made in imovie, and imported into idvd in order to burn it to DVD. when i play the DVD in a regular player on a 27 inch TV (probably 6 years old) some of the images that have text on them are bleeding off the screen and yo
-
Using a shared photo in Web Gallery
My wife and I share a computer and we each have a .Mac account. However, all of our pictures are in iPhoto under her login. I would like to publish a Web Gallery using my .Mac account and photos shared from her iPhoto library. However when I include
-
Service SystemInfo browser query ..
Hi All, Had to browse the user roles on two MIIs 14.0.2 Build 82. (QA/DEV instances). While using: [Server][port]/XMII/Illuminator?Service=SystemInfo&Mode=RoleList&Content-Type=text/xml One server brings me the complete list, the second one misses ap
-
CAT2 - making user defined feild visible in profile
Hello , am facing a issue , I need to create a New profile in CAC1 [ done] by coping the already existing profile. IN already existing profile we have made DISPLAY settings to "CATS_ADDFI-FIELD1" - Additional field 1. This is defined as ACTIVITY DESC
-
Dump in function module CACS_BUPA_PAI_SPECIAL_CACSB1
Hi experts, I am trying to create business partner in SAP treasury module with role - general business partner and validity period 01/01/0001 - 12/31/9999. I am gettting syntax error in Function module CACS_BUPA_PAI_SPECIAL_CACSB1, it says The ke