You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Will Boyd <ja...@gmail.com> on 2006/11/14 17:37:58 UTC

NoSuchFieldError: DOCUMENT in axis 1.4

hi,

i'm working with axis 1.4. i generated a document/literal ws on a server
machine from an existing class (using the java2wsdl + wsdl2java ant tasks).
i deployed it on the server and it was good to go. then, on a different
client machine, i generated the client stubs (again, using the wsdl2java ant
tasks + axis 1.4) by pointing at the deployed wsdl on the server machine.
that was also good to go. my ws client could hit the service and all was
good with the world. i've been going along happily for the last couple weeks
coding and successfully testing both those two (ws client + ws server) along
with other bits of my project.

now all of a sudden - after weeks with the above client and service working
fine - i'm getting "java.lang.NoSuchFieldError: DOCUMENT" messages! from
what i've googled, many people have solved this issue by regenerating the
source with an updated version of axis. but, i AM generating my source with
the same axis.jar that i am using to run the app. i know this sounds lame,
but it has been working without giving this error for the last couple
weeks.  i have tried everything i can think of. i've tracked down every
occurance of the axis generated source+classes; deleted them,  regenerated
with wsdl2java. but i still get the same error! i can drill down through the
point in the stub at which the error is reported, and i end up in
org.apache.axis.description.OperationDesc.setName(String). that class (found
in axis.jar 1.4) uses org.apache.axis.constants.Style which defines an
enumeration of Styles; one of which is "DOCUMENT".

i am aware that older versions of axis used
org.apache.axis.enum.Stylebefore Style was moved to the new package. i
am aware that package move
caused "java.lang.NoSuchFieldError: DOCUMENT" problems for some apps. but,
please, can anybody explain why i'd be getting that error even though i AM
using axis.jar 1.4 for both generating the code with wsdl2java and for
running the app? what's got me stumped is why it worked before, and only all
of a sudden it chokes? any suggestions would be sincerely appreciated.

many thanks



==================================
stack trace occured on the client-side:

Exception in thread "main" java.lang.NoSuchFieldError: DOCUMENT
        at net.javafreelancer.ws.SoapBindingStub.<clinit>(
SoapBindingStub.java:27)
        at net.javafreelancer.ws.ServiceLocator.getSoapBindingStub(
ServiceLocator.java:43)
        at ...

==================================
==================================

the client-side SoapBindingStub.java code referred to by the stack trace:

23.   ...
23.   private static void _initOperationDesc1(){
24.         org.apache.axis.description.OperationDesc oper;
25.         org.apache.axis.description.ParameterDesc param;
26.         oper = new org.apache.axis.description.OperationDesc();
27.         oper.setName("submit");
28.         param = new org.apache.axis.description.ParameterDesc(...)
29.         ...
==================================

Re: NoSuchFieldError: DOCUMENT in axis 1.4

Posted by Will Boyd <ja...@gmail.com>.
what a bonehead i am. LOL. an old _forgotten_ jar containing an early
prototype version of the stub (built using axis.jar 1.1 and
org.apache.axis.enum.Style) was hiding in the classpath and conflicting with
axis.jar 1.4's org.apache.axis.constants.Style. don't try this at home. LOL.

On 11/14/06, Will Boyd <ja...@gmail.com> wrote:
>
> hi,
>
> i'm working with axis 1.4. i generated a document/literal ws on a server
> machine from an existing class (using the java2wsdl + wsdl2java ant tasks).
> i deployed it on the server and it was good to go. then, on a different
> client machine, i generated the client stubs (again, using the wsdl2java ant
> tasks + axis 1.4) by pointing at the deployed wsdl on the server machine.
> that was also good to go. my ws client could hit the service and all was
> good with the world. i've been going along happily for the last couple weeks
> coding and successfully testing both those two (ws client + ws server) along
> with other bits of my project.
>
> now all of a sudden - after weeks with the above client and service
> working fine - i'm getting "java.lang.NoSuchFieldError: DOCUMENT"
> messages! from what i've googled, many people have solved this issue by
> regenerating the source with an updated version of axis. but, i AM
> generating my source with the same axis.jar that i am using to run the
> app. i know this sounds lame, but it has been working without giving this
> error for the last couple weeks.  i have tried everything i can think of.
> i've tracked down every occurance of the axis generated source+classes;
> deleted them,  regenerated with wsdl2java. but i still get the same error! i
> can drill down through the point in the stub at which the error is reported,
> and i end up in org.apache.axis.description.OperationDesc.setName(String).
> that class (found in axis.jar 1.4) uses org.apache.axis.constants.Stylewhich defines an enumeration of Styles; one of which is "DOCUMENT".
>
> i am aware that older versions of axis used org.apache.axis.enum.Stylebefore Style was moved to the new package. i am aware that package move
> caused "java.lang.NoSuchFieldError: DOCUMENT" problems for some apps. but,
> please, can anybody explain why i'd be getting that error even though i AM
> using axis.jar 1.4 for both generating the code with wsdl2java and for
> running the app? what's got me stumped is why it worked before, and only all
> of a sudden it chokes? any suggestions would be sincerely appreciated.
>
> many thanks
>
>
>
> ==================================
> stack trace occured on the client-side:
>
> Exception in thread "main" java.lang.NoSuchFieldError: DOCUMENT
>         at net.javafreelancer.ws.SoapBindingStub.<clinit>(
> SoapBindingStub.java:27)
>         at net.javafreelancer.ws.ServiceLocator.getSoapBindingStub(
> ServiceLocator.java:43)
>         at ...
>
> ==================================
> ==================================
>
> the client-side SoapBindingStub.java code referred to by the stack trace:
>
> 23.   ...
> 23.   private static void _initOperationDesc1(){
> 24.         org.apache.axis.description.OperationDesc oper;
> 25.         org.apache.axis.description.ParameterDesc param;
> 26.         oper = new org.apache.axis.description.OperationDesc();
> 27.         oper.setName("submit");
> 28.         param = new org.apache.axis.description.ParameterDesc(...)
> 29.         ...
> ==================================
>