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 "Davanum Srinivas (JIRA)" <ax...@ws.apache.org> on 2005/01/25 17:29:21 UTC

[jira] Resolved: (AXIS-1759) Invalid SOAP Request Geing Generated

     [ http://issues.apache.org/jira/browse/AXIS-1759?page=history ]
     
Davanum Srinivas resolved AXIS-1759:
------------------------------------

    Resolution: Fixed

Richard,

Please use the "-W" flag in wsdl2java

        -W, --noWrapped
                turn off support for "wrapped" document/literal

Thanks,
dims

> Invalid SOAP Request Geing Generated
> ------------------------------------
>
>          Key: AXIS-1759
>          URL: http://issues.apache.org/jira/browse/AXIS-1759
>      Project: Axis
>         Type: Bug
>   Components: WSDL processing
>     Versions: 1.2RC2
>  Environment: Gentoo Linux
>     Reporter: Richard Whittaker
>  Attachments: MessageTest.java, Messaging.wsdl
>
> The following incorrect SOAP request is being generated using AXIS 1.2 RC2:
> <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>
>     <outgoingMessage from='richard@pie.corp.jabber.com'>     
>       <subject>Test</subject>     
>       <body>This is a test message!</body>     
>       <to>bob@pie.corp.jabber.com</to>
>     </outgoingMessage>
>   </soapenv:Body> 
> </soapenv:Envelope>
> This is the SOAP Request that should be generated - note the SendMessage element immediately beneath body - that is the SOAP method I am attempting to call.
> <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>
>     <SendMessage xmlns='http://jabber.com/webservices/Messaging'>    
>       <outgoingMessage from='richard@pie.corp.jabber.com'>     
>         <subject>Test</subject>     
>         <body>This is a test message!</body>     
>         <to>bob@pie.corp.jabber.com</to>
>       </outgoingMessage>
>     </SendMessage>
>   </soapenv:Body> 
> </soapenv:Envelope>
> I am generating the Java code from the following WSDL.  This works correctly on AXIS 1.1 (final), and on various other SOAP platforms (.NET), but not on 1.2 RC2.  Here is the WSDL:
> <!--
>  ==========================================================================
>  === Filename:      Messaging.wsdl
>  === Description:   
>  === Created at:    Mon Oct 04 17:21:00 2004
>  === Modified at:   
>  ===  
>  === License
>  ===  
>  === The contents of this file are subject to the Jabber Commercial Software
>  === License (the "License").  You may not copy or use this file, in either 
>  === source code or executable form, except in compliance with the License.  
>  === You may obtain a copy of the License by contacting Jabber.com, Inc. at 
>  === http://www.jabber.com/.
>  ===  
>  === Copyrights
>  ===  
>  === Portions created by or assigned to Jabber.com, Inc. are 
>  === Copyright (c) 2001, 2004 Jabber.com, Inc.  All Rights Reserved.  
>  ===  
>  === 
>  === $Id:$
>  ========================================================================== 
> -->
> -
> 	<definitions targetNamespace="http://jabber.com/webservices/Messaging">
> -
> 	<types>
> -
> 	<xs:schema elementFormDefault="qualified" targetNamespace="http://jabber.com/webservices/Messaging">
> -
> 	<xs:element name="outgoingMessage">
> -
> 	<xs:complexType>
> -
> 	<xs:sequence>
> <xs:element name="subject" type="xs:string" minOccurs="0"/>
> <xs:element name="body" type="xs:string"/>
> <xs:element name="to" type="xs:string" minOccurs="1" maxOccurs="unbounded"/>
> </xs:sequence>
> <xs:attribute name="from" type="xs:string" use="required"/>
> </xs:complexType>
> </xs:element>
> -
> 	<xs:element name="SendMessage">
> -
> 	<xs:complexType>
> -
> 	<xs:sequence>
> <xs:element ref="outgoingMessage"/>
> </xs:sequence>
> </xs:complexType>
> </xs:element>
> <xs:element name="SendMessageResponse"/>
> -
> 	<xs:element name="broadcast">
> -
> 	<xs:complexType>
> -
> 	<xs:sequence>
> <xs:element name="subject" type="xs:string" minOccurs="0"/>
> <xs:element name="body" type="xs:string"/>
> </xs:sequence>
> <xs:attribute name="from" type="xs:string" use="required"/>
> </xs:complexType>
> </xs:element>
> -
> 	<xs:element name="BroadcastMessage">
> -
> 	<xs:complexType>
> -
> 	<xs:sequence>
> <xs:element ref="broadcast"/>
> </xs:sequence>
> </xs:complexType>
> </xs:element>
> <xs:element name="BroadcastMessageResponse"/>
> -
> 	<xs:element name="item">
> -
> 	<xs:complexType>
> <xs:attribute name="jid" type="xs:string" use="optional"/>
> <xs:attribute name="node" type="xs:string" use="required"/>
> <xs:attribute name="name" type="xs:string" use="required"/>
> </xs:complexType>
> </xs:element>
> -
> 	<xs:element name="headers">
> -
> 	<xs:complexType>
> -
> 	<xs:sequence>
> <xs:element ref="item" minOccurs="0" maxOccurs="unbounded"/>
> </xs:sequence>
> </xs:complexType>
> </xs:element>
> -
> 	<xs:element name="GetOfflineHeaders">
> -
> 	<xs:complexType>
> -
> 	<xs:sequence>
> <xs:element name="user" type="xs:string"/>
> </xs:sequence>
> </xs:complexType>
> </xs:element>
> -
> 	<xs:element name="GetOfflineHeadersResponse">
> -
> 	<xs:complexType>
> -
> 	<xs:sequence>
> <xs:element ref="headers"/>
> </xs:sequence>
> </xs:complexType>
> </xs:element>
> -
> 	<xs:element name="message">
> -
> 	<xs:complexType>
> -
> 	<xs:sequence>
> <xs:element ref="subject" minOccurs="0" maxOccurs="unbounded"/>
> <xs:element ref="body" minOccurs="0" maxOccurs="unbounded"/>
> <xs:element ref="thread" minOccurs="0"/>
> <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
> </xs:sequence>
> <xs:attribute name="from" type="xs:string" use="optional"/>
> <xs:attribute name="id" type="xs:NMTOKEN" use="optional"/>
> <xs:attribute name="to" type="xs:string" use="optional"/>
> -
> 	<xs:attribute name="type" use="optional" default="normal">
> -
> 	<xs:simpleType>
> -
> 	<xs:restriction base="xs:NCName">
> <xs:enumeration value="chat"/>
> <xs:enumeration value="error"/>
> <xs:enumeration value="groupchat"/>
> <xs:enumeration value="headline"/>
> <xs:enumeration value="normal"/>
> </xs:restriction>
> </xs:simpleType>
> </xs:attribute>
> <xs:attribute name="xmllang" use="optional"/>
> </xs:complexType>
> </xs:element>
> -
> 	<xs:element name="body">
> -
> 	<xs:complexType>
> -
> 	<xs:simpleContent>
> -
> 	<xs:extension base="xs:string">
> <xs:attribute name="xmllang" use="optional"/>
> </xs:extension>
> </xs:simpleContent>
> </xs:complexType>
> </xs:element>
> -
> 	<xs:element name="subject">
> -
> 	<xs:complexType>
> -
> 	<xs:simpleContent>
> -
> 	<xs:extension base="xs:string">
> <xs:attribute name="xmllang" use="optional"/>
> </xs:extension>
> </xs:simpleContent>
> </xs:complexType>
> </xs:element>
> <xs:element name="thread" type="xs:NMTOKEN"/>
> -
> 	<xs:element name="items">
> -
> 	<xs:complexType>
> -
> 	<xs:sequence>
> -
> 	<xs:element name="item" minOccurs="0" maxOccurs="unbounded">
> -
> 	<xs:complexType>
> <xs:attribute name="node" type="xs:string" use="required"/>
> </xs:complexType>
> </xs:element>
> </xs:sequence>
> </xs:complexType>
> </xs:element>
> -
> 	<xs:element name="messages">
> -
> 	<xs:complexType>
> -
> 	<xs:sequence>
> <xs:element ref="message" minOccurs="0" maxOccurs="unbounded"/>
> </xs:sequence>
> </xs:complexType>
> </xs:element>
> -
> 	<xs:element name="GetOffline">
> -
> 	<xs:complexType>
> -
> 	<xs:sequence>
> <xs:element name="user" type="xs:string"/>
> <xs:element ref="items"/>
> </xs:sequence>
> </xs:complexType>
> </xs:element>
> -
> 	<xs:element name="GetOfflineResponse">
> -
> 	<xs:complexType>
> -
> 	<xs:sequence>
> <xs:element ref="messages"/>
> </xs:sequence>
> </xs:complexType>
> </xs:element>
> -
> 	<xs:element name="RemoveOffline">
> -
> 	<xs:complexType>
> -
> 	<xs:sequence>
> <xs:element name="user" type="xs:string"/>
> <xs:element ref="items"/>
> </xs:sequence>
> </xs:complexType>
> </xs:element>
> <xs:element name="RemoveOfflineResponse"/>
> </xs:schema>
> </types>
> -
> 	<message name="SendMessageSoapIn">
> <part name="parameters" element="ws:SendMessage"/>
> </message>
> -
> 	<message name="SendMessageSoapOut">
> <part name="parameters" element="ws:SendMessageResponse"/>
> </message>
> -
> 	<message name="GetOfflineHeadersSoapIn">
> <part name="parameters" element="ws:GetOfflineHeaders"/>
> </message>
> -
> 	<message name="GetOfflineHeadersSoapOut">
> <part name="parameters" element="ws:GetOfflineHeadersResponse"/>
> </message>
> -
> 	<message name="GetOfflineSoapIn">
> <part name="parameters" element="ws:GetOffline"/>
> </message>
> -
> 	<message name="GetOfflineSoapOut">
> <part name="parameters" element="ws:GetOfflineResponse"/>
> </message>
> -
> 	<message name="RemoveOfflineSoapIn">
> <part name="parameters" element="ws:RemoveOffline"/>
> </message>
> -
> 	<message name="RemoveOfflineSoapOut">
> <part name="parameters" element="ws:RemoveOfflineResponse"/>
> </message>
> -
> 	<message name="BroadcastMessageSoapIn">
> <part name="parameters" element="ws:BroadcastMessage"/>
> </message>
> -
> 	<message name="BroadcastMessageSoapOut">
> <part name="parameters" element="ws:BroadcastMessageResponse"/>
> </message>
> -
> 	<portType name="MessagingSoap">
> -
> 	<operation name="SendMessage">
> <input message="ws:SendMessageSoapIn"/>
> <output message="ws:SendMessageSoapOut"/>
> </operation>
> -
> 	<operation name="GetOfflineHeaders">
> <input message="ws:GetOfflineHeadersSoapIn"/>
> <output message="ws:GetOfflineHeadersSoapOut"/>
> </operation>
> -
> 	<operation name="GetOffline">
> <input message="ws:GetOfflineSoapIn"/>
> <output message="ws:GetOfflineSoapOut"/>
> </operation>
> -
> 	<operation name="RemoveOffline">
> <input message="ws:RemoveOfflineSoapIn"/>
> <output message="ws:RemoveOfflineSoapOut"/>
> </operation>
> -
> 	<operation name="BroadcastMessage">
> <input message="ws:BroadcastMessageSoapIn"/>
> <output message="ws:BroadcastMessageSoapOut"/>
> </operation>
> </portType>
> -
> 	<binding name="MessagingSoap" type="ws:MessagingSoap">
> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
> -
> 	<operation name="SendMessage">
> <soap:operation soapAction="http://jabber.com/webservices/Messaging/SendMessage" style="document"/>
> -
> 	<input>
> <soap:body use="literal"/>
> </input>
> -
> 	<output>
> <soap:body use="literal"/>
> </output>
> </operation>
> -
> 	<operation name="GetOfflineHeaders">
> <soap:operation soapAction="http://jabber.com/webservices/Messaging/GetOfflineHeaders" style="document"/>
> -
> 	<input>
> <soap:body use="literal"/>
> </input>
> -
> 	<output>
> <soap:body use="literal"/>
> </output>
> </operation>
> -
> 	<operation name="GetOffline">
> <soap:operation soapAction="http://jabber.com/webservices/Messaging/GetOffline" style="document"/>
> -
> 	<input>
> <soap:body use="literal"/>
> </input>
> -
> 	<output>
> <soap:body use="literal"/>
> </output>
> </operation>
> -
> 	<operation name="RemoveOffline">
> <soap:operation soapAction="http://jabber.com/webservices/Messaging/RemoveOffline" style="document"/>
> -
> 	<input>
> <soap:body use="literal"/>
> </input>
> -
> 	<output>
> <soap:body use="literal"/>
> </output>
> </operation>
> -
> 	<operation name="BroadcastMessage">
> <soap:operation soapAction="http://jabber.com/webservices/Messaging/BroadcastMessage" style="document"/>
> -
> 	<input>
> <soap:body use="literal"/>
> </input>
> -
> 	<output>
> <soap:body use="literal"/>
> </output>
> </operation>
> </binding>
> -
> 	<service name="Messaging">
> -
> 	<documentation>
> Send a message to jabber users, Manage offline messages 
> </documentation>
> -
> 	<port name="MessagingSoap" binding="ws:MessagingSoap">
> <soap:address location="http://localhost:7200/soap"/>
> </port>
> </service>
> </definitions>

-- 
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
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira