Hello.

Using WSDL2Java with the attached WSDL file produces a not compileable MessageReceiver.

Too much braces. I marked up the lines.
Here's a snipped:


catch (org.apache.axis2.CareSkeleton.DeleteProductException e) {
                       org.apache.axis2.AxisFault f =
new org.apache.axis2.AxisFault("DeleteProductException");
                       f.setDetail(toOM(e.getFaultMessage(),false));
                       throw f;
----->           }
}catch (org.apache.axis2.CareSkeleton.SaveProductException e) {
                       org.apache.axis2.AxisFault f =
new org.apache.axis2.AxisFault("SaveProductException");
                       f.setDetail(toOM(e.getFaultMessage(),false));
                       throw f;
                   }
}catch (org.apache.axis2.CareSkeleton.UpdateProductException e) {
                       org.apache.axis2.AxisFault f =
new org.apache.axis2.AxisFault("UpdateProductException");
                       f.setDetail(toOM(e.getFaultMessage(),false));
                       throw f;
----->           }
}catch (org.apache.axis2.CareSkeleton.GetAllProductException e) {
                       org.apache.axis2.AxisFault f =
new org.apache.axis2.AxisFault("GetAllProductException");
                       f.setDetail(toOM(e.getFaultMessage(),false));
                       throw f;
----->           }
}catch (org.apache.axis2.CareSkeleton.GetProductException e) {
                       org.apache.axis2.AxisFault f =
new org.apache.axis2.AxisFault("GetProductException");
                       f.setDetail(toOM(e.getFaultMessage(),false));
                       throw f;
                   }


I think the XSL-Template has to be changed or my WSDL-file is invalid.

PS: I have also a Thread about a Exception while using WSDL-Failures, so please help me.

Thanks,

