[ http://issues.apache.org/jira/browse/AXIS2-837?page=comments#action_12417811 ]
Ted Jones commented on AXIS2-837: --------------------------------- I am executing a web service (Axis 1.3, but it looks like the same issue in Axis 2) with no input parameters so the SOAP body is empty like so: <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body/> </soapenv:Envelope> I am getting an NPE returned before I even hit my Web Service, so I am assuming the exception is happening in Axis somewhere (I'm not seeing a stack trace). Here is the response: <?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd=" http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <soapenv:Fault> <faultcode>soapenv:Server.userException</faultcode> <faultstring>java.lang.NullPointerException</faultstring> <detail/> </soapenv:Fault> </soapenv:Body> </soapenv:Envelope> I get this using Coral and Systinet as my clients. When I generate an Axis client, I do not get an NPE but I get a node added to my body with the operation name in it (which I don't want since my logic depends on the body to be empty when no inputs are provided). Here is the WSDL: <definitions name="widgetServices" targetNamespace="http://com.widgets/test" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://com.widgets/test" xmlns:schema1="http://www.widgets.com/bqt_Output"> <types> <xsd:schema targetNamespace="http://com.widgets/test" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> <xsd:import namespace="http://www.widgets.com/bqt_Output" schemaLocation="http://chicago:8080/test/servlet/ArtifactDocumentService/test/bqt_Output.xsd" /> </xsd:schema> </types> <message name="bqt_SMALLA_getSMALLA_Input"> <documentation>Input message for operation bqt_SMALLA/getSMALLA.</documentation> </message> <message name="bqt_SMALLA_getSMALLA_SMALLA_OutputMsg"> <documentation>Output message for operation bqt_SMALLA/getSMALLA.</documentation> <part name="bqt_SMALLA_getSMALLA_SMALLA_OutputMsg" element="schema1:SMALLA_Output" /> </message> <portType name="bqt_SMALLA"> <operation name="getSMALLA"> <input name="Input" message="tns:bqt_SMALLA_getSMALLA_Input" /> <output name="SMALLA_OutputMsg" message="tns:bqt_SMALLA_getSMALLA_SMALLA_OutputMsg" /> </operation> </portType> <binding name="bqt_SMALLA" type="tns:bqt_SMALLA"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" /> <operation name="getSMALLA"> <soap:operation style="document" soapAction="bqt_WS.bqt_SMALLA.getSMALLA" /> <input name="Input"> <soap:body use="literal" /> </input> <output name="SMALLA_OutputMsg"> <soap:body use="literal" /> </output> </operation> </binding> <service name="widgetsDataServices"> <port name="bqt_SMALLA" binding="tns:bqt_SMALLA"> <soap:address location="http://chicago:8080/test/services/service" /> </port> </service></definitions> Here is the WSDD: <deployment name="test" xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java" xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance"> <!-- note that either style="message" OR provider="java:MSG" both work --> <service name="service" provider="java:MSG"> <parameter name="className" value="com.widgets.soap.lds.service.DataServiceWebService" /> <parameter name="allowedMethods" value="executeDataservice" /> </service></deployment> > Java2WSDL should generate a WSDL interface that accepts an empty SOAP Body > -------------------------------------------------------------------------- > > Key: AXIS2-837 > URL: http://issues.apache.org/jira/browse/AXIS2-837 > Project: Apache Axis 2.0 (Axis2) > Type: Bug > Reporter: Davanum Srinivas > Assignee: Deepal Jayasinghe > > Java code: > public class TestAxis { > public String getDate(){ > return new java.util.Date().toString(); > } > } > Quote from Anne at > http://marc.theaimsgroup.com/?l=axis-user&m=115089935000189&w=2: > Java2WSDL should generate a WSDL interface that accepts an empty SOAP Body. > e.g., > <wsdl:message name="getDateMessage"/> > But based on a bunch of recent messages I've seen, Axis2 barfs on an empty > SOAP Body. This is a bug that needs to be fixed. I don't know if anyone has > created a JIRA for it. -- 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 --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
