Hi Deepal.

Deepal jayasinghe schrieb:

I create a POJO and deploy and I got the expected result , so will you
be able to provide me more data to re-generate the issues. FYI I have
attached my POJO.

I attached two WSDL files (stupid SQL wrapper plus common types and messages). The file with suffix orig is the web service which I want to implement. The file with the short filename is the specification which works. It looks like that AxisFault will only be correctly handled by the InOut message receiver. The RobustInOnly message receiver has a problem. Perhaps this has something to do with the initialization of the web server or the inheritaed classes.

BTW some details about my server implementation. I always generate the skeleton and the interface. My implementation class extends the skeleton. If I throw the custom exception (specified in the WSDL)in my implementation then his exception will be catched by the generated message receiver. This receiver packs the exception into an AxisFault and throw it again. The problem is that it looks like the handling of the RobustInOnly and InOut message receivers is different.

If you have a normal InOut receiver then you get an http 202 code plus the SOAP error. If you have RobustInOnly then you get only http 202.

Best regards

Michael
--
_______________________________________________________________

Michael Bell                    Humboldt-Universitaet zu Berlin

Tel.: +49 (0)30-2093 2482       ZE Computer- und Medienservice
Fax:  +49 (0)30-2093 2704       Unter den Linden 6
[EMAIL PROTECTED]   D-10099 Berlin
_______________________________________________________________

X.509 CA Certificates / Wurzelzertifikate

http://ra.pki.hu-berlin.de
<?xml version="1.0"?>
<!--
    xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/";
 -->
