You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by James Wilson <wi...@ociweb.com> on 2005/08/31 21:12:34 UTC

solicit-response-or-notification-operation

It seems that Axis 1.2.1 does not support the
solicit-response-or-notification-operation form of wsdl:operation.  I've pasted
the relavent section from the schema (http://schemas.xmlsoap.org/wsdl/) below. 
The way I interpret it, an operation can have only an output message.  I have a
schema that defines an operation like this:
<wsdl:operation name="getDatabases">
    <wsdl:documentation>
    </wsdl:documentation>
    <wsdl:output name="getDbResp" message="tns:getDbResp"/>
</wsdl:operation>

The full WSDL (Document/Literal) passes XMLSpy validation.  Yet when I run
wsgen, the method will disappear from the type interface.  I should point out
now, that the reason I came across this is that when Axis is given a
wsdl:message with no part elements, the resulting messages fail WS-I
BasicProfile "envelope" assertions.  I will have to continue with an input
message that has no part.

Is this a known issue?  Is there something I can do to the WSDL to create
compliant request AND response messages when the wsdl:message has no parts?



<xs:complexType name="tOperation">
    <xs:complexContent>
        <xs:extension base="wsdl:tExtensibleDocumented">
            <xs:sequence>
                <xs:choice>
                    <xs:group ref="wsdl:request-response-or-one-way-operation"/>
                    <xs:group
ref="wsdl:solicit-response-or-notification-operation"/>
                </xs:choice>
            </xs:sequence>
            <xs:attribute name="name" type="xs:NCName" use="required"/>
            <xs:attribute name="parameterOrder" type="xs:NMTOKENS"
use="optional"/>
        </xs:extension>
    </xs:complexContent>
    <xs:sequence>
        <xs:sequence minOccurs="0">
            <xs:element name="output" type="wsdl:tParam"/>
            <xs:element name="fault" type="wsdl:tFault" minOccurs="0"
maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:sequence>
    <xs:sequence>
        <xs:sequence minOccurs="0">
            <xs:element name="input" type="wsdl:tParam"/>
            <xs:element name="fault" type="wsdl:tFault" minOccurs="0"
maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:sequence>
</xs:group>