You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Volodymyr Ilchenko (JIRA)" <ax...@ws.apache.org> on 2005/09/28 14:53:48 UTC

[jira] Commented: (AXIS-2160) Response of void methods

    [ http://issues.apache.org/jira/browse/AXIS-2160?page=comments#action_12330682 ] 

Volodymyr Ilchenko commented on AXIS-2160:
------------------------------------------

Fix
===================================
Axis 1.2.1 -> RPCProvider.java -> processMessage(...) (Line 373)

Instead of 

        resEnv.addBodyElement(resBody);

should be

    if (resBody.getChildren() != null && resBody.getChildren().size() != 0) {
            resEnv.addBodyElement(resBody);
    }



> Response of void methods
> ------------------------
>
>          Key: AXIS-2160
>          URL: http://issues.apache.org/jira/browse/AXIS-2160
>      Project: Apache Axis
>         Type: Bug
>   Components: Serialization/Deserialization, WSDL processing
>  Environment: Linux Fedora Core 3
> Axis 1.2.1
> java full version "1.5.0_02-b09"
> Tomcat 5.5.8
>     Reporter: Volodymyr Ilchenko

>
> Hello All,
> I'm using Axis 1.2.1 and trying to implement UDDI v.3 spec (http://www.uddi.org/). However, I have a question with respect to methods that do not return a response but still have to execute synchronously. Here is an example from UDDI spec:
> void delete_tModel(Delete_tModel body) throws DispositionReport;
> Axis produces the following response in case the method call succeeds:
> <?xml version="1.0" encoding="utf-8"?>
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
>   <soapenv:Body>
>     <delete_tModelResponse xmlns="urn:uddi-org:api_v3"/>
>   </soapenv:Body>
> </soapenv:Envelope>
> However, delete_tModelResponse is not defined under "urn:uddi-org:api_v3" namespace. Thus, the response is invalid.
> I would expect the response to contain an empty SOAP Body element, like:
> <?xml version="1.0" encoding="utf-8"?>
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
>   <soapenv:Body/>
> </soapenv:Envelope>
> Here are snippets of UDDI WSDL's provided by OASIS (you can find the complete WSDL's on uddi.org):
> ==== PortType ====
> <message name="successMessage"/>
> <message name="delete_tModelMessage">
>     <part name="body" element="uddi:delete_tModel"/>
> </message>
> <operation name="delete_tModel">
>     <input message="tns:delete_tModelMessage"/>
>     <output message="tns:successMessage"/>
>     <fault name="error" message="tns:dispositionReportFaultMessage"/>
> </operation>
> ==== Binding ====
> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
> <operation name="delete_service">
>     <soap:operation soapAction="delete_service"/>
>     <input>
>         <soap:body use="literal"/>
>     </input>
>     <output>
>         <soap:body use="literal"/>
>     </output>
>     <fault name="error">
>         <soap:fault name="error" use="literal"/>
>     </fault>
> </operation>
> Best regards,
> Volodymyr Ilchenko

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira