NullpointerException from wsdltojava when using non-soap extensions
-------------------------------------------------------------------

                 Key: CXF-875
                 URL: https://issues.apache.org/jira/browse/CXF-875
             Project: CXF
          Issue Type: Bug
          Components: Tooling
    Affects Versions: 2.0, 2.0.1
            Reporter: Ray Krueger
            Priority: Critical


wsd2url will throw a NullPointerException when using the xformat namespace...
If there are errors in the wsdl I'm presenting here please comment.

{quote}
wsdl2java.bat -verbose CurrencyExchange.wsdl
{quote}

{noformat}
Loading FrontEnd jaxws ...
Loading DataBinding jaxb ...
<command xmlns="http://www.xsume.com/Xutil/Command"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://www.xsume.com/Xutil/Command 
http://www.xsume.com/schema/xutil/command.xsd";>
<option name="verbose"/>
<argument name="wsdlurl">CurrencyExchange.wsdl</argument>
</command>
wsdl2java -verbose CurrencyExchange.wsdl
wsdl2java - 2.0-incubator


WSDLToJava Error : java.lang.NullPointerException

org.apache.cxf.tools.common.ToolException: java.lang.NullPointerException
        at 
org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:223)
        at 
org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:84)
        at org.apache.cxf.tools.wsdlto.WSDLToJava.run(WSDLToJava.java:102)
        at org.apache.cxf.tools.wsdlto.WSDLToJava.main(WSDLToJava.java:171)
Caused by: java.lang.NullPointerException
        at 
java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:765)
        at 
org.apache.cxf.configuration.spring.SpringBeanMap.get(SpringBeanMap.java:191)
        at 
org.apache.cxf.transport.DestinationFactoryManagerImpl.getDestinationFactory(DestinationFactoryManagerImpl.java:99)
        at 
org.apache.cxf.wsdl11.WSDLServiceBuilder.buildEndpoint(WSDLServiceBuilder.java:445)
        at 
org.apache.cxf.wsdl11.WSDLServiceBuilder.buildServices(WSDLServiceBuilder.java:260)
        at 
org.apache.cxf.wsdl11.WSDLServiceBuilder.buildServices(WSDLServiceBuilder.java:154)
        at 
org.apache.cxf.wsdl11.WSDLServiceBuilder.buildServices(WSDLServiceBuilder.java:143)
        at 
org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:142)
        at 
org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:215)
        ... 3 more
{noformat}

{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions
        xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
        xmlns:schema="http://www.example.com/schemas/2007/08/";
        xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
        xmlns:http="http://schemas.xmlsoap.org/wsdl/http/";
        xmlns:xformat="http://cxf.apache.org/bindings/xformat";
        xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/";
        xmlns:xsd="http://www.w3.org/2001/XMLSchema";
        targetNamespace="http://www.example.com/schemas/2007/08/";>

    <wsdl:types>
        <schema xmlns="http://www.w3.org/2001/XMLSchema";
                xmlns:fx="http://www.example.com/schemas/2007/08/";
                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
                attributeFormDefault="qualified" elementFormDefault="qualified"
                targetNamespace="http://www.example.com/schemas/2007/08/";>

            <element name="ExchangeRequest">
                <complexType>
                    <all>
                        <element name="fromCurrency" type="fx:CurrencyType"/>
                        <element name="toCurrency" type="fx:CurrencyType"/>
                    </all>
                </complexType>
            </element>

            <element name="ExchangeResponse">
                <complexType>
                    <all>
                        <element name="rate">
                            <simpleType>
                                <restriction base="double"/>
                            </simpleType>
                        </element>
                    </all>
                </complexType>
            </element>

            <simpleType name="CurrencyType">
                <restriction base="string">
                    <pattern value="[A-Z]{3}"/>
                </restriction>
            </simpleType>

        </schema>
    </wsdl:types>

    <wsdl:message name="ExchangeResponse">
        <wsdl:part element="schema:ExchangeResponse" name="ExchangeResponse">
        </wsdl:part>
    </wsdl:message>

    <wsdl:message name="ExchangeRequest">
        <wsdl:part element="schema:ExchangeRequest" name="ExchangeRequest">
        </wsdl:part>
    </wsdl:message>

    <wsdl:portType name="CurrencyExchange">
        <wsdl:operation name="Exchange">
            <wsdl:input message="schema:ExchangeRequest" 
name="ExchangeRequest"/>
            <wsdl:output message="schema:ExchangeResponse" 
name="ExchangeResponse"/>
        </wsdl:operation>
    </wsdl:portType>

    <wsdl:binding name="CurrencyExchangeSoapBinding" 
type="schema:CurrencyExchange">
        <soap:binding style="document" 
transport="http://schemas.xmlsoap.org/soap/http"/>
        <wsdl:operation name="Exchange">
            <wsdl:input>
                <soap:body use="literal"/>
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal"/>
            </wsdl:output>
        </wsdl:operation>
    </wsdl:binding>

    <wsdl:binding name="CurrencyExchangeXmlBinding" 
type="schema:CurrencyExchange">
        <xformat:binding/>
        <wsdl:operation name="Exchange">
            <wsdl:input>
                <xformat:body rootNode="schema:ExchangeRequest"/>
            </wsdl:input>
            <wsdl:output/>
        </wsdl:operation>
    </wsdl:binding>

    <wsdl:service name="CurrencyExchangeService">
        <wsdl:port binding="schema:CurrencyExchangeSoapBinding" 
name="CurrencyExchangeSoapPort"/>
        <wsdl:port binding="schema:CurrencyExchangeXmlBinding" 
name="CurrencyExchangeXmlPort"/>
    </wsdl:service>

</wsdl:definitions>
{code}


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