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 Darrell Gamble <dg...@yahoo.com> on 2002/11/15 19:08:02 UTC

Re: java2WSDL/WSDL2Java problems

Hi, everyone.  My quesiton for today is how to get my wsdl2Java and vice versa up and running.  I have solved other Axis classpath issues but this one continues to nag me as I get the dreaded noclassdeffound error for org/apache/axis/Wsdl2java.  But I have axis.jar, clutil, log4j-core, wsdl4j, xerces and other jars individually in my classpath and equally in Tomcat's common\lib folder.  I am not getting the extracts from calling the wsdl's from the command line and have not gotten farther since.  
I appreciate the timely and helpful responses.  Hopefully you can get me out of this one.  















On Friday 15 November 2002 12:46 pm, Russell Brown wrote:
> Cheers ben,
>
> That is pretty much line for line what I have, except that the service
> provider is java:EJB and maybe that is where my problem is. It migt be the
> marshalling at the EJB end that is returning the wrong type. I just don't
> know enough about this to debug it. I have got the Axis source code and am
> reading through the stack trace trying to figure out why this works in the
> client
>
> TypeMapping tm = call.getTypeMapping();
> DeserializerFactory dsf =
> (org.apache.axis.encoding.DeserializerFactory)tm.getDeserializer(qn);
> if(dsf != null) {
> FSDeserializer fsd =
> (com.freeserve.fsmap.encoding.FSDeserializer)dsf.getDeserializerAs(Constant
>s.AXIS_SAX); }
>
> but not in the RPCHandler class ( where the error is being thrown )
>
> if (dser == null) {
> //hack this to get our deserializer:
> //*****************************************************
>
> TypeMapping tmfs = context.getTypeMapping();
> DeserializerFactory dsf =
> (org.apache.axis.encoding.DeserializerFactory)tmfs.getDeserializer(qname);
> if(dsf != null) {
> dser =
> (org.apache.axis.encoding.Deserializer)dsf.getDeserializerAs(Constants.AXIS
>_SAX); } else {
> System.out.println("Still couldn't find it!!!");
> throw new SAXException(Messages.getMessage("noDeser01", localName,"" +
> type)); }
>
> //*****************************************************
> //end hack
> }
>
>
> So, thanks for your help, I'll post to the list if I can find out what is
> going wrong with my code .
>
> Regards
>
> Russell
>
> -----Original Message-----
> From: Ben Souther [mailto:bsouther@fwdco.com]
> Sent: 15 November 2002 17:39
> To: axis-user@xml.apache.org
> Subject: Re: Serializing / Deserializing
>
>
>
> This is up and working with Axis 1.0. on tomcat 4.1.12.
> I'm sorry if it's sloppy.
> Good luck.
>
>
>
>
> From the WSDD:
>
> 
> 
> value="com.someone.somwhere.service.PayrollSummaryService"/> 
> name="allowedMethods" value="*" />
>
> > xmlns:ns1="com.someone.somewhere.payrollsummary.shared"
> 
> languageSpecificType="java:com.someone.somewhere.payrollsummary.shared.Payr
>ollSummaryDataBean" />
>
> > xmlns:ns1="com.someone.somewhere.payrollsummary.shared"
> 
> languageSpecificType="java:com.someone.somewhere.payrollsummary.shared.Empl
>oyeeListDataBean" /> 
>
>
>
>
> From the client:
>
>
> try{
> 112 Service service = new Service();
> 113 Call call = (Call)service.createCall();
> 114 call.setTargetEndpointAddress(
> 115 new URL(_payrollSummaryServiceURL));
> 116
> 117 QName qName = new QName(
> 118 "PayrollSummaryService",
> 119 "getPayrollSummaryData"
> 120 );
> 121 call.setOperationName(qName);
> 122
> 123 //
> 124 // The QName for mapping the PayrollSummaryDataBean
> 125 // to the return value from the web service.
> 126 //
> 127 QName returnQName = new QName(
> 128 "com.someone.somewhere.payrollsummary.shared",
> 129 "PayrollSummaryDataBean"
> 130 );
> 131
> 132 call.registerTypeMapping(
> 133 PayrollSummaryDataBean.class,
> 134 returnQName,
> 135 new BeanSerializerFactory(
> 136 PayrollSummaryDataBean.class,
> 137 returnQName
> 138 ),
> 139 new BeanDeserializerFactory(
> 140 PayrollSummaryDataBean.class,
> 141 returnQName
> 142 )
> 143 );
> 144
> 145 call.setReturnType(
> 146 returnQName,
> 147 PayrollSummaryDataBean.class
> 148 );
> 149
> 150 System.out.println("period: " + _period);
> 151
> 152 _dataBean = (PayrollSummaryDataBean)call.invoke(
> 153 new Object[]{
> 154 _clientID,
> 155 _employeeID,
> 156 _period,
> 157 _year
> 158 }
> 159 );
> 160 }catch(Exception e){
> 161 System.out.println(
> 162 "Error in PayrollSummaryBean: "
> 163 + e
> 164 );
> 165 }
> 16
>
> On Friday 15 November 2002 11:42 am, Russell Brown wrote:
> > Hi,
> >
> > Has anyone on this list managed to serialize AND deserialize a bean with
> > Axis's bean serializer or there own custom serializer / deserializer ever
> > ?
> >
> > Just to know that it has been done once will fill me with a renewed hope.
> > If you can tell me how you side stepped the ubiquitous error (Error :
> > org.xml.sax.SAXException: Deserializing parameter 'arg1': could not find
> > deserializer for type ANYTYPEWHATSOEVEREXCEPTPRIMATIVES) as well I may
> > very well weep with joy.
> >
> > Many thanks
> >
> > Russell
> >
> > PS check this out:
> >
> > call.registerTypeMapping(ArgumentSet.class, qn,
> > FSSerializerFactory.class, FSDeserializerFactory.class, t);
> >
> > TypeMapping tm = call.getTypeMapping();
> > boolean isit = tm.isRegistered(ArgumentSet.class, qn);
> >
> > System.out.println("Well isit ? : "+isit);
> >
> > DeserializerFactory dsf =
> > (org.apache.axis.encoding.DeserializerFactory)tm.getDeserializer(qn);
> >
> > if(dsf != null) {
> > FSDeserializer fsd =
> > (com.freeserve.fsmap.encoding.FSDeserializer)dsf.getDeserializerAs(Consta
> >nt s.AXIS_SAX); }
> >
> > all works, yes I can find the f***** deserializer but AxisEngine cannot:
> > anyone, anyone ??
> >
> > RB



Respectfully yours,Darrell GambleDatabase Programmer, Harris Bank


---------------------------------
Do you Yahoo!?
Yahoo! Web Hosting - Let the expert host your site

Re: java2WSDL/WSDL2Java problems

Posted by James Black <jb...@ieee.org>.
Darrell Gamble wrote:

> Hi, everyone.  My quesiton for today is how to get my wsdl2Java and
> vice versa up and running.  I have solved other Axis classpath issues
> but this one continues to nag me as I get the dreaded noclassdeffound
> error for org/apache/axis/Wsdl2java.  But I have axis.jar, clutil,
> log4j-core, wsdl4j, xerces and other jars individually in my classpath
> and equally in Tomcat's common\lib folder.  I am not getting the
> extracts from calling the wsdl's from the command line and have not
> gotten farther since.
>
> I appreciate the timely and helpful responses.  Hopefully you can get
> me out of this one.

  Did you compile a server-side stub, and have it available to Tomcat?