[ 
https://issues.apache.org/jira/browse/TUSCANY-2558?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12624096#action_12624096
 ] 

Lou Amodeo commented on TUSCANY-2558:
-------------------------------------

I ran this wsdl through wsimport and here is output


  [WARNING] src-resolve.4.1: Error resolving component 'int'. It was detected 
that
 'int' has no namespace, but components with no target namespace are not referen
ceable from schema document 'file:/C:/WASV7I5/AppServer/bin/calculator.Calculato
rService.wsdl#types?schema2'. If 'int' is intended to have a namespace, perhaps
a prefix needs to be provided. If it is intended that 'int' has no namespace, th
en an 'import' without a "namespace" attribute should be added to 'file:/C:/WASV
7I5/AppServer/bin/calculator.CalculatorService.wsdl#types?schema2'.
  line 5 of file:/C:/WASV7I5/AppServer/bin/calculator.CalculatorService.wsdl#typ
es?schema2

[ERROR] undefined simple or complex type 'int'
  line 5 of file:/C:/WASV7I5/AppServer/bin/calculator.CalculatorService.wsd

> Generated WSDL fails to resolve when packaged in contribution 
> --------------------------------------------------------------
>
>                 Key: TUSCANY-2558
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-2558
>             Project: Tuscany
>          Issue Type: Bug
>    Affects Versions: Java-SCA-1.3
>            Reporter: Lou Amodeo
>         Attachments: calculator.CalculatorService.wsdl
>
>
> I attempted to package a WSDL in a contribution that was previously generated 
> using the WSDL deployment process of binding.ws  and received a 
> ContributionException with the following cause: 
> org.apache.tuscany.sca.interfacedef.wsdl.impl.InvalidWSDLException: The fault 
> message MUST have a single part .  
> In this case I was attempting to use interface.wsdl with empty binding.ws 
> with the following SCDL: 
> <?xml version="1.0" encoding="UTF-8"?>
> <composite xmlns="http://www.osoa.org/xmlns/sca/1.0";
>            targetNamespace="http://www.ibm.com/samples/sca/calculator";
>            name="CalculatorLocatorComposite">
>     <component name="CalculatorLocatorComponent">
>       <implementation.java class="calculator.CalculatorLocatorImpl"/>
>             <reference name="calculator" target="CalculatorComponent">
>         <interface.wsdl 
> interface="http://calculator/#wsdl.interface(CalculatorService)"/>
>         <binding.ws/>
>       </reference>
>     </component>
> </composite>
> The failure occurs during  wsdlFactory.createWSDLInterface in 
> WSDLInterfaceProcessor
> private WSDLInterface resolveWSDLInterface(WSDLInterface wsdlInterface, 
> ModelResolver resolver) throws ContributionResolveException {
>         if (wsdlInterface != null && wsdlInterface.isUnresolved()) {
>             // Resolve the WSDL interface
>             wsdlInterface = resolver.resolveModel(WSDLInterface.class, 
> wsdlInterface);
>             if (wsdlInterface.isUnresolved()) {
>                 // If the WSDL interface has never been resolved yet, do it 
> now
>                 // First, resolve the WSDL definition for the given namespace
>                 WSDLDefinition wsdlDefinition = 
> wsdlFactory.createWSDLDefinition();
>                 wsdlDefinition.setUnresolved(true);
>                 
> wsdlDefinition.setNamespace(wsdlInterface.getName().getNamespaceURI());
>                 WSDLDefinition resolved = 
> resolver.resolveModel(WSDLDefinition.class, wsdlDefinition);
>                 if (!resolved.isUnresolved()) {
>                     wsdlDefinition.setDefinition(resolved.getDefinition());
>                     wsdlDefinition.setLocation(resolved.getLocation());
>                     wsdlDefinition.setURI(resolved.getURI());
>                     
> wsdlDefinition.getImportedDefinitions().addAll(resolved.getImportedDefinitions());
>                     
> wsdlDefinition.getXmlSchemas().addAll(resolved.getXmlSchemas());
>                     wsdlDefinition.setUnresolved(false);
>                     WSDLObject<PortType> portType = 
> wsdlDefinition.getWSDLObject(PortType.class, wsdlInterface.getName());
>                     if (portType != null) {                        
>                         // Introspect the WSDL portType and add the resulting
>                         // WSDLInterface to the resolver
>                         try {
>                             
> wsdlDefinition.setDefinition(portType.getDefinition());
>                             wsdlInterface = 
> wsdlFactory.createWSDLInterface(portType.getElement(), wsdlDefinition, 
> resolver);
>                             wsdlInterface.setWsdlDefinition(wsdlDefinition);
>                             resolver.addModel(wsdlInterface);
>                         } catch (InvalidInterfaceException e) {
>                               ContributionResolveException ce = new 
> ContributionResolveException(e);
>                               error("ContributionResolveException", 
> wsdlFactory, ce);
>                             //throw ce;
>                         }                        
>                     }
>   
> I am attaching the generated WSDL.   

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to