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>