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 "Robert Staerk (JIRA)" <ji...@apache.org> on 2006/11/05 12:16:17 UTC
[jira] Updated: (AXIS2-1606) RPCMessageReceiver creates array
response in wrong XML namespace
[ http://issues.apache.org/jira/browse/AXIS2-1606?page=all ]
Robert Staerk updated AXIS2-1606:
---------------------------------
Attachment: SoapResponse.xml
services.xml
Hello.wsdl
> RPCMessageReceiver creates array response in wrong XML namespace
> ----------------------------------------------------------------
>
> Key: AXIS2-1606
> URL: http://issues.apache.org/jira/browse/AXIS2-1606
> Project: Apache Axis 2.0 (Axis2)
> Issue Type: Bug
> Affects Versions: nightly
> Environment: all environments
> Reporter: Robert Staerk
> Attachments: Hello.java, Hello.wsdl, MyObject.java, services.xml, SoapResponse.xml
>
>
> I get a SOAP response with the wrong XML namespace "http://org.apache.axis2/xsd" for a method that returns an array of objects. The namespace "http://org.apache.axis2/xsd", however is neither used in the project nor mentioned in the WSDL. In the example below, the namespace should be "http://service.mydomain.com/xsd". I am using org.apache.axis2.rpc.receivers.RPCMessageReceiver.
> SOAP response:
> <?xml version='1.0' encoding='UTF-8'?>
> <soapenv:Envelope xmlns:soapenv = "http://www.w3.org/2003/05/soap-envelope">
> <soapenv:Header/>
> <soapenv:Body>
> <ns:sayHelloResponse xmlns:ns = "http://org.apache.axis2/xsd">
> <ns:return>
> <ns:text>Hello,</ns:text>
> </ns:return>
> <ns:return>
> <ns:text>World!</ns:text>
> </ns:return>
> </ns:sayHelloResponse>
> </soapenv:Body>
> </soapenv:Envelope>
> Server.xml config:
> <service name="Hello" scope="application">
> <description>
> The Hello web service.
> </description>
>
> <messageReceivers>
> <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
> class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />
> <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
> class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
> </messageReceivers>
>
> <parameter name="ServiceClass" locked="false">
> com.mydomain.service.Hello
> </parameter>
> </service>
> Java classes:
> package com.mydomain.service;
> import java.rmi.RemoteException;
> import com.mydomain.data.MyObject;
> public class Hello {
>
> public MyObject[] sayHello() throws RemoteException {
> return new MyObject[] {
> new MyObject("Hello,"),
> new MyObject("World!")
> };
> }
>
> }
> package com.mydomain.data;
> public class MyObject {
> private String text;
>
> public MyObject() {
> // empty
> }
>
> public MyObject(String text) {
> super();
> this.text = text;
> }
> public String getText() {
> return text;
> }
> public void setText(String text) {
> this.text = text;
> }
>
>
> }
> WSDL generated by org.apache.ws.java2wsdl.Java2WSDL:
> <wsdl:definitions
> xmlns:axis2 = "http://service.mydomain.com"
> xmlns:soap12 = "http://schemas.xmlsoap.org/wsdl/soap12/"
> xmlns:http = "http://schemas.xmlsoap.org/wsdl/http/"
> xmlns:mime = "http://schemas.xmlsoap.org/wsdl/mime/"
> xmlns:ns = "http://service.mydomain.com/xsd"
> xmlns:soap = "http://schemas.xmlsoap.org/wsdl/soap/"
> xmlns:wsdl = "http://schemas.xmlsoap.org/wsdl/"
> targetNamespace = "http://service.mydomain.com">
> <wsdl:types>
> <xs:schema
> xmlns:xs = "http://www.w3.org/2001/XMLSchema"
> xmlns:ax21 = "http://data.mydomain.com/xsd"
> attributeFormDefault = "qualified"
> elementFormDefault = "qualified"
> targetNamespace = "http://data.mydomain.com/xsd">
> <xs:element name = "MyObject" type = "ax21:MyObject"/>
> <xs:complexType name = "MyObject">
> <xs:sequence>
> <xs:element
> name = "text"
> nillable = "true"
> type = "xs:string"/>
> </xs:sequence>
> </xs:complexType>
> </xs:schema>
> <xs:schema
> xmlns:xs = "http://www.w3.org/2001/XMLSchema"
> xmlns:ns0 = "http://data.mydomain.com/xsd"
> attributeFormDefault = "qualified"
> elementFormDefault = "qualified"
> targetNamespace = "http://service.mydomain.com/xsd">
> <xs:element name = "sayHelloFault">
> <xs:complexType>
> <xs:sequence>
> <xs:element name = "sayHelloFault" type = "xs:anyType"/>
> </xs:sequence>
> </xs:complexType>
> </xs:element>
> <xs:element name = "sayHelloResponse">
> <xs:complexType>
> <xs:sequence>
> <xs:element
> maxOccurs = "unbounded"
> name = "return"
> nillable = "true"
> type = "ns0:MyObject"/>
> </xs:sequence>
> </xs:complexType>
> </xs:element>
> </xs:schema>
> </wsdl:types>
> <wsdl:message name = "sayHelloMessage"/>
> <wsdl:message name = "sayHelloResponseMessage">
> <wsdl:part name = "part1" element = "ns:sayHelloResponse"/>
> </wsdl:message>
> <wsdl:message name = "sayHelloFault">
> <wsdl:part name = "part1" element = "ns:sayHelloFault"/>
> </wsdl:message>
> <wsdl:portType name = "HelloPortType">
> <wsdl:operation name = "sayHello">
> <wsdl:input message = "axis2:sayHelloMessage"/>
> <wsdl:output message = "axis2:sayHelloResponseMessage"/>
> <wsdl:fault message = "axis2:sayHelloFault" name = "sayHelloFault"/>
> </wsdl:operation>
> </wsdl:portType>
> <wsdl:binding name = "HelloSOAP11Binding" type = "axis2:HelloPortType">
> <soap:binding transport = "http://schemas.xmlsoap.org/soap/http" style = "document"/>
> <wsdl:operation name = "sayHello">
> <soap:operation soapAction = "urn:sayHello" style = "document"/>
> <wsdl:input>
> <soap:body use = "literal" namespace = "http://service.mydomain.com"/>
> </wsdl:input>
> <wsdl:output>
> <soap:body use = "literal" namespace = "http://service.mydomain.com"/>
> </wsdl:output>
> <wsdl:fault name = "sayHelloFault">
> <soap:body use = "literal" namespace = "http://service.mydomain.com"/>
> </wsdl:fault>
> </wsdl:operation>
> </wsdl:binding>
> <wsdl:binding name = "HelloSOAP12Binding" type = "axis2:HelloPortType">
> <soap12:binding transport = "http://schemas.xmlsoap.org/soap/http" style = "document"/>
> <wsdl:operation name = "sayHello">
> <soap12:operation soapAction = "urn:sayHello" style = "document"/>
> <wsdl:input>
> <soap12:body use = "literal" namespace = "http://service.mydomain.com"/>
> </wsdl:input>
> <wsdl:output>
> <soap12:body use = "literal" namespace = "http://service.mydomain.com"/>
> </wsdl:output>
> <wsdl:fault name = "sayHelloFault">
> <soap12:body use = "literal" namespace = "http://service.mydomain.com"/>
> </wsdl:fault>
> </wsdl:operation>
> </wsdl:binding>
> <wsdl:service name = "Hello">
> <wsdl:port name = "HelloSOAP11port" binding = "axis2:HelloSOAP11Binding">
> <soap:address location = "http://localhost:8080/axis2/services/Hello"/>
> </wsdl:port>
> <wsdl:port name = "HelloSOAP12port" binding = "axis2:HelloSOAP12Binding">
> <soap12:address location = "http://localhost:8080/axis2/services/Hello"/>
> </wsdl:port>
> </wsdl:service>
> </wsdl: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
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org