The problem is solved!

I tried using WOWebServiceClient instead of wsdl2java. After having registered all the (de)serializer factories for the custom types, things worked exactly as good/bad as with the wsdl2java generated code.

Then I registered (de)serializers for dateTime and decimal as well - and guess what...

I don't know why I didn't try this before, AND I don't know why I have to do it. There must be something wrong with either the supplied wsdl or Axis (wsdl2java).

The generated binding stub constructor now has these additions:

qName = new javax.xml.namespace.QName("", "dateTime");
cachedSerQNames.add(qName);
cls = GregorianCalendar.class;
cachedSerClasses.add(cls);
cachedSerFactories.add(CalendarSerializerFactory.class);
cachedDeserFactories.add(CalendarDeserializerFactory.class);

qName = new javax.xml.namespace.QName("", "decimal");
cachedSerQNames.add(qName);
cls = BigDecimal.class;
cachedSerClasses.add(cls);
cachedSerFactories.add(SimpleSerializerFactory.class);
cachedDeserFactories.add(SimpleDeserializerFactory.class);

/Anders

On l�rdag, sep 27, 2003, at 21:13 Europe/Stockholm, Hsu wrote:

1) In the axis.log file it says "did not find prefix" right before the stack traces appear. Can you interpret that?

I've never seen this before; poking around online doesn't give much hints...



2) If I were to stop trying to use the wsdl2java generated code and start using WOWebServiceClient instead - will it work? I need to handle OUT/INOUT parameters and custom/complex types. I've done some experimenting with WOWebServiceClient, and it seems it simply leaves these things out. Is there an example somewhere showing how WOWebServiceClient can be used to consume services with OUT parameters and custom types?

I'm _think_ that the WOWebService client supports OUT and INOUT, but I'm not positive - the server doesn't (which is what I worked on) so any support would have been for interop with other servers (.NET, etc). I'll check this out a bit and see if I can get back to you.


There is an example (SchoolToolsClient/Server) that shows custom types, but not OUT parameters.


3) Why did you (Apple) write WOWebServiceClient? Why not just use wsdl2java?

1. It's a bit more dynamic, which some people liked (though due to time constraints it wasn't as dynamic as we'd have liked)
2. For most of the product cycle, wsdl2java was using a license (IBM non-commercial license, I think) that wasn't compatible with shipping Apple software.


--

Don't look back, the lemmings are gaining on you.

Homepage:
     http://homepage.mac.com/khsu/index.html


__________________________
Anders Peterson
Optimatika
Torstenssonsgatan 12, 5tr.
114 56 Stockholm
Sweden
        
Personal: +46 - (0)70 - 843 78 92
Company: + 46 - (0)8 - 720 30 66
Fax: + 46 - (0)8 - 15 31 00



Reply via email to