RE: complex types
"Luca Baldi" <[email protected]>
| Newsgroups | gmane.comp.apache.webservices.wsif.user |
|---|---|
| Message-ID | <ABC231AADE3CE44495F858C2A7782519152815@MANEXCHANGE.i-documentsystems.com> |
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.