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.