[ 
https://issues.apache.org/jira/browse/CXF-959?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12524741
 ] 

benson margulies commented on CXF-959:
--------------------------------------

In AegisDatabinding.createSchemas, the schema element has all the right 
prefixes. However, the xmlSchema object does not. The commons-schema code has a 
function called setNamespaceAtrtributes, but it does not actually pick up the 
prefixes.

ServiceWSDLBuilder.buildTypes does not put any namespace declaratons onto the 
element it creates (nd).  XmlSchemaSerializer.serializeSchema works from the 
XmlSchema, which lacks the prefixes, because the getNamedspaceContext on the 
XmlSchema is empty. AegisDatabinding forgot to set it.






> Incorrect namespace configuration when generating wsdl
> ------------------------------------------------------
>
>                 Key: CXF-959
>                 URL: https://issues.apache.org/jira/browse/CXF-959
>             Project: CXF
>          Issue Type: Bug
>         Environment: Using CXF 2.0.1
>            Reporter: Brian Sawyer
>         Attachments: cxf-959.jar, name-service.jar
>
>
> Following is an example service and its generated wsdl:
> import com.basistech.stuff.Name;
> @WebService(name="NameService", targetNamespace="urn:com.basistech.service")
> public interface NameService {
>     @WebMethod
>      public abstract List<Name> listAvailableNames();
> }
> <wsdl:definitions name="NameService" 
> targetNamespace="http://nameService.basistech.com"; 
> xmlns:ns1="http://nameService.basistech.com"; 
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
> xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"; 
> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";>
>   <wsdl:types>
>      <schema xmlns="http://www.w3.org/2001/XMLSchema"; 
> attributeFormDefault="qualified" elementFormDefault="qualified" 
> targetNamespace="http://stuff.basistech.com";>
>          <complexType name="ArrayOfName">
>              <sequence>
>                   <element maxOccurs="unbounded" minOccurs="0" name="Name" 
> nillable="true" type="ns1:Name"/>
>              </sequence>
>          </complexType>
>          <complexType name="Name">
>              <sequence>
>                   <element minOccurs="0" name="data" nillable="true" 
> type="string"/>
>                   <element minOccurs="0" name="uid" nillable="true" 
> type="string"/>
>              </sequence>
>          </complexType>
>       </schema>
>  ArrayOfName is said to contain an element of type ns1:Name.  However, ns1 is 
> set to "http://nameService.basistech.com"; when Name is actually located in 
> the "http://stuff.basistech.com"; namespace.

-- 
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