Siamak Haschemi
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
  xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"; xmlns:xsd="http://www.w3.org/2001/XMLSchema";
  name="shop" targetNamespace="http://haschemi.org/shop"; xmlns:ss="http://haschemi.org/shop";
  xmlns:common="http://haschemi.org/shop/common";>
  <wsdl:types>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"; elementFormDefault="qualified"
      targetNamespace="http://haschemi.org/shop/common";>

      <xsd:complexType name="product-type">
        <xsd:sequence>
          <xsd:element name="categoryId" type="xsd:long" minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
        <xsd:attribute name="id" type="xsd:long" />
        <xsd:attribute name="dateOfExpiry" type="xsd:date" />
        <xsd:attribute name="description" type="xsd:string" />
        <xsd:attribute name="calorificValue" type="xsd:int" />
        <xsd:attribute name="name" type="xsd:string" />
        <xsd:attribute name="amount" type="xsd:float" />
        <xsd:attribute name="amountUnit" type="xsd:string" />
        <xsd:attribute name="fromTemperatureRange" type="xsd:float" />
        <xsd:attribute name="toTemperatureRange" type="xsd:float" />
      </xsd:complexType>

      <xsd:element name="saveProductRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="product" type="common:product-type" minOccurs="0"
              maxOccurs="unbounded" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="saveProductResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="productId" type="xsd:long" minOccurs="0" maxOccurs="unbounded" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="updateProductRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="product" type="common:product-type" minOccurs="0"
              maxOccurs="unbounded" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="updateProductResponse" type="xsd:anyType" />

      <xsd:element name="deleteProductRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="productId" type="xsd:long" minOccurs="0" maxOccurs="unbounded" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="deleteProductResponse" type="xsd:anyType" />

      <xsd:element name="getAllProductRequest" type="xsd:anyType" />
      <xsd:element name="getAllProductResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="product" type="common:product-type" minOccurs="0"
              maxOccurs="unbounded" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="getProductRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="productId" type="xsd:long" minOccurs="0" maxOccurs="unbounded" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="getProductResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="product" type="common:product-type" minOccurs="0"
              maxOccurs="unbounded" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="localizedMessage">
        <xsd:attribute name="message" type="xsd:string" />
        <xsd:attribute name="language">
          <xsd:simpleType>
            <xsd:restriction base="xsd:string">
              <xsd:enumeration value="de_DE" />
              <xsd:enumeration value="en_US" />
            </xsd:restriction>
          </xsd:simpleType>
        </xsd:attribute>
      </xsd:complexType>
      <xsd:element name="saveProductExceptionMessage">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="localizedMessage" type="common:localizedMessage" minOccurs="0"
              maxOccurs="unbounded" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="updateProductExceptionMessage">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="localizedMessage" type="common:localizedMessage" minOccurs="0"
              maxOccurs="unbounded" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="deleteProductExceptionMessage">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="localizedMessage" type="common:localizedMessage" minOccurs="0"
              maxOccurs="unbounded" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="getAllProductExceptionMessage">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="localizedMessage" type="common:localizedMessage" minOccurs="0"
              maxOccurs="unbounded" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="getProductExceptionMessage">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="localizedMessage" type="common:localizedMessage" minOccurs="0"
              maxOccurs="unbounded" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
    </xsd:schema>

  </wsdl:types>
  <wsdl:message name="updateProductRequest">
    <wsdl:part name="updateProductRequest" element="common:updateProductRequest"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="updateProductResponse">
    <wsdl:part name="updateProductResponse" element="common:updateProductResponse"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="updateProduct">
    <wsdl:part name="updateProduct" element="common:updateProductExceptionMessage"></wsdl:part>
  </wsdl:message>

  <wsdl:message name="deleteProductRequest">
    <wsdl:part name="deleteProductRequest" element="common:deleteProductRequest"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="deleteProductResponse">
    <wsdl:part name="deleteProductResponse" element="common:deleteProductResponse"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="deleteProduct">
    <wsdl:part name="deleteProduct" element="common:deleteProductExceptionMessage"></wsdl:part>
  </wsdl:message>

  <wsdl:message name="saveProductResponse">
    <wsdl:part name="saveProductResponse" element="common:saveProductResponse"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="saveProductRequest">
    <wsdl:part name="saveProductRequest" element="common:saveProductRequest"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="saveProduct">
    <wsdl:part name="saveProduct" element="common:saveProductExceptionMessage"></wsdl:part>
  </wsdl:message>

  <wsdl:message name="getAllProductResponse">
    <wsdl:part name="getAllProductResponse" element="common:getAllProductResponse"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="getAllProductRequest">
    <wsdl:part name="getAllProductRequest" element="common:getAllProductRequest"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="getAllProduct">
    <wsdl:part name="getAllProduct" element="common:getAllProductExceptionMessage"></wsdl:part>
  </wsdl:message>

  <wsdl:message name="getProductResponse">
    <wsdl:part name="getProductResponse" element="common:getProductResponse"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="getProductRequest">
    <wsdl:part name="getProductRequest" element="common:getProductRequest"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="getProduct">
    <wsdl:part name="getProduct" element="common:getProductExceptionMessage"></wsdl:part>
  </wsdl:message>

  <wsdl:portType name="CarePort">
    <wsdl:operation name="updateProduct">
      <wsdl:input message="ss:updateProductRequest"></wsdl:input>
      <wsdl:output message="ss:updateProductResponse"></wsdl:output>
      <wsdl:fault name="updateProduct" message="ss:updateProduct"></wsdl:fault>
    </wsdl:operation>

    <wsdl:operation name="deleteProduct">
      <wsdl:input message="ss:deleteProductRequest"></wsdl:input>
      <wsdl:output message="ss:deleteProductResponse"></wsdl:output>
      <wsdl:fault name="deleteProduct" message="ss:deleteProduct"></wsdl:fault>
    </wsdl:operation>

    <wsdl:operation name="saveProduct">
      <wsdl:input message="ss:saveProductRequest"></wsdl:input>
      <wsdl:output message="ss:saveProductResponse"></wsdl:output>
      <wsdl:fault name="saveProduct" message="ss:saveProduct"></wsdl:fault>
    </wsdl:operation>

    <wsdl:operation name="getAllProduct">
      <wsdl:input message="ss:getAllProductRequest"></wsdl:input>
      <wsdl:output message="ss:getAllProductResponse"></wsdl:output>
      <wsdl:fault name="getAllProduct" message="ss:getAllProduct"></wsdl:fault>
    </wsdl:operation>

    <wsdl:operation name="getProduct">
      <wsdl:input message="ss:getProductRequest"></wsdl:input>
      <wsdl:output message="ss:getProductResponse"></wsdl:output>
      <wsdl:fault name="getProduct" message="ss:getProduct"></wsdl:fault>
    </wsdl:operation>

  </wsdl:portType>

  <wsdl:binding name="CareBindingSOAP" type="ss:CarePort">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http"; style="document" />
    <wsdl:operation name="updateProduct">
      <soap:operation soapAction="http://haschemi.org/care/updateProduct"; style="document" />
      <wsdl:input>
        <soap:body parts="updateProductRequest" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body parts="updateProductResponse" use="literal" />
      </wsdl:output>
      <wsdl:fault name="updateProduct">
        <soap:fault name="updateProduct" use="literal" />
      </wsdl:fault>
    </wsdl:operation>

    <wsdl:operation name="deleteProduct">
      <soap:operation soapAction="http://haschemi.org/care/deleteProduct"; style="document" />
      <wsdl:input>
        <soap:body parts="deleteProductRequest" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body parts="deleteProductResponse" use="literal" />
      </wsdl:output>
      <wsdl:fault name="deleteProduct">
        <soap:fault name="deleteProduct" use="literal" />
      </wsdl:fault>
    </wsdl:operation>

    <wsdl:operation name="saveProduct">
      <soap:operation soapAction="http://haschemi.org/care/saveProduct"; style="document" />
      <wsdl:input>
        <soap:body parts="saveProductRequest" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body parts="saveProductResponse" use="literal" />
      </wsdl:output>
      <wsdl:fault name="saveProduct">
        <soap:fault name="saveProduct" use="literal" />
      </wsdl:fault>
    </wsdl:operation>

    <wsdl:operation name="getAllProduct">
      <soap:operation soapAction="http://haschemi.org/care/getAllProduct"; style="document" />
      <wsdl:input>
        <soap:body parts="getAllProductRequest" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body parts="getAllProductResponse" use="literal" />
      </wsdl:output>
      <wsdl:fault name="getAllProduct">
        <soap:fault name="getAllProduct" use="literal" />
      </wsdl:fault>
    </wsdl:operation>

    <wsdl:operation name="getProduct">
      <soap:operation soapAction="http://haschemi.org/care/getProduct"; style="document" />
      <wsdl:input>
        <soap:body parts="getProductRequest" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body parts="getProductResponse" use="literal" />
      </wsdl:output>
      <wsdl:fault name="getProduct">
        <soap:fault name="getProduct" use="literal" />
      </wsdl:fault>
    </wsdl:operation>
  </wsdl:binding>

  <wsdl:service name="care">
    <wsdl:port name="CareSOAP" binding="ss:CareBindingSOAP">
      <soap:address location="http://haschemi.org:8080/axis2/services/care/"; />
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>

Reply via email to