<wsdl:definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"; xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"; xmlns:xsd="http://www.w3.org/2001/XMLSchema"; xmlns:huiam="http://huiam.cms.hu-berlin.de/specs/ws/common"; xmlns:sync="http://huiam.cms.hu-berlin.de/specs/ws/sync"; xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"; xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"; targetNamespace="http://huiam.cms.hu-berlin.de/specs/ws/sync";>

  <wsdl:import namespace="http://huiam.cms.hu-berlin.de/specs/ws/common"; location="../HU-IAM-WS-Common/common.wsdl"/>

  <wsdl:types>
    <xsd:schema targetNamespace="http://huiam.cms.hu-berlin.de/specs/ws/common";>
      <xsd:import namespace="http://huiam.cms.hu-berlin.de/specs/ws/common"; schemaLocation="../HU-IAM-WS-Common/common.xsd" />
    </xsd:schema>
    <xsd:schema attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="http://huiam.cms.hu-berlin.de/specs/ws/sync";>

      <!-- ============== -->
      <!--      TYPES     -->
      <!-- ============== -->

      <!-- SQL specific types -->
      <xsd:simpleType name="SQLDatatypeEnum">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="VARCHAR1"/>
          <xsd:enumeration value="VARCHAR8"/>
          <xsd:enumeration value="VARCHAR64"/>
          <xsd:enumeration value="VARCHAR128"/>
          <xsd:enumeration value="VARCHAR255"/>
          <xsd:enumeration value="VARCHAR2048"/>
          <xsd:enumeration value="TEXT"/>
          <xsd:enumeration value="TIMESTAMP"/>
          <xsd:enumeration value="DATE"/>
          <xsd:enumeration value="NUMERIC"/>
          <xsd:enumeration value="SEQUENCE"/>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:complexType name="SQLColumn">
        <xsd:sequence>
          <xsd:element name="name" type="xsd:string"/>
          <xsd:element name="type" type="sync:SQLDatatypeEnum"/>
          <xsd:element name="value" type="xsd:string"/>
        </xsd:sequence>
      </xsd:complexType>

      <!-- ============================= -->
      <!--      ELEMENTS FOR MESSAGES    -->
      <!-- ============================= -->

      <!-- SQL messages -->
      <xsd:element name="insertRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="table" type="xsd:string"/>
            <xsd:element maxOccurs="unbounded" name="data" type="sync:SQLColumn"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="updateRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="table" type="xsd:string"/>
            <xsd:element maxOccurs="unbounded" name="where" type="sync:SQLColumn"/>
            <xsd:element maxOccurs="unbounded" name="data" type="sync:SQLColumn"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="deleteRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="table" type="xsd:string"/>
            <xsd:element maxOccurs="unbounded" name="where" type="sync:SQLColumn"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="dummyResponse" type="xsd:string"/>
    </xsd:schema>
  </wsdl:types>

  <!-- ================ -->
  <!--     MESSAGES     -->
  <!-- ================ -->

  <!-- SQL messages -->
  <wsdl:message name="InsertRequestMsg">
    <wsdl:part name="InsertRequestData" element="sync:insertRequest"/>
  </wsdl:message>
  <wsdl:message name="UpdateRequestMsg">
    <wsdl:part name="UpdateRequestData" element="sync:updateRequest"/>
  </wsdl:message>
  <wsdl:message name="DeleteRequestMsg">
    <wsdl:part name="DeleteRequestData" element="sync:deleteRequest"/>
  </wsdl:message>
  <wsdl:message name="DummyResponseMsg">
    <wsdl:part name="DummyResponseData" element="sync:dummyResponse"/>
  </wsdl:message>

  <!-- ================== -->
  <!--     OPERATIONS     -->
  <!-- ================== -->

  <wsdl:portType name="wsSyncPortType">

    <!-- the names for the input and output messages can be ignored -->
    <!-- unfortunately the eclipse WSDL validator checks them for uniqueness -->
    <!-- so we add some noise to make them unique ... -->

    <!-- SQL operations -->
    <!-- enforce initialization of InOut MessageReceiver -->

    <wsdl:operation name="insertOperation">
      <wsdl:input  name="inputInsertMsg" message="sync:InsertRequestMsg"/>
      <wsdl:output name="outputDummyMsg" message="sync:DummyResponseMsg"/>
      <wsdl:fault name="faultException" message="huiam:FaultMsg"/>
    </wsdl:operation>
    <wsdl:operation name="updateOperation">
      <wsdl:input  name="inputUpdateMsg" message="sync:UpdateRequestMsg"/>
      <wsdl:output name="outputDummyMsg" message="sync:DummyResponseMsg"/>
      <wsdl:fault name="faultException" message="huiam:FaultMsg"/>
    </wsdl:operation>
    <wsdl:operation name="deleteOperation">
      <wsdl:input  name="inputDeleteMsg" message="sync:DeleteRequestMsg"/>
      <wsdl:output name="outputDummyMsg" message="sync:DummyResponseMsg"/>
      <wsdl:fault name="faultException" message="huiam:FaultMsg"/>
    </wsdl:operation>

  </wsdl:portType>

  <!-- ================ -->
  <!--     BINDINGS     -->
  <!-- ================ -->

  <wsdl:binding name="wsSyncSOAP11Binding" type="sync:wsSyncPortType">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http"; style="document"/>

    <!-- SQL bindings -->

    <wsdl:operation name="insertOperation">
      <soap:operation soapAction="insertOperation"/>
      <wsdl:input>
        <soap:body use="literal"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal"/>
      </wsdl:output>
      <wsdl:fault name="faultException">
        <soap:body use="literal"/>
      </wsdl:fault>
    </wsdl:operation>
    <wsdl:operation name="updateOperation">
      <soap:operation soapAction="updateOperation"/>
      <wsdl:input>
        <soap:body use="literal"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal"/>
      </wsdl:output>
      <wsdl:fault name="faultException">
        <soap:body use="literal"/>
      </wsdl:fault>
    </wsdl:operation>
    <wsdl:operation name="deleteOperation">
      <soap:operation soapAction="deleteOperation"/>
      <wsdl:input>
        <soap:body use="literal"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal"/>
      </wsdl:output>
      <wsdl:fault name="faultException">
        <soap:body use="literal"/>
      </wsdl:fault>
    </wsdl:operation>

  </wsdl:binding>

  <wsdl:service name="wsSync">
    <wsdl:port name="wsSyncPortHttp" binding="sync:wsSyncSOAP11Binding">
      <soap:address location="http://localhost:8180/axis2/services/wsSyncPortType"/>
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>
<?xml version="1.0"?>
<!--
    xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/";
 -->
