Hi, Unfortunately, the wsdli:wsdlLocation is not supported in 1.x. Can you try to use wsdlElement instead to reference the WSDL service/port or binding by QName? You can find an example at:
https://svn.apache.org/repos/asf/tuscany/sca-java-1.x/trunk/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorld.composite Thanks, Raymond From: Ruault Gaetan Sent: Tuesday, March 30, 2010 8:42 AM To: user@tuscany.apache.org Subject: RE : Error with INOUT parameters Hi, this is my composite and in any reference declaration i have a wsdlLocation : <?xml version="1.0" encoding="UTF-8"?> <sca:composite xmlns:instance="http://www.w3.org/2004/08/wsdl-instance" xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" name="WebServiceMIMetiers" targetNamespace="http://eclipse.org/generator/src/WebServiceMIMetiers"> <sca:component name="ModificationAdresseMail"><sca:implementation.java class="fr.xx.xx.webservicemi.modifieradressemail.impl.ModifierAdresseMailImpl"/><sca:service name="ModifierAdresseMail"><sca:interface.java interface="fr.xx.xx.webservicemi.modifieradressemail.ModifierAdresseMail"/> </sca:service> <sca:reference name="login"> <sca:interface.java interface="fr.xx.xx.webservicemi.webservice.LoginPort"/> <sca:binding.ws name="Login" uri="http://pmwebtws.xx.xx/xxxxxxxx" instance:wsdlLocation="http://pmwebtws.xxxxxxx/wsdl/masteri_login.wsdl"/> </sca:reference> <sca:reference name="partySearch"> <sca:binding.ws name="PartySearch" uri="http://pmwebtws.xx.xx/xxxxxxxx" instance:wsdlLocation="http://pmwebtws.xxxxxxxx/wsdl/masteri_partysearch.wsdl"/> </sca:reference> <sca:reference name="partyInfo"> <sca:interface.java interface="fr.xx.xx.webservicemi.webservice.PartyInfoPort"/> <sca:binding.ws name="PartyInfo" uri="http://pmwebtws.xx.xx/xxxxxxxx" instance:wsdlLocation="http://pmwebtws.xxxxxxxx/wsdl/masteri_partyinfo.wsdl"/> </sca:reference> <sca:reference name="getToken"> <sca:interface.java interface="fr.xx.xx.webservicemi.webservice.GetTokenPort"/> <sca:binding.ws name="GetToken" uri="http://pmwebtws.xx.xx/xxxxxxxx" instance:wsdlLocation="http://pmwebtws.xxxxxxxx/wsdl/masteri_gettoken.wsdl"/> </sca:reference> <sca:reference name="adressModif"> <sca:interface.java interface="fr.xx.xx.webservicemi.webservice.AddressModifPort"/> <sca:binding.ws name="AdressModif" uri="http://pmwebtws.xx.xx/xxxxxxxx" instance:wsdlLocation="http://pmwebtws.xxxxxxxx/wsdl/masteri_adressmodif.wsdl"/> </sca:reference> <sca:reference name="cancelToken"> <sca:interface.java interface="fr.xx.xx.webservicemi.webservice.CancelTokenPort"/> <sca:binding.ws name="CancelToken" uri="http://pmwebtws.xx.xx/xxxxxxxx" instance:wsdlLocation="http://pmwebtws.xxxxxxxx/wsdl/masteri_canceltoken.wsdl"/> </sca:reference> <sca:reference name="logout"> <sca:interface.java interface="fr.xx.xx.webservicemi.webservice.LogoutPort"/> <sca:binding.ws name="Logout" uri="http://pmwebtws.xx.xx/xxxxxxxx" instance:wsdlLocation="http://pmwebtws.xxxxxxxx/wsdl/masteri_logout.wsdl"/> </sca:reference> </sca:component> <sca:reference name="Login" promote="ModificationAdresseMail/login"/> <sca:reference name="PartySearch" promote="ModificationAdresseMail/partySearch"/> <sca:service name="modifierAdresseMail" promote="ModificationAdresseMail/ModifierAdresseMail"/> <sca:reference name="PartyInfo" promote="ModificationAdresseMail/partyInfo"/> <sca:reference name="GetToken" promote="ModificationAdresseMail/getToken"/> <sca:reference name="AdressModif" promote="ModificationAdresseMail/adressModif"/> <sca:reference name="CancelToken" promote="ModificationAdresseMail/cancelToken"/> <sca:reference name="Logout" promote="ModificationAdresseMail/logout"/> </sca:composite> -------------------------------------------------------------------------------- Gaëtan RUAULT Ingenieur d'étude et développement Sopra group. 28, rue Léo Lagrange 79000 Niort Phone : +33 (0)5 49 77 38 20 grua...@sopragroup.com - www.sopragroup.com Ce message peut contenir des informations confidentielles dont la divulgation est à ce titre rigoureusement interdite en l'absence d'autorisation explicite de l'émetteur. Dans l'hypothèse où vous auriez reçu par erreur ce message, merci de le renvoyer à l'émetteur et de détruire toute copie. P Pensez à l'environnement avant d'imprimer. -------------------------------------------------------------------------------- De: Raymond Feng [mailto:enjoyj...@gmail.com] Date: mar. 30/03/2010 17:39 À: user@tuscany.apache.org Objet : Re: Error with INOUT parameters Hi, Can you show us the composite file? If binding.ws or interface.wsdl is used to point to a WSDL, we reuse the WSDL IIRC. Thanks, Raymond From: Ruault Gaetan Sent: Tuesday, March 30, 2010 1:46 AM To: user@tuscany.apache.org Subject: RE: Error with INOUT parameters I don't understand why Tuscany try to generate WSDL file because : - I use binding.ws as reference - I have set the wsdlLocation attribute with the uri of my wsdl file. -------------------------------------------------------------------------------- De : Ruault Gaetan [mailto:grua...@sopragroup.com] Envoyé : mardi 30 mars 2010 02:43 À : user@tuscany.apache.org Objet : RE: Error with INOUT parameters Hi, I regenerate Interfaces with wsimport and custromization like this <bindings xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://java.sun.com/xml/ns/jaxws"> <enableWrapperStyle>false</enableWrapperStyle> </bindings> and now when i launch tuscany i have this error 30 mars 2010 02:39:37 org.apache.tuscany.sca.binding.ws.wsdlgen.BindingWSDLGenerator ATTENTION: Exception while generating WSDL for ModificationAdresseMail/login 30 mars 2010 02:39:37 org.apache.tuscany.sca.binding.ws.wsdlgen.BindingWSDLGenerator GRAVE: Exception thrown was: org.apache.tuscany.sca.interfacedef.wsdl.impl.InvalidWSDLException: The XML schema element does not have a type: {http://linedata.com/WS/Login/parts/1.0}Login thanks -------------------------------------------------------------------------------- De : Raymond Feng [mailto:enjoyj...@gmail.com] Envoyé : mardi 30 mars 2010 01:57 À : user@tuscany.apache.org Objet : Re: Error with INOUT parameters The tricky thing here is that LoginResp element contain more than one child elements. By default, wsimport tries to generate a doc-lit-wrapper style. Maybe you can try to generate a BARE style java interface which takes Login and produces LoginResp? The command is like: wsimport -b <binding xml> The binding xml can be defined following the syntax at https://jax-ws.dev.java.net/jax-ws-20-fcs/docs/customizations.html. Thanks, Raymond From: Ruault Gaetan Sent: Monday, March 29, 2010 4:40 PM To: user@tuscany.apache.org Subject: RE: Error with INOUT parameters Hi, I use Tuscany the last 1.x I have'nt any reason to use this pattern but wsimport generate this format with the wsdl and i can't modify this wsdl. Have you a solution to change the geneated interface? Thanks Gaetan -------------------------------------------------------------------------------- De : Raymond Feng [mailto:enjoyj...@gmail.com] Envoyé : mardi 30 mars 2010 01:26 À : user@tuscany.apache.org Objet : Re: Error with INOUT parameters Hi, Are you using Tuscany 1.x or 2.x? We have some basic support in 1.x for INOUT parameter but you can have at most one JAX-WS Holder. 2.x doesn't support that yet and we need to port such feature from 1.x to 2.x. Do you have a particular reason to use this pattern? I understand some WSDL style (for example, the input and output uses the same Message) will trigger the generation of JAX-WS holders. Thanks, Raymond From: Ruault Gaetan Sent: Monday, March 29, 2010 3:51 PM To: user@tuscany.apache.org Subject: Error with INOUT parameters Hi, I try to consume a Login Service defined by the wsdl join to mail. I generate interface by wsimport it generate an login operation like this : @WebMethod(operationName = "Login", action = "E69676F6C4F20514F43594D4A336F646") @RequestWrapper(localName = "Login", targetNamespace = "http://linedata.com/WS/Login/parts/1.0", className = "fr.xxxxx.xxx.webservicemi.webservice.Login") @ResponseWrapper(localName = "LoginResp", targetNamespace = "http://linedata.com/WS/Login/parts/1.0", className = "fr.xxxx.xxxx.webservicemi.webservice.LoginResp") public void login( @WebParam(name = "loginID", targetNamespace = "http://linedata.com/WS/Login/parts/1.0") String loginID, @WebParam(name = "password", targetNamespace = "http://linedata.com/WS/Login/parts/1.0") String password, @WebParam(name = "userCategory", targetNamespace = "http://linedata.com/WS/Login/parts/1.0", mode = WebParam.Mode.INOUT) Holder<String> userCategory, @WebParam(name = "categoryID", targetNamespace = "http://linedata.com/WS/Login/parts/1.0") String categoryID, @WebParam(name = "language", targetNamespace = "http://linedata.com/WS/Login/parts/1.0", mode = WebParam.Mode.INOUT) Holder<String> language, @WebParam(name = "currency", targetNamespace = "http://linedata.com/WS/Login/parts/1.0", mode = WebParam.Mode.INOUT) Holder<String> currency, @WebParam(name = "dossier", targetNamespace = "http://linedata.com/WS/Login/parts/1.0") String dossier, @WebParam(name = "sessionID", targetNamespace = "http://linedata.com/WS/Login/parts/1.0", mode = WebParam.Mode.OUT) Holder<String> sessionID, @WebParam(name = "lastConnection", targetNamespace = "http://linedata.com/WS/Login/parts/1.0", mode = WebParam.Mode.OUT) Holder<XMLGregorianCalendar> lastConnection, @WebParam(name = "lastTransaction", targetNamespace = "http://linedata.com/WS/Login/parts/1.0", mode = WebParam.Mode.OUT) Holder<XMLGregorianCalendar> lastTransaction, @WebParam(name = "userName", targetNamespace = "http://linedata.com/WS/Login/parts/1.0", mode = WebParam.Mode.OUT) Holder<String> userName, @WebParam(name = "personID", targetNamespace = "http://linedata.com/WS/Login/parts/1.0", mode = WebParam.Mode.OUT) Holder<Integer> personID) throws LoginFault ; when i try to use it i get an Tuscany error : Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 7, Size: 7 at java.util.ArrayList.RangeCheck(Unknown Source) at java.util.ArrayList.get(Unknown Source) at org.apache.tuscany.sca.databinding.jaxb.JAXBWrapperHelper.getPropertyDescriptor(JAXBWrapperHelper.java:82) at org.apache.tuscany.sca.databinding.jaxb.JAXBWrapperHelper.wrap(JAXBWrapperHelper.java:127) at org.apache.tuscany.sca.databinding.jaxb.JAXBWrapperHandler.setChildren(JAXBWrapperHandler.java:85) at org.apache.tuscany.sca.core.databinding.transformers.Input2InputTransformer.transform(Input2InputTransformer.java:183) at org.apache.tuscany.sca.core.databinding.transformers.Input2InputTransformer.transform(Input2InputTransformer.java:45) at org.apache.tuscany.sca.databinding.impl.MediatorImpl.mediate(MediatorImpl.java:113) at org.apache.tuscany.sca.databinding.impl.MediatorImpl.mediateInput(MediatorImpl.java:431) at org.apache.tuscany.sca.core.databinding.wire.DataTransformationInterceptor.invoke(DataTransformationInterceptor.java:65) at org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:349) at org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:193) at $Proxy34.login(Unknown Source) at fr.xxxxx.xxxxxx.webservicemi.modifieradressemail.impl.ModifierAdresseMailImpl.modifierAdresseMail(ModifierAdresseMailImpl.java:44) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.tuscany.sca.implementation.java.invocation.JavaImplementationInvoker.invoke(JavaImplementationInvoker.java:156) at org.apache.tuscany.sca.binding.sca.impl.SCABindingInvoker.invoke(SCABindingInvoker.java:61) at org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:349) at org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:193) at $Proxy32.modifierAdresseMail(Unknown Source) at Exec.main(Exec.java:19) can you help me ? thanks Gaetan