Wonder has a few classes in it that replace eocontrol classes but this
class is unfortunately not one of them. My spider-sense is tingling and
telling me that there may be a static final ivar in that class that is
set to the maximum number of bytes allowed for the
hostIdentificationBytes value. It may be called ...
_HostIdentificationBytesLength, perhaps. It's just a guess.
And, you know, if one thought an IP address could be as many as 6 bytes,
this was the 1990's version of thinking ahead.
You could write the code that will, early in your app's life, grab
that static ivar via reflection and call the method that allows you to
set the value of the field to another number. There will be a whole
slew of exceptions to catch there. Look at the javadoc for
java.lang.reflect.Field and the stuff around there. This would be
easier than trying to replace the class right now.
Send a note if you need more specific pointers or if the suggestion
does not work.
cheers - ray
On Wed, 16 Apr 2014 15:23:08 -0400 Saad Laassel
<
email@hidden> wrote:
Hello All,
We are trying to deploy a webobjects application on an IPv6 network
but as soon we pass "java.net.preferIPv6Addresses = true" to the JVM,
to try to force our app to use IPv6 addresses we get the following
error and the application can not start up:
<Servlet: "WOServletAdaptor" failed to preload on startup in Web
application: "app". javax.servlet.UnavailableException: Error
initializing servlet adaptor: null at
com.webobjects.jspservlet.WOServletAdaptor._applicationInit(WOServletAdaptor.java:442)
at
com.webobjects.jspservlet.WOServletAdaptor.initStatics(WOServletAdaptor.java:95)
We believe this is due to the
EOTemporaryGlobalID._setHostIdentificationBytes() method that's part
of the javaeocontrol jar. The _setHostIdentificationBytes() method
expects the ip address to be either 4 bytes or 6 bytes, but in the
case of IPv6 it will be 16 bytes so the check fails and an exception
is thrown. The fix is pretty straight forward but since this is part
of the WebObjects framework we are unable to change the source code
and are wondering if this was already addressed as part of project
wonder? or if somebody has been successful at running WebObjects with
IPv6 some other way? Thanks in advance.
Thanks,
Saad