<wsdl:definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"; xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"; xmlns:xsd="http://www.w3.org/2001/XMLSchema"; xmlns:huiam="http://huiam.cms.hu-berlin.de/specs/ws/common"; xmlns:sync="http://huiam.cms.hu-berlin.de/specs/ws/sync"; xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"; xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"; targetNamespace="http://huiam.cms.hu-berlin.de/specs/ws/sync";>

  <wsdl:import namespace="http://huiam.cms.hu-berlin.de/specs/ws/common"; location="../HU-IAM-WS-Common/common.wsdl"/>

  <wsdl:types>
    <xsd:schema targetNamespace="http://huiam.cms.hu-berlin.de/specs/ws/common";>
      <xsd:import namespace="http://huiam.cms.hu-berlin.de/specs/ws/common"; schemaLocation="../HU-IAM-WS-Common/common.xsd" />
    </xsd:schema>
    <xsd:schema attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="http://huiam.cms.hu-berlin.de/specs/ws/sync";>

      <!-- ============== -->
      <!--      TYPES     -->
      <!-- ============== -->

      <!-- SQL specific types -->
      <xsd:simpleType name="SQLDatatypeEnum">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="VARCHAR1"/>
          <xsd:enumeration value="VARCHAR8"/>
          <xsd:enumeration value="VARCHAR64"/>
          <xsd:enumeration value="VARCHAR128"/>
          <xsd:enumeration value="VARCHAR255"/>
          <xsd:enumeration value="VARCHAR2048"/>
          <xsd:enumeration value="TEXT"/>
          <xsd:enumeration value="TIMESTAMP"/>
          <xsd:enumeration value="DATE"/>
          <xsd:enumeration value="NUMERIC"/>
          <xsd:enumeration value="SEQUENCE"/>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:complexType name="SQLColumn">
        <xsd:sequence>
          <xsd:element name="name" type="xsd:string"/>
          <xsd:element name="type" type="sync:SQLDatatypeEnum"/>
          <xsd:element name="value" type="xsd:string"/>
        </xsd:sequence>
      </xsd:complexType>

      <!-- ============================= -->
      <!--      ELEMENTS FOR MESSAGES    -->
      <!-- ============================= -->

      <!-- SQL messages -->
      <xsd:element name="insertRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="table" type="xsd:string"/>
            <xsd:element maxOccurs="unbounded" name="data" type="sync:SQLColumn"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="updateRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="table" type="xsd:string"/>
            <xsd:element maxOccurs="unbounded" name="where" type="sync:SQLColumn"/>
            <xsd:element maxOccurs="unbounded" name="data" type="sync:SQLColumn"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="deleteRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="table" type="xsd:string"/>
            <xsd:element maxOccurs="unbounded" name="where" type="sync:SQLColumn"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
    </xsd:schema>
  </wsdl:types>

  <!-- ================ -->
  <!--     MESSAGES     -->
  <!-- ================ -->

  <!-- SQL messages -->
  <wsdl:message name="InsertRequestMsg">
    <wsdl:part name="InsertRequestData" element="sync:insertRequest"/>
  </wsdl:message>
  <wsdl:message name="UpdateRequestMsg">
    <wsdl:part name="UpdateRequestData" element="sync:updateRequest"/>
  </wsdl:message>
  <wsdl:message name="DeleteRequestMsg">
    <wsdl:part name="DeleteRequestData" element="sync:deleteRequest"/>
  </wsdl:message>

  <!-- ================== -->
  <!--     OPERATIONS     -->
  <!-- ================== -->

  <wsdl:portType name="wsSyncPortType">

    <!-- the names for the input and output messages can be ignored -->
    <!-- unfortunately the eclipse WSDL validator checks them for uniqueness -->
    <!-- so we add some noise to make them unique ... -->

    <!-- SQL operations -->
    <!-- enforce initialization of InOut MessageReceiver -->

    <wsdl:operation name="insertOperation">
      <wsdl:input  name="inputInsertMsg" message="sync:InsertRequestMsg"/>
      <wsdl:fault name="faultException" message="huiam:FaultMsg"/>
    </wsdl:operation>
    <wsdl:operation name="updateOperation">
      <wsdl:input  name="inputUpdateMsg" message="sync:UpdateRequestMsg"/>
      <wsdl:fault name="faultException" message="huiam:FaultMsg"/>
    </wsdl:operation>
    <wsdl:operation name="deleteOperation">
      <wsdl:input  name="inputDeleteMsg" message="sync:DeleteRequestMsg"/>
      <wsdl:fault name="faultException" message="huiam:FaultMsg"/>
    </wsdl:operation>

  </wsdl:portType>

  <!-- ================ -->
  <!--     BINDINGS     -->
  <!-- ================ -->

  <wsdl:binding name="wsSyncSOAP11Binding" type="sync:wsSyncPortType">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http"; style="document"/>

    <!-- SQL bindings -->

    <wsdl:operation name="insertOperation">
      <soap:operation soapAction="insertOperation"/>
      <wsdl:input>
        <soap:body use="literal"/>
      </wsdl:input>
      <wsdl:fault name="faultException">
        <soap:body use="literal"/>
      </wsdl:fault>
    </wsdl:operation>
    <wsdl:operation name="updateOperation">
      <soap:operation soapAction="updateOperation"/>
      <wsdl:input>
        <soap:body use="literal"/>
      </wsdl:input>
      <wsdl:fault name="faultException">
        <soap:body use="literal"/>
      </wsdl:fault>
    </wsdl:operation>
    <wsdl:operation name="deleteOperation">
      <soap:operation soapAction="deleteOperation"/>
      <wsdl:input>
        <soap:body use="literal"/>
      </wsdl:input>
      <wsdl:fault name="faultException">
        <soap:body use="literal"/>
      </wsdl:fault>
    </wsdl:operation>

  </wsdl:binding>

  <wsdl:service name="wsSync">
    <wsdl:port name="wsSyncPortHttp" binding="sync:wsSyncSOAP11Binding">
      <soap:address location="http://localhost:8180/axis2/services/wsSyncPortType"/>
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>
<?xml version="1.0"?>
<!--
    xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/";
 -->
