Somewhere in this code (scanpage.java) the addr steing becomes null. The
getHostnames only works if the address is not null.
Or the remotehost is missing in the http headers or your proxy is
vpro6d.vpro.nl/145.58.172.6 and the X-Forwarded-For http header is missing.
/**
* Extract hostname from scanpage, get address and determine the proxies
between it.<br>
* Needed to determine if user comes from internal or external host,
because
* we use two streaming servers, one for external users and one for
internal users.
* <br>
* input : scanpage sp, contains hostname as ipaddress<br>
* output : String
"clientproxy.clientside.com->dialin07.clientside.com"<br>
* <br>
* uses : VPROProxyName, VPROProxyAddress
*/
public String getAddress() {
String result = null;
boolean fromProxy = false;
String addr = req.getRemoteHost();
if( addr != null && !addr.equals("") ) {
// from proxy ?
// ------------
if( addr.indexOf( VPROProxyName ) != -1 || addr.indexOf(
VPROProxyAddress ) != -1 ) {
// get real address
fromProxy = true;
addr = req.getHeader("X-Forwarded-For");
if( addr != null && !addr.equals("") ) {
result = addr;
}
} else {
result = addr;
}
}
result = getHostNames( addr );
if( fromProxy ) {
result = "zen.vpro.nl->" + result;
}
return result;
}
Nico Klasens
Finalist IT Group
Java Specialists
-----Oorspronkelijk bericht-----
Van: Ploeg, Karen van der (Fin) [mailto:[EMAIL PROTECTED]
Verzonden: woensdag 16 juli 2003 9:37
Aan: '[EMAIL PROTECTED]'
Onderwerp: problems with scanpage.getHostNames
Hi all,
Hope someone can help me out. I am using apache1.3.27,
tomcat-4.1.24-LE-jdk14 and mmbase-1.6.3 with ajp13 connector on a redhat
linux system. I have my website up and running but keep running into the
problem that my images won't display due to a scanpage.getHostnames problem:
2003-07-16 10:19:51 StandardWrapperValve[servdb]: Servlet.service() for
servlet servdb threw exception java.lang.NullPointerException
at org.mmbase.util.scanpage.getHostNames(scanpage.java)
at org.mmbase.util.scanpage.getAddress(scanpage.java)
at org.mmbase.servlet.servdb.checkImgMirror(servdb.java)
at org.mmbase.servlet.servdb.service(servdb.java)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:247)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:193)
at org.mmbase.servlet.JumpersFilter.doFilter(JumpersFilter.java)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:213)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:193)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:256)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:191)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180
)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.
java:171)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172
)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641)
at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:509)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:174)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.ajp.tomcat4.Ajp13Processor.process(Ajp13Processor.java:466)
at
org.apache.ajp.tomcat4.Ajp13Processor.run(Ajp13Processor.java:585)
at java.lang.Thread.run(Thread.java:536)
All ideas on how to get the sucker back to work are welcome! I am not a
developer but I feel that this is the place to post my question since this
obiously is something that needs a developer's point of view I guess.
Correct me if I'm wrong of course but if I am please tell me where else to
post my question. If you do have any suggestions on how to solve the
problem, please be as specific as possible since I am no expert in these
matters. I have been searching for the solution to this problem since
yesterday morning and am completely out of ideas.
Karen.