Hi,
 
I have a wsdl like this
<definitions targetNamespace="http://linedata.com/WS/Login/1.0
<http://linedata.com/WS/Login/1.0> "
  xmlns:tns="http://linedata.com/WS/Login/1.0
<http://linedata.com/WS/Login/1.0> "
  xmlns:parts="http://linedata.com/WS/Login/parts/1.0
<http://linedata.com/WS/Login/parts/1.0> "
  xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/
<http://schemas.xmlsoap.org/wsdl/soap/> "
  xmlns:xsd="http://www.w3.org/2001/XMLSchema
<http://www.w3.org/2001/XMLSchema> "
  xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/
<http://schemas.xmlsoap.org/wsdl/> "
  xmlns="http://schemas.xmlsoap.org/wsdl/
<http://schemas.xmlsoap.org/wsdl/> ">


 <types>
    <xsd:schema targetNamespace="http://linedata.com/WS/Login/1.0
<http://linedata.com/WS/Login/1.0> "
      xmlns:xsd="http://www.w3.org/2001/XMLSchema
<http://www.w3.org/2001/XMLSchema> ">
      <xsd:import namespace="http://linedata.com/WS/Login/parts/1.0
<http://linedata.com/WS/Login/parts/1.0> "
        schemaLocation="masteri_login.xsd" />
    </xsd:schema>
  </types>
 
  <message name="LoginRequest">
    <part name="parameters" element="parts:Login" />
  </message>
  <message name="LoginResponse">
    <part name="response" element="parts:LoginResp" />
  </message>
  <message name="LoginFault">
    <part name="LoginFault" element="parts:miFault" />
  </message>
 
  <portType name="LoginPort">
    <operation name="Login">
      <documentation>
        Login description
      </documentation>
      <input message="tns:LoginRequest" />
      <output message="tns:LoginResponse" />
      <fault name="fault" message="tns:LoginFault" />
    </operation>
  </portType>
 
 
then when i generate java interface with wsimport  with customization
for SOAPBinding ParametersStyle  BARE
 
I Get  an interface like this  for the Login operation
   @WebMethod(operationName = "Login", action =
"E69676F6C4F20514F43594D4A336F646")
    @WebResult(name = "LoginResp", partName = "response")
    public LoginResp login(
        @WebParam(name = "Login", targetNamespace =
"http://linedata.com/WS/Login/parts/1.0
<http://linedata.com/WS/Login/parts/1.0> ", partName = "parameters")
        Login parameters)
        throws LoginFault;
 
 
then when I launch a Tuscany application  i get this error :
 
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
Exception in thread "main" org.osoa.sca.ServiceRuntimeException:
org.apache.tuscany.sca.monitor.MonitorRuntimeException:
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
 at
org.apache.tuscany.sca.node.impl.NodeImpl.analyzeProblems(NodeImpl.java:
711)
 at
org.apache.tuscany.sca.node.impl.NodeImpl.configureNode(NodeImpl.java:63
4)
 at org.apache.tuscany.sca.node.impl.NodeImpl.<init>(NodeImpl.java:200)
 at
org.apache.tuscany.sca.node.impl.NodeFactoryImpl.createSCANodeFromClassL
oader(NodeFactoryImpl.java:37)
 at
org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.init(DefaultS
CADomain.java:178)
 at
org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.<init>(Defaul
tSCADomain.java:100)
 at
org.apache.tuscany.sca.host.embedded.SCADomain.createNewInstance(SCADoma
in.java:182)
 at
org.apache.tuscany.sca.host.embedded.SCADomain.newInstance(SCADomain.jav
a:63)
 at Exec.main(Exec.java:14)
Caused by: org.apache.tuscany.sca.monitor.MonitorRuntimeException:
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
 ... 9 more
Caused by:
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
 at
org.apache.tuscany.sca.interfacedef.wsdl.impl.WSDLOperationIntrospectorI
mpl$Wrapper.getChildElements(WSDLOperationIntrospectorImpl.java:375)
 at
org.apache.tuscany.sca.interfacedef.wsdl.impl.WSDLOperationIntrospectorI
mpl$Wrapper.getInputChildElements(WSDLOperationIntrospectorImpl.java:469
)
 at
org.apache.tuscany.sca.interfacedef.wsdl.impl.WSDLOperationIntrospectorI
mpl.isWrapperStyle(WSDLOperationIntrospectorImpl.java:113)
 at
org.apache.tuscany.sca.interfacedef.wsdl.impl.WSDLOperationIntrospectorI
mpl.getOperation(WSDLOperationIntrospectorImpl.java:228)
 at
org.apache.tuscany.sca.interfacedef.wsdl.impl.WSDLInterfaceIntrospectorI
mpl.getOperation(WSDLInterfaceIntrospectorImpl.java:84)
 at
org.apache.tuscany.sca.binding.ws.wsdlgen.BindingWSDLGenerator.createWSD
LInterfaceContract(BindingWSDLGenerator.java:335)
 at
org.apache.tuscany.sca.binding.ws.wsdlgen.BindingWSDLGenerator.createWSD
LDocument(BindingWSDLGenerator.java:205)
 at
org.apache.tuscany.sca.binding.ws.wsdlgen.BindingWSDLGenerator.generateW
SDL(BindingWSDLGenerator.java:163)
 at
org.apache.tuscany.sca.binding.ws.xml.BindingBuilderImpl.build(BindingBu
ilderImpl.java:48)
 at
org.apache.tuscany.sca.assembly.builder.impl.ComponentReferenceBindingBu
ilderImpl.buildReferenceBindings(ComponentReferenceBindingBuilderImpl.ja
va:56)
 at
org.apache.tuscany.sca.assembly.builder.impl.ComponentReferenceBindingBu
ilderImpl.build(ComponentReferenceBindingBuilderImpl.java:46)
 at
org.apache.tuscany.sca.assembly.builder.impl.CompositeBuilderImpl.build(
CompositeBuilderImpl.java:271)
 at
org.apache.tuscany.sca.node.impl.RuntimeBootStrapper.buildComposite(Runt
imeBootStrapper.java:255)
 at
org.apache.tuscany.sca.node.impl.NodeImpl.configureNode(NodeImpl.java:63
2)
 ... 7 more
 
 
 
If i change interface Declaration like this (add "parts:" prefix for
@WebParam Name) like in wsdl file:
   @WebMethod(operationName = "Login", action =
"E69676F6C4F20514F43594D4A336F646")
    @WebResult(name = "LoginResp", partName = "response")
    public LoginResp login(
        @WebParam(name = "parts:Login", targetNamespace =
"http://linedata.com/WS/Login/parts/1.0
<http://linedata.com/WS/Login/parts/1.0> ", partName = "parameters")
        Login parameters)
        throws LoginFault;
 
 
it works fine....... i get the same error like my other mails :
....

class fr.xx.xx.webservicemi.webservice.Login nor any of its super class
is known to this context ... ... ...

.....
 
 
then i think i found a bug but i don't know if it's on Tuscany
implementation  or in wsimport generation.
 
thanks
 
Gaetan
 
 
 
 
 

Reply via email to