Search code examples
soapwsdl

java.lang.reflect.InvocationTargetException while creating Java Files from WSDL in switchyard


I am trying to create stubs (java files) from an existing WSDL in switchyard and getting the exception : java.lang.reflect.InvocationTargetException

Steps:

  1. I created a switchyard project in JBDS and placed the wsdl in resources folder. Then I did New -> Others -> SwitchYard -> Java Files from WSDL
  2. I select the package and browse for the wsdl file.
  3. When I click on Finish, I get a pop up with an error java.lang.reflect.InvocationTargetException and it won't create the java files

enter image description here

I have attached the error and the wsdl files. Please let me know how to fix the issue. Is there something wrong I am doing to create generate the java files. Please let me know.

<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:mx="http://www.ibm.com/maximo" xmlns:mxws="http://www.ibm.com/maximo/wsdl/web_MXINCIDENT_WS" targetNamespace="http://www.ibm.com/maximo/wsdl/web_MXINCIDENT_WS" name="web_MXINCIDENT_WS">
  <types>
    <xsd:schema xmlns="http://www.ibm.com/maximo" elementFormDefault="qualified" attributeFormDefault="unqualified" targetNamespace="http://www.ibm.com/maximo">
      <xsd:include schemaLocation="common/MXMeta.xsd" />
      <xsd:include schemaLocation="MXINCIDENT_WSTB.xsd" />
      <xsd:include schemaLocation="common/mxincident_wst.xsd" />
      <xsd:complexType name="CreateMXINCIDENT_WSTBType">
        <xsd:sequence>
          <xsd:element ref="MXINCIDENT_WSTBSet" />
        </xsd:sequence>
        <xsd:attributeGroup ref="CommonContentGroup" />
      </xsd:complexType>
      <xsd:complexType name="InvokeMXINCIDENT_WSTBType">
        <xsd:sequence>
          <xsd:element ref="MXINCIDENT_WSTBSet" />
        </xsd:sequence>
        <xsd:attributeGroup ref="CommonContentGroup" />
      </xsd:complexType>
      <xsd:complexType name="QueryMXINCIDENT_WSTBType">
        <xsd:sequence>
          <xsd:element ref="MXINCIDENT_WSTBQuery" />
        </xsd:sequence>
        <xsd:attributeGroup ref="CommonContentGroup" />
        <xsd:attributeGroup ref="QueryContentGroup" />
      </xsd:complexType>
      <xsd:complexType name="SyncMXINCIDENT_WSTBType">
        <xsd:sequence>
          <xsd:element ref="MXINCIDENT_WSTBSet" />
        </xsd:sequence>
        <xsd:attributeGroup ref="CommonContentGroup" />
      </xsd:complexType>
      <xsd:complexType name="PublishMXINCIDENT_WSTBType">
        <xsd:sequence>
          <xsd:element ref="MXINCIDENT_WSTBSet" />
        </xsd:sequence>
        <xsd:attributeGroup ref="CommonContentGroup" />
        <xsd:attributeGroup ref="PublishingContentGroup" />
      </xsd:complexType>
      <xsd:complexType name="UpdateMXINCIDENT_WSTBType">
        <xsd:sequence>
          <xsd:element ref="MXINCIDENT_WSTBSet" />
        </xsd:sequence>
        <xsd:attributeGroup ref="CommonContentGroup" />
      </xsd:complexType>
      <xsd:complexType name="DeleteMXINCIDENT_WSTBType">
        <xsd:sequence>
          <xsd:element ref="MXINCIDENT_WSTBSet" />
        </xsd:sequence>
        <xsd:attributeGroup ref="CommonContentGroup" />
      </xsd:complexType>
      <xsd:complexType name="InvokeMXINCIDENT_WSTBResponseType">
        <xsd:sequence>
          <xsd:element ref="MXINCIDENT_WSTBSet" />
        </xsd:sequence>
        <xsd:attributeGroup ref="CommonContentGroup" />
      </xsd:complexType>
      <xsd:complexType name="CreateMXINCIDENT_WSTBResponseType">
        <xsd:sequence>
          <xsd:element name="MXINCIDENT_WSTBSet" type="MXINCIDENT_WSTBCombinedKeySetType" minOccurs="0" />
        </xsd:sequence>
        <xsd:attributeGroup ref="CommonContentGroup" />
      </xsd:complexType>
      <xsd:complexType name="QueryMXINCIDENT_WSTBResponseType">
        <xsd:sequence>
          <xsd:element ref="MXINCIDENT_WSTBSet" />
        </xsd:sequence>
        <xsd:attributeGroup ref="CommonContentGroup" />
        <xsd:attributeGroup ref="ResponseContentGroup" />
      </xsd:complexType>
      <xsd:complexType name="SyncMXINCIDENT_WSTBResponseType">
        <xsd:sequence>
          <xsd:element name="MXINCIDENT_WSTBSet" type="MXINCIDENT_WSTBCombinedKeySetType" minOccurs="0" />
        </xsd:sequence>
        <xsd:attributeGroup ref="CommonContentGroup" />
      </xsd:complexType>
      <xsd:complexType name="DeleteMXINCIDENT_WSTBResponseType">
        <xsd:sequence>
          <xsd:element name="MXINCIDENT_WSTBSet" type="MXINCIDENT_WSTBCombinedKeySetType" minOccurs="0" />
        </xsd:sequence>
        <xsd:attributeGroup ref="CommonContentGroup" />
      </xsd:complexType>
      <xsd:complexType name="UpdateMXINCIDENT_WSTBResponseType">
        <xsd:sequence>
          <xsd:element name="MXINCIDENT_WSTBSet" type="MXINCIDENT_WSTBCombinedKeySetType" minOccurs="0" />
        </xsd:sequence>
        <xsd:attributeGroup ref="CommonContentGroup" />
      </xsd:complexType>
      <xsd:element name="UpdateMXINCIDENT_WSTB" type="UpdateMXINCIDENT_WSTBType" />
      <xsd:element name="QueryMXINCIDENT_WSTB" type="QueryMXINCIDENT_WSTBType" />
      <xsd:element name="CreateMXINCIDENT_WSTB" type="CreateMXINCIDENT_WSTBType" />
      <xsd:element name="SyncMXINCIDENT_WSTB" type="SyncMXINCIDENT_WSTBType" />
      <xsd:element name="DeleteMXINCIDENT_WSTB" type="DeleteMXINCIDENT_WSTBType" />
      <xsd:element name="PublishMXINCIDENT_WSTB" type="PublishMXINCIDENT_WSTBType" />
      <xsd:element name="InvokeMXINCIDENT_WSTB" type="InvokeMXINCIDENT_WSTBType" />
      <xsd:element name="InvokeMXINCIDENT_WSTBResponse" type="InvokeMXINCIDENT_WSTBResponseType" />
      <xsd:element name="QueryMXINCIDENT_WSTBResponse" type="QueryMXINCIDENT_WSTBResponseType" />
      <xsd:element name="CreateMXINCIDENT_WSTBResponse" type="CreateMXINCIDENT_WSTBResponseType" />
      <xsd:element name="SyncMXINCIDENT_WSTBResponse" type="SyncMXINCIDENT_WSTBResponseType" />
      <xsd:element name="UpdateMXINCIDENT_WSTBResponse" type="UpdateMXINCIDENT_WSTBResponseType" />
      <xsd:element name="DeleteMXINCIDENT_WSTBResponse" type="DeleteMXINCIDENT_WSTBResponseType" />
    </xsd:schema>
  </types>
  <portType name="web_MXINCIDENT_WSPortType">
    <operation name="CreateMXINCIDENT_WSTB">
      <input message="mxws:CreateMXINCIDENT_WSTBRequest" />
      <output message="mxws:CreateMXINCIDENT_WSTBResponse" />
    </operation>
  </portType>
  <binding name="web_MXINCIDENT_WSSOAP11Binding" type="mxws:web_MXINCIDENT_WSPortType">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
    <operation name="CreateMXINCIDENT_WSTB">
      <soap:operation soapAction="urn:processDocument" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
  </binding>
  <binding name="web_MXINCIDENT_WSSOAP12Binding" type="mxws:web_MXINCIDENT_WSPortType">
    <soap12:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
    <operation name="CreateMXINCIDENT_WSTB">
      <soap12:operation soapAction="urn:processDocument" style="document" />
      <input>
        <soap12:body use="literal" />
      </input>
      <output>
        <soap12:body use="literal" />
      </output>
    </operation>
  </binding>
  <message name="CreateMXINCIDENT_WSTBRequest">
    <part name="parameters" element="mx:CreateMXINCIDENT_WSTB" />
  </message>
  <message name="CreateMXINCIDENT_WSTBResponse">
    <part name="parameters" element="mx:CreateMXINCIDENT_WSTBResponse" />
  </message>
  <service name="web_MXINCIDENT_WS">
    <port name="web_MXINCIDENT_WSSOAP11Port" binding="mxws:web_MXINCIDENT_WSSOAP11Binding">
      <soap:address location="http://192.168.44.65:9080/meaweb/services/web_MXINCIDENT_WS" />
    </port>
    <port name="web_MXINCIDENT_WSSOAP12Port" binding="mxws:web_MXINCIDENT_WSSOAP12Binding">
      <soap12:address location="http://192.168.44.65:9080/meaweb/services/web_MXINCIDENT_WS" />
    </port>
  </service>
</definitions>

Solution

  • Finally I was able to figure out the issue.

    What I realized is,

    1. if the WSDL is not proper you will get this exception which I was getting in my case.
    2. In my wsdl there were two xsd's required which was missing from the specified location. After adding those two xsd's I was able to generate the stubs.

    Reference : https://developer.jboss.org/message/918130