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 "Kevin L Stewart (JIRA)" <ji...@apache.org> on 2009/09/08 22:51:57 UTC

[jira] Created: (AXIS2-4492) Parameter shift in REST

Parameter shift in REST
-----------------------

                 Key: AXIS2-4492
                 URL: https://issues.apache.org/jira/browse/AXIS2-4492
             Project: Axis 2.0 (Axis2)
          Issue Type: Bug
    Affects Versions: 1.5
         Environment: Java 6, Apache 5.5.27
            Reporter: Kevin L Stewart


I have a problem with the ordering of parameters in REST methods.  I am using a POJO to create my service.  I added the following test method:

    public String  testMultiEcho( String  str1, String  str2, String  str3 )
    {
        StringBuffer  buff = new StringBuffer( "{" );
        
        buff.append( str1 ).append( "," ).append( str2 ).append( "," ).append( str3 ).append( "}" );
        
        return buff.toString();
    }

For the URL:

http://<server>/<path to service>/testMultiEcho?str1=Bob&str2=Bill&str3=Tom

I get:

<ns:testMultiEchoResponse>
   <ns:return>{Bob,Bill,Tom}</ns:return>
</ns:testMultiEchoResponse>

This is correct.  And for the URL:

http://<server>/<path to service>/testMultiEcho?str1=Bob&str2=Bill

I get:

<ns:testMultiEchoResponse>
   <ns:return>{Bob,Bill,null}</ns:return>
</ns:testMultiEchoResponse>

This is also correct.  But for URL:

http://<server>/<path to service>/testMultiEcho?str2=Bill&str3=Tom

I get:

<ns:testMultiEchoResponse>
   <ns:return>{Bill,Tom,null}</ns:return>
</ns:testMultiEchoResponse>

This is NOT correct.  It should be:

<ns:testMultiEchoResponse>
<ns:return>{null,Bill,Tom}</ns:return>
</ns:testMultiEchoResponse>

It seems the parameters are processed in order, not by name.  Is there any correction/work around for this?

KevinS


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (AXIS2-4492) Parameter shift in REST

Posted by "Keith Godwin Chapman (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AXIS2-4492?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12752860#action_12752860 ] 

Keith Godwin Chapman commented on AXIS2-4492:
---------------------------------------------

Are you sure you are using Axis2 1.5? 

This bug is related to POJOs handling optional parameters. IIRC this bug was fixed in Axis2 1.5 and hence should have solved this issue. Can you confirm your axis2 version please.

> Parameter shift in REST
> -----------------------
>
>                 Key: AXIS2-4492
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4492
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>    Affects Versions: 1.5
>         Environment: Java 6, Apache 5.5.27
>            Reporter: Kevin L Stewart
>
> I have a problem with the ordering of parameters in REST methods.  I am using a POJO to create my service.  I added the following test method:
>     public String  testMultiEcho( String  str1, String  str2, String  str3 )
>     {
>         StringBuffer  buff = new StringBuffer( "{" );
>         
>         buff.append( str1 ).append( "," ).append( str2 ).append( "," ).append( str3 ).append( "}" );
>         
>         return buff.toString();
>     }
> For the URL:
> http://<server>/<path to service>/testMultiEcho?str1=Bob&str2=Bill&str3=Tom
> I get:
> <ns:testMultiEchoResponse>
>    <ns:return>{Bob,Bill,Tom}</ns:return>
> </ns:testMultiEchoResponse>
> This is correct.  And for the URL:
> http://<server>/<path to service>/testMultiEcho?str1=Bob&str2=Bill
> I get:
> <ns:testMultiEchoResponse>
>    <ns:return>{Bob,Bill,null}</ns:return>
> </ns:testMultiEchoResponse>
> This is also correct.  But for URL:
> http://<server>/<path to service>/testMultiEcho?str2=Bill&str3=Tom
> I get:
> <ns:testMultiEchoResponse>
>    <ns:return>{Bill,Tom,null}</ns:return>
> </ns:testMultiEchoResponse>
> This is NOT correct.  It should be:
> <ns:testMultiEchoResponse>
> <ns:return>{null,Bill,Tom}</ns:return>
> </ns:testMultiEchoResponse>
> It seems the parameters are processed in order, not by name.  Is there any correction/work around for this?
> KevinS

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (AXIS2-4492) Parameter shift in REST

Posted by "Kevin L Stewart (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AXIS2-4492?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12752879#action_12752879 ] 

Kevin L Stewart commented on AXIS2-4492:
----------------------------------------

I just re-verified that I still see the problem.  Here is the whole of my Axis Happiness page:

