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:[email protected]]
Envoyé : mardi 30 mars 2010 01:57
À : [email protected]
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:[email protected]>
Sent: Monday, March 29, 2010 4:40 PM
To: [email protected]
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:[email protected]]
Envoyé : mardi 30 mars 2010 01:26
À : [email protected]
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:[email protected]>
Sent: Monday, March 29, 2010 3:51 PM
To: [email protected]
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