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 <mailto:grua...@sopragroup.com>  
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 <mailto:grua...@sopragroup.com>  
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
 
 
 


 

Reply via email to