Axis2 Happiness Page
Examining webapp configuration

    Essential Components
    Found Apache-Axis (org.apache.axis2.transport.http.AxisServlet)
      at /home/tomcat/apache-tomcat-5.5.27/webapps/axis2/WEB-INF/lib/axis2-transport-http-1.5.jar
    Found Jakarta-Commons Logging (org.apache.commons.logging.Log)
      at /home/tomcat/apache-tomcat-5.5.27/bin/commons-logging-api-1.1.1.jar
    Found Streaming API for XML (javax.xml.stream.XMLStreamReader)
      at an unknown location
    Found Streaming API for XML implementation (org.codehaus.stax2.XMLStreamWriter2)
      at /home/tomcat/apache-tomcat-5.5.27/webapps/axis2/WEB-INF/lib/wstx-asl-3.2.4.jar

    The core axis2 libraries are present.

    Note: Even if everything this page probes for is present, there is no guarantee your Axis Service will work, because there are many configuration options that we do not check for. These tests are necessary but not sufficient

Examining Version Service

    Found Axis2 default Version service and Axis2 is working properly.

    Now you can drop a service archive in axis2/WEB-INF/services. Following output was produced while invoking Axis2 version service

    Hi - the Axis2 version is 1.5

Examining Application Server

    Servlet version	2.4
    Platform 	Apache Tomcat/5.5.27

Examining System Properties

