RE: complex types
"Luca Baldi" <[email protected]>
| Newsgroups | gmane.comp.apache.webservices.wsif.user |
|---|---|
| Message-ID | <ABC231AADE3CE44495F858C2A778251915282E@MANEXCHANGE.i-documentsystems.com> |
I have made some progress, but not too much. I have replaced my wsdl4j-1.5.jar with wsdl4j-1.4.jar. At first it didn't work, but what I had to do was reshuffle the order in which my jars get invoked. For example, I am using Eclipse IDE, and you can move jars up and down the order in which the compiler tries to find its references. Doing that, the ClassCastException disappeared. Unfortunately I am trying to consume Web Services dynamically, and complex types don't seem to be supported yet dinamically. Anyway, Mauro try and shake your jars about a wee bit and see if that helps. It did with me.... Luca -----Original Message----- From: [email protected] [mailto:[email protected]] Sent: 15 September 2005 13:44 To: [email protected]; Luca Baldi Cc: [email protected]; [email protected] Subject: RE: complex types Hi Luca, I am using the following version (all of them I got with the wsif-bin-2.0 file download): wsif-2.0.jar axis-1_0.jar wsdl4j-20021124.jar Do you think that I need to update some version ? Cheers, Mauro Monteiro. Citando Luca Baldi <[email protected]>: > Hi there. > I had a wee look at past emails, and it seems like there is some kind of > conflict with wsif.jar, axis.jar and wsdl4j.jar. > What versions are you using of the above ?? > I have the latest wsif-2.0.jar, axis-1.2.1.jar and wsdl-1.5.jar. > > Here's the link > > http://marc.theaimsgroup.com/?l=wsif-user&m=111514929925689&w=2 > > I am not sure there is a way round. > > Luca > > -----Original Message----- > From: [email protected] [mailto:[email protected]] > Sent: 15 September 2005 04:45 > To: [email protected]; [email protected] > Cc: [email protected] > Subject: Re: complex types > > Hi Juan, > > I tried again with the following code: > > public class DocWSDLComplex { > > public static void main( String[] args ) { > > Service serviceWsdl = null; > PortType portTypeWsdl = null; > String serviceNS = null; > String serviceName = null; > String portTypeNS = null; > String portTypeName = null; > > String wsdlLoc = > "http://localhost:8080/axis/services/AverageCalculator?wsdl"; > > try { > > WSIFServiceFactory factory = WSIFServiceFactory.newInstance(); > WSIFService service = factory.getService( wsdlLoc, serviceNS, serviceName, > portTypeNS, portTypeName ); > } > catch( WSIFException e ) { > > e.printStackTrace(); > } > } > > } > > Unfortunately it did not happen. In my wsdl file I have a Vector as an input > parameter. Do you have any example code that I can test ? any idea ? > > Cheers, > Mauro Monteiro. > > > Citando [email protected]: > > > > > Hi > > > > I don’t know what your problem is; actually I’m using WSIF > with simple > > and > > complex types. There is one difference in my code I don’t get the > service > > instance this way: > > > > WSIFService service = factory.getService(def, serviceWsdl, portTypeWsdl); > > > > But passing the wsdl location like this: > > > > service = factory.getService(wsdlLoc, serviceNS, serviceName, portTypeNS, > > portTypeName); > > > > I took a look into the code and I found out that they load the wsdl this > > way if I pass the wsdl location no the definition: > > > > try { > > def = WSIFUtils.readWSDL(null, wsdlLoc, cl); > > checkWSDL(def); > > } catch (WSDLException ex) { > > Trc.exception(ex); > > throw new WSIFException("could not load " + wsdlLoc, ex); > > } > > > > You may be missing the check of the wsdl. I would give a chance to try > this > > method: > > > > getService(String wsdlLoc, String serviceNS, String serviceName, String > > portTypeNS, String portTypeName) > > > > Hope this helps > > > > ___________________________________ > > Juan David Pérez > > Assist > > > > > > > > [email protected] wrote: ----- > > > > > > To: [email protected], Luca Baldi <[email protected]> > > From: [email protected] > > Date: 09/14/2005 03:40PM > > cc: [email protected] > > Subject: Re: complex types > > > > Hi everyone, > > > > I am trying to do the same thing that luca tried and I've received the > same > > message error. What can we do ? > > > > Cheers, > > Mauro Monteiro. > > > > Citando Luca Baldi : > > > > > When I try to run > > > > > > > > > > > > Definition def = WSIFUtils.readWSDL(null,wsdl); > > > > > > > > > > > > ...... > > > > > > > > > > > > WSIFServiceFactory factory = WSIFServiceFactory.newInstance(); > > > > > > > > > > > > WSIFService service = factory.getService(def, serviceWsdl, > > > portTypeWsdl); > > > > > > > > > > > > If the wsl file contains complex types, I get > > > > > > > > > > > > java.lang.ClassCastException > > > > > > at org.apache.wsif.compiler.util.Utils.addAllTypesElements(Unknown > > > Source) > > > > > > at org.apache.wsif.compiler.util.Utils.getAllTypesElements(Unknown > > > Source) > > > > > > at > > > org.apache.wsif.base.WSIFServiceImpl.getDefaultTypeMappings(Unknown > > > Source) > > > > > > at org.apache.wsif.base.WSIFServiceImpl.getAllCustomTypes(Unknown > > > Source) > > > > > > at org.apache.wsif.base.WSIFServiceImpl.init(Unknown Source) > > > > > > at org.apache.wsif.base.WSIFServiceImpl.(Unknown Source) > > > > > > at org.apache.wsif.base.WSIFServiceFactoryImpl.getService(Unknown > > > Source) > > > > > > > > > > > > any idea ?? > > > > > > thanks > > > > > > > > > > > > luca > > > > > > > > > > > > > > > > > > > > > > ---------------------------------------------------------------- > > This message was sent using IMP, the Internet Messaging Program. > > > > > ---------------------------------------------------------------- > This message was sent using IMP, the Internet Messaging Program. > > > ---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program.