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 Bayliss Paul <Pa...@comverse.com> on 2003/09/03 21:01:01 UTC
One way messages using document/literal style
Hi All,
I am trying to write a SOAP Service that accepts one-way notifications and
responds with an HTTP 202 Accepted message. The service must use a
document/literal style, be Application scope and wrapped as a preference.
The wsdl for my example service is included below.
The arguments to WSDL2Java are as follows...
java WSDL2Java -W -o . -d Application -s -S false notify.wsdl
When the generated source code is compiled and deployed the resulting WSDL
displayed from a browser is different to that supplied to WSDL2Java and now
includes a response to the operation.
<wsdl:operation name="notify" parameterOrder="Notification">
<wsdl:input message="impl:notifyRequest" name="notifyRequest"/>
<wsdl:output message="impl:notifyResponse" name="notifyResponse"/>
</wsdl:operation>
Does anyone know if one-way document/literal messaging is possible using
Axis, and if so, how it is achieved. If I recall correctly, the WSDL spec.
states that one-way messaging is specified by including only an input
element inside the wsdl:operation element.
Many thanks in advance for any assistance on this,
Paul
notify.wsdl
-----------
<?xml version="1.0" encoding="utf-8" ?>
<definitions
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:s="http://www.w3.org/2001/XMLSchema"
xmlns:s0="urn:Notification"
targetNamespace="urn:Notification"
xmlns="http://schemas.xmlsoap.org/wsdl/">
<types>
<s:schema elementFormDefault="qualified"
targetNamespace="urn:Notification">
<s:element name="Notification">
<s:complexType name="NotificationData">
<s:sequence>
<s:element name="data" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
</s:schema>
</types>
<message name="NotificationIn">
<part name="parameters" element="s0:Notification"/>
</message>
<portType name="NotificationPort">
<operation name="Notify">
<input message="s0:NotificationIn"/>
</operation>
</portType>
<binding name="NotificationBinding" type="s0:NotificationPort">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http"
style="document"/>
<operation name="Notify">
<soap:operation soapAction="" style="document"/>
<input>
<soap:body use="literal"/>
</input>
</operation>
</binding>
<service name="NotificationService">
<documentation>A web service for receiving notifications</documentation>
<port name="NotificationPort" binding="s0:NotificationBinding">
<soap:address
location="http://localhost:8080/axis/services/NotificationPort" />
</port>
</service>
</definitions>