Skip to main content
Participant
April 22, 2007
Question

Enumeration problem consuming clickandbuy web service

  • April 22, 2007
  • 3 replies
  • 767 views
I have built a cf app that will consume Click & Buy´s SOAP interface RMI (Registration Manager Interface) to register new Users. Click & buy states that the SOAP interface is 1.2 compliant, but my test with different generic soap client indicates that it is not true.

Any way I have managed to do all the structs and arrays, but get stuck on a enumerated value. I got this error:

Could not perform web service invocation "registerUser".
Here is the fault returned when invoking the web service operation:

java.lang.IllegalArgumentException: argument type mismatch


I have read all the documentation for the RMI, so I know the right values. But I do not know how to set a value to type enumerated. I have installed all the lates hotfixes (CFMX 7.02, win 20003), tested to consume other web services like babelfish and a weather service with no problem. I have also googled and read all threads on the subject, and that there was a fix for this problem in the work back in 2005. I think that by now there should be a fix for the enum problem so that you don´t have to use bad temporay solutions, but I have found nothing!

I have also run the web service with wsdl2java and examined the classes with Eclipse. I´m no Java programer but I think I have manged to pin point the origin of the error message in the RegistrationManagerRegistrationGender class.

It feels as I am stuck on the finish line.

References:
http://mail-archives.apache.org/mod_mbox/ws-axis-dev/200604.mbox/%3C4736124.1145204669658.JavaMail.jira@brutus%3E

http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:30232

http://www.adobe.com/cfusion/webforums/forum/messageview.cfm?forumid=1&catid=7&threadid=1251325&highlight_key=y&keyw

ord1=enum

http://www.sys-con.tv/read/86131.htm

http://www.adobe.com/cfusion/knowledgebase/index.cfm?id=kb400996

http://www.xmethods.net/ve2/Tools.po

http://www.mindreef.net/tide/scopeit/start.do

http://wsdl.eu.clickandbuy.com/RMI/2.0/RegistrationManagerbinding.wsdl

http://soapclient.com/interop/interopTest.html

http://soapclient.com/soapclient.com/soaptest.html

This topic has been closed for replies.

3 replies

Inspiring
April 25, 2007
Have you tried running the PHP script to see if that works?
goransvAuthor
Participant
April 30, 2007
I have managed to get the php script work. But first I got one error message that I needed openSSL or CURL. After I installed openssl and curl I got it working.
Inspiring
April 24, 2007
Have you tried this:

<cfscript>
ps = CreateObject("java", "java.util.Properties");
ps.setProperty("0", "M");
ps.setProperty("1", "F");
myProperty = ps.getProperty(0);

registerUser.regRequest[1].rUser[1].sex[1].Gender = myProperty;
</cfscript>
goransvAuthor
Participant
April 25, 2007
Yep! No success, same error message.
Inspiring
April 23, 2007
What element is a enumerated type?
goransvAuthor
Participant
April 24, 2007
In the documentation gender is defined as a enumerated type (registerUser.regRequest[1].rUser[1].sex[1].Gender = "M";).

Now I also have a php example, and it seams quit easy to implement, I hope. But in the other hand it is using nuSOAP lib that maybe takes care of the tricky stuff..

If I dont manage to get it working soon, I go for the php solution, and have the data source as the bridge between cf and php.