Uploaded image for project: 'CXF'
  1. CXF
  2. CXF-875

NullpointerException from wsdltojava when using non-soap extensions

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Critical
    • Resolution: Fixed
    • 2.0, 2.0.1
    • 2.0.1
    • Tooling
    • None

    Description

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

      wsdl2java.bat -verbose CurrencyExchange.wsdl

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

      Attachments

        Activity

          People

            maomaode maomaode
            raykrueger Ray Krueger
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: