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