[ 
http://jira.codehaus.org/browse/XFIRE-315?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kenny MacLeod resolved XFIRE-315.
---------------------------------

    Resolution: Incomplete

> [WsGen] Anonymous types in wsdl:message cause NPE
> -------------------------------------------------
>
>                 Key: XFIRE-315
>                 URL: http://jira.codehaus.org/browse/XFIRE-315
>             Project: XFire
>          Issue Type: Bug
>          Components: Generator
>    Affects Versions: 1.0
>            Reporter: Kenny MacLeod
>            Assignee: Dan Diephouse
>            Priority: Critical
>
> When you try to use Wsdl11Generator (e.g,. from WsGenTask)  to generate WSDL 
> bindings from a WSDL file which contains Messages with anonymous schema 
> types, you get a NullPointerException from AbstractServiceGenerator.
> Take the following WSDL fragment:
> <wsdl:message name="MyMessage">
>     <wsdl:part name="parameters" element="tns:MyResponse" />
> </wsdl:message>
>   <wsdl:types>
>     <s:schema elementFormDefault="qualified" 
> targetNamespace="http://tempuri.org/";>
>       <s:element name="MyResponse">
>         <s:complexType>
>           <s:sequence>
>             <s:element minOccurs="0" maxOccurs="1" name="request" 
> type="s:string" />
>           </s:sequence>
>         </s:complexType>
>       </s:element>
>     </s:schema>
>   </wsdl:types>
> If you look at WSDLServiceBuilder.createMessagePart(), you see the following 
> logic:
>         MessagePartInfo part = info.addMessagePart(element.getQName(), 
> XmlSchemaElement.class);
>         SchemaType st = null;
>         if (element.getRefName() != null)
>         {
>             st = getBindingProvider().getSchemaType(element.getRefName(), 
> service);
>         }
>         else if (element.getSchemaTypeName() != null)
>         {
>             st = 
> getBindingProvider().getSchemaType(element.getSchemaTypeName(), service);
>         }
>         
>         part.setSchemaType(st);
> It appears that this code will only work for Messages with non-anonymous 
> element types.  However, it looks as though it would be trivial to check 
> whether the element has an anonymous type by adding another elese-if clause:
>         else if (element.getSchemaType() != null)
>         {
>             st = element.getSchemaType();
>         }

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply via email to