Oneway operations are defined in WSDL 1.1 section 2.4.1.  A oneway
operation ONLY has an input message.  Oneway operations are not supposed to
have faults, so this WSDL is bad.  WSDL2Java is accepting this WSDL when it
should have rejected it.

Russell Butek
[EMAIL PROTECTED]


"Alex Gugel" <[EMAIL PROTECTED]> on 10/02/2002 11:51:07 AM

Please respond to [EMAIL PROTECTED]

To:    <[EMAIL PROTECTED]>
cc:
Subject:    RE: expections got lost _call.invokeOneWay()



Hi,


 <operation name="deleteUserInfo">
  <input message="tns:getInfoRequest" name="getInfoRequest"/>
  <output message=""/>
  <fault message="tns:IllegalArgumentException"
name="IllegalArgumentException"/>
 </operation>

instead of

 <operation name="deleteUserInfo">
  <input message="tns:getInfoRequest" name="getInfoRequest"/>
  <fault message="tns:IllegalArgumentException"
name="IllegalArgumentException"/>
 </operation>

solved the problem. Where is definied that the first operation is
non-"oneWay" and the second "oneWay" ?

bye

alex

> -----Original Message-----
> From: Alex Gugel
> Sent: Mittwoch, 2. Oktober 2002 15:57
> To: [EMAIL PROTECTED]
> Subject: expections got lost _call.invokeOneWay()
>
>
> Hi,
>
> Exceptions thrown by my web service got lost. the soap messages look
> healthy.
>
> My method does not have a return value but it may throw some
> exceptions.
>
> I created the client with wsdl2java. For this method
> wsdl2java generates
> a _call.invokeOneWay(). So thrown exceptions get ignored. How must I
> change the wsdl file to get a _call.invoke() instead.
>
>
> type declaration:
>
>   <xs:complexType name="ExceptionType">
>     <xs:sequence>
>       <xs:element name="message" type="xs:string"/>
>     </xs:sequence>
>   </xs:complexType>
>
>   <xs:complexType name="IllegalArgumentExceptionType">
>     <xs:complexContent>
>       <xs:extension base="tns:ExceptionType"/>
>     </xs:complexContent>
>   </xs:complexType>
>
> message declaration:
>
>   <message name="IllegalArgumentException">
>     <part name="fault"
> type="common-transfer:IllegalArgumentExceptionType"/>
>   </message>
>
> porttype declaration:
>
>     <operation name="deleteUserInfo">
>       <input message="tns:getInfoRequest" name="getInfoRequest"/>
>       <fault name="IllegalArgumentException"
> message="tns:IllegalArgumentException"/>
>     </operation>
>
> binding:
>
>     <operation name="deleteUserInfo">
>       <soap:operation soapAction=""/>
>       <input name="getInfoRequest">
>         <soap:body
>           encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";
>           namespace="http://soap.user.adapter.platform.curiavant.de";
>           use="encoded"/>
>       </input>
>       <fault>
>         <soap:body use="encoded"
>
> namespace="http://soap.delivery.adapter.platform.curiavant.de";
>           encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
>       </fault>
>     </operation>
>
>
> bye
>
> alex
 >


Reply via email to