java.runtime.name	Java(TM) SE Runtime Environment 
sun.boot.library.path	/usr/local/lib/jdk1.6.0_15/jre/lib/i386 
java.vm.version	14.1-b02 
shared.loader	${catalina.base}/shared/classes,${catalina.base}/shared/lib/*.jar 
java.vm.vendor	Sun Microsystems Inc. 
java.vendor.url	http: //java.sun.com/ 
path.separator	:  
java.vm.name	Java HotSpot(TM) Server VM 
tomcat.util.buf.StringCache.byte.enabled	true 
file.encoding.pkg	sun.io 
java.util.logging.config.file	/home/tomcat/apache-tomcat-5.5.27/conf/logging.properties 
user.country	US 
sun.java.launcher	SUN_STANDARD 
sun.os.patch.level	unknown 
java.vm.specification.name	Java Virtual Machine Specification 
user.dir	/home/tomcat/apache-tomcat-5.5.27/webapps 
java.runtime.version	1.6.0_15-b03 
java.awt.graphicsenv	sun.awt.X11GraphicsEnvironment 
java.endorsed.dirs	/home/tomcat/apache-tomcat-5.5.27/common/endorsed 
os.arch	i386 
java.io.tmpdir	/home/tomcat/apache-tomcat-5.5.27/temp 
line.separator	 
java.vm.specification.vendor	Sun Microsystems Inc. 
java.util.logging.manager	org.apache.juli.ClassLoaderLogManager 
java.naming.factory.url.pkgs	org.apache.naming 
os.name	Linux 
sun.jnu.encoding	UTF-8 
java.library.path	/usr/local/lib/jdk1.6.0_15/jre/lib/i386/server: /usr/local/lib/jdk1.6.0_15/jre/lib/i386: /usr/local/lib/jdk1.6.0_15/jre/../lib/i386: /usr/java/packages/lib/i386: /lib: /usr/lib 
java.specification.name	Java Platform API Specification 
java.class.version	50.0 
sun.management.compiler	HotSpot Tiered Compilers 
os.version	2.6.17-14mdventerprise 
user.home	/home/tomcat 
user.timezone	America/New_York 
catalina.useNaming	true 
java.awt.printerjob	sun.print.PSPrinterJob 
java.specification.version	1.6 
file.encoding	UTF-8 
catalina.home	/home/tomcat/apache-tomcat-5.5.27 
user.name	tomcat 
java.class.path	: /home/tomcat/apache-tomcat-5.5.27/bin/bootstrap.jar: /home/tomcat/apache-tomcat-5.5.27/bin/commons-logging-api.jar 
java.naming.factory.initial	org.apache.naming.java.javaURLContextFactory 
package.definition	sun.,java.,org.apache.catalina.,org.apache.coyote.,org.apache.tomcat.,org.apache.jasper. 
java.vm.specification.version	1.0 
sun.arch.data.model	32 
java.home	/usr/local/lib/jdk1.6.0_15/jre 
java.specification.vendor	Sun Microsystems Inc. 
user.language	en 
java.vm.info	mixed mode 
java.version	1.6.0_15 
java.ext.dirs	/usr/local/lib/jdk1.6.0_15/jre/lib/ext: /usr/java/packages/lib/ext 
sun.boot.class.path	/usr/local/lib/jdk1.6.0_15/jre/lib/resources.jar: /usr/local/lib/jdk1.6.0_15/jre/lib/rt.jar: /usr/local/lib/jdk1.6.0_15/jre/lib/sunrsasign.jar: /usr/local/lib/jdk1.6.0_15/jre/lib/jsse.jar: /usr/local/lib/jdk1.6.0_15/jre/lib/jce.jar: /usr/local/lib/jdk1.6.0_15/jre/lib/charsets.jar: /usr/local/lib/jdk1.6.0_15/jre/classes 
java.vendor	Sun Microsystems Inc. 
server.loader	${catalina.home}/server/classes,${catalina.home}/server/lib/*.jar 
catalina.base	/home/tomcat/apache-tomcat-5.5.27 
file.separator	/ 
java.vendor.url.bug	http: //java.sun.com/cgi-bin/bugreport.cgi 
common.loader	${catalina.home}/common/classes,${catalina.home}/common/i18n/*.jar,${catalina.home}/common/endorsed/*.jar,${catalina.home}/common/lib/*.jar 
sun.cpu.endian	little 
sun.io.unicode.encoding	UnicodeLittle 
package.access	sun.,org.apache.catalina.,org.apache.coyote.,org.apache.tomcat.,org.apache.jasper.,sun.beans. 
sun.cpu.isalist	 


> Parameter shift in REST
> -----------------------
>
>                 Key: AXIS2-4492
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4492
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>    Affects Versions: 1.5
>         Environment: Java 6, Apache 5.5.27
>            Reporter: Kevin L Stewart
>            Assignee: Keith Godwin Chapman
>
> I have a problem with the ordering of parameters in REST methods.  I am using a POJO to create my service.  I added the following test method:
>     public String  testMultiEcho( String  str1, String  str2, String  str3 )
>     {
>         StringBuffer  buff = new StringBuffer( "{" );
>         
>         buff.append( str1 ).append( "," ).append( str2 ).append( "," ).append( str3 ).append( "}" );
>         
>         return buff.toString();
>     }
> For the URL:
> http://<server>/<path to service>/testMultiEcho?str1=Bob&str2=Bill&str3=Tom
> I get:
> <ns:testMultiEchoResponse>
>    <ns:return>{Bob,Bill,Tom}</ns:return>
> </ns:testMultiEchoResponse>
> This is correct.  And for the URL:
> http://<server>/<path to service>/testMultiEcho?str1=Bob&str2=Bill
> I get:
> <ns:testMultiEchoResponse>
>    <ns:return>{Bob,Bill,null}</ns:return>
> </ns:testMultiEchoResponse>
> This is also correct.  But for URL:
> http://<server>/<path to service>/testMultiEcho?str2=Bill&str3=Tom
> I get:
> <ns:testMultiEchoResponse>
>    <ns:return>{Bill,Tom,null}</ns:return>
> </ns:testMultiEchoResponse>
> This is NOT correct.  It should be:
> <ns:testMultiEchoResponse>
> <ns:return>{null,Bill,Tom}</ns:return>
> </ns:testMultiEchoResponse>
> It seems the parameters are processed in order, not by name.  Is there any correction/work around for this?
> KevinS

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (AXIS2-4492) Parameter shift in REST

Posted by "Larry Gilliam (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AXIS2-4492?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12796243#action_12796243 ] 

Larry Gilliam commented on AXIS2-4492:
--------------------------------------

Hello, I'm working with Kevin Stewart's code and environment, and can verify that this is indeed fixed in the latest trunk.

> Parameter shift in REST
> -----------------------
>
>                 Key: AXIS2-4492
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4492
>             Project: Axis2
>          Issue Type: Bug
>    Affects Versions: 1.5
>         Environment: Java 6, Apache 5.5.27
>            Reporter: Kevin L Stewart
>            Assignee: Keith Godwin Chapman
>
> I have a problem with the ordering of parameters in REST methods.  I am using a POJO to create my service.  I added the following test method:
>     public String  testMultiEcho( String  str1, String  str2, String  str3 )
>     {
>         StringBuffer  buff = new StringBuffer( "{" );
>         
>         buff.append( str1 ).append( "," ).append( str2 ).append( "," ).append( str3 ).append( "}" );
>         
>         return buff.toString();
>     }
> For the URL:
> http://<server>/<path to service>/testMultiEcho?str1=Bob&str2=Bill&str3=Tom
> I get:
> <ns:testMultiEchoResponse>
>    <ns:return>{Bob,Bill,Tom}</ns:return>
> </ns:testMultiEchoResponse>
> This is correct.  And for the URL:
> http://<server>/<path to service>/testMultiEcho?str1=Bob&str2=Bill
> I get:
> <ns:testMultiEchoResponse>
>    <ns:return>{Bob,Bill,null}</ns:return>
> </ns:testMultiEchoResponse>
> This is also correct.  But for URL:
> http://<server>/<path to service>/testMultiEcho?str2=Bill&str3=Tom
> I get:
> <ns:testMultiEchoResponse>
>    <ns:return>{Bill,Tom,null}</ns:return>
> </ns:testMultiEchoResponse>
> This is NOT correct.  It should be:
> <ns:testMultiEchoResponse>
> <ns:return>{null,Bill,Tom}</ns:return>
> </ns:testMultiEchoResponse>
> It seems the parameters are processed in order, not by name.  Is there any correction/work around for this?
> KevinS

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (AXIS2-4492) Parameter shift in REST

Posted by "Amila Chinthaka Suriarachchi (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AXIS2-4492?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12754009#action_12754009 ] 

Amila Chinthaka Suriarachchi commented on AXIS2-4492:
-----------------------------------------------------

can you try with a build from the trunk?
I think this is fixed in the current axis2 trunk.


> Parameter shift in REST
> -----------------------
>
>                 Key: AXIS2-4492
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4492
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>    Affects Versions: 1.5
>         Environment: Java 6, Apache 5.5.27
>            Reporter: Kevin L Stewart
>            Assignee: Keith Godwin Chapman
>
> I have a problem with the ordering of parameters in REST methods.  I am using a POJO to create my service.  I added the following test method:
>     public String  testMultiEcho( String  str1, String  str2, String  str3 )
>     {
>         StringBuffer  buff = new StringBuffer( "{" );
>         
>         buff.append( str1 ).append( "," ).append( str2 ).append( "," ).append( str3 ).append( "}" );
>         
>         return buff.toString();
>     }
> For the URL:
> http://<server>/<path to service>/testMultiEcho?str1=Bob&str2=Bill&str3=Tom
> I get:
> <ns:testMultiEchoResponse>
>    <ns:return>{Bob,Bill,Tom}</ns:return>
> </ns:testMultiEchoResponse>
> This is correct.  And for the URL:
> http://<server>/<path to service>/testMultiEcho?str1=Bob&str2=Bill
> I get:
> <ns:testMultiEchoResponse>
>    <ns:return>{Bob,Bill,null}</ns:return>
> </ns:testMultiEchoResponse>
> This is also correct.  But for URL:
> http://<server>/<path to service>/testMultiEcho?str2=Bill&str3=Tom
> I get:
> <ns:testMultiEchoResponse>
>    <ns:return>{Bill,Tom,null}</ns:return>
> </ns:testMultiEchoResponse>
> This is NOT correct.  It should be:
> <ns:testMultiEchoResponse>
> <ns:return>{null,Bill,Tom}</ns:return>
> </ns:testMultiEchoResponse>
> It seems the parameters are processed in order, not by name.  Is there any correction/work around for this?
> KevinS

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Assigned: (AXIS2-4492) Parameter shift in REST

Posted by "Keith Godwin Chapman (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2-4492?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Keith Godwin Chapman reassigned AXIS2-4492:
-------------------------------------------

    Assignee: Keith Godwin Chapman

> Parameter shift in REST
> -----------------------
>
>                 Key: AXIS2-4492
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4492
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>    Affects Versions: 1.5
>         Environment: Java 6, Apache 5.5.27
>            Reporter: Kevin L Stewart
>            Assignee: Keith Godwin Chapman
>
> I have a problem with the ordering of parameters in REST methods.  I am using a POJO to create my service.  I added the following test method:
>     public String  testMultiEcho( String  str1, String  str2, String  str3 )
>     {
>         StringBuffer  buff = new StringBuffer( "{" );
>         
>         buff.append( str1 ).append( "," ).append( str2 ).append( "," ).append( str3 ).append( "}" );
>         
>         return buff.toString();
>     }
> For the URL:
> http://<server>/<path to service>/testMultiEcho?str1=Bob&str2=Bill&str3=Tom
> I get:
> <ns:testMultiEchoResponse>
>    <ns:return>{Bob,Bill,Tom}</ns:return>
> </ns:testMultiEchoResponse>
> This is correct.  And for the URL:
> http://<server>/<path to service>/testMultiEcho?str1=Bob&str2=Bill
> I get:
> <ns:testMultiEchoResponse>
>    <ns:return>{Bob,Bill,null}</ns:return>
> </ns:testMultiEchoResponse>
> This is also correct.  But for URL:
> http://<server>/<path to service>/testMultiEcho?str2=Bill&str3=Tom
> I get:
> <ns:testMultiEchoResponse>
>    <ns:return>{Bill,Tom,null}</ns:return>
> </ns:testMultiEchoResponse>
> This is NOT correct.  It should be:
> <ns:testMultiEchoResponse>
> <ns:return>{null,Bill,Tom}</ns:return>
> </ns:testMultiEchoResponse>
> It seems the parameters are processed in order, not by name.  Is there any correction/work around for this?
> KevinS

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.