<wsdl:definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"; xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"; xmlns:xsd="http://www.w3.org/2001/XMLSchema"; xmlns:huiam="http://huiam.cms.hu-berlin.de/specs/ws/common"; xmlns:core="http://huiam.cms.hu-berlin.de/specs/ws/core"; xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"; xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"; targetNamespace="http://huiam.cms.hu-berlin.de/specs/ws/common"; xmlns:xi="http://www.w3.org/2001/XInclude";>

  <wsdl:types>
    <xsd:schema targetNamespace="http://huiam.cms.hu-berlin.de/specs/ws/common";>
      <xsd:import namespace="http://huiam.cms.hu-berlin.de/specs/ws/common"; schemaLocation="../HU-IAM-WS-Common/common.xsd" />
    </xsd:schema>
  </wsdl:types>

  <wsdl:message name="FaultMsg">
    <wsdl:part name="fault" element="huiam:fault"/>
  </wsdl:message>

</wsdl:definitions>
<?xml version="1.0"?>
    <xsd:schema attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="http://huiam.cms.hu-berlin.de/specs/ws/common"; xmlns:xsd="http://www.w3.org/2001/XMLSchema"; xmlns:huiam="http://huiam.cms.hu-berlin.de/specs/ws/common";>

      <!-- ============== -->
      <!--      TYPES     -->
      <!-- ============== -->

      <!-- common types -->

      <!-- common messages -->
      <xsd:element name="fault">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="message" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

    </xsd:schema>

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to