Is this a v1.2 RC thing, or are you using AXIS v1.1?
There is a line of thinking that says, if you want interop,
then start by designing the interface in a platform-independent manner. In
other words, WSDL and W3C XML Schema. This applies whether you are
using AXIS, .NET, or something else. Some people call this "contract
first" or "schema-first design".
Schema-first design is a hassle you don't need if you are
doing like-to-like communications. So don't do it.
AXIS-to-AXIS is easy. .NET-to-.NET is easy. Just define
your Interface in actual code (write your Java interface), specify some
magic in the WSDD, and boom, you can connect.
It's when you want to mix and match clients and servers
that this approach falls down. Simple cases are ok, but nested arrays
and structs don't work. In other words, starting with a .net
server-side class and expecting the dynamically-generated WSDL to give good
interop with an AXIS client, is wishful thinking. Likewise for the
converse. or any other combination of unlike webservices
stacks.
It sounds like you started with a Java class, and you are
using Java2WSDL on it. I would suggest that you start with the schema and
WSDL, then generate the server-side Java interfaces and support classes with
WSDL2Java. Then provide the server-side implementations. You may
need adapters between the classes generated from the schema, and the existing
application on the server side.
Likewise, generate the .NET (client-side) proxies from the
WSDL.
-Dino
MS
From: Praveen Peddi [mailto:[EMAIL PROTECTED] Sent: Tuesday, February 15, 2005 9:52 PM To: [EMAIL PROTECTED] Subject: array of recursive beans (doc/literal style) I have a method getRootContainers that returns
array of ContainerBean[]. Each ContainerBean has reference to an array of child
ContainerBean[]. With Eugene's help I could make the array stuff work. the
method sucessfully returns the array of COntainerBean[] and .NET reads it fine.
But .NET client doesn't read them recursively. It only build the top level array
fine but each ContainerBean has array of other ContainerBean. My service in wsdd
looks as follows:
<service name="CMISOAPContainerService" provider="java:RPC" style="wrapped" use="literal"> <parameter name="allowedMethods" value="copyContainer createContainer deleteContainer getContainer getContainerIcon getContainerProperties getRootContainers getContainerObjects getContentObjectsForContainer getRootContainers moveContainer updateContainer createQueryContainer updateQueryContainer createTaxonomy"/> <parameter name="scope" value="session"/> <parameter name="className" value="com.contextmedia.ip.session.soap.CMISOAPContainerService"/> <operation name="getRootContainers" qname="ns:getRootContainers" xmlns:ns="http://soap.session.ip.contextmedia.com" returnQName="ns:item" returnType="ns:ContainerBean[]" > <parameter name="depth" qname="ns:depth" type="xsd:int" mode="IN" /> </operation> <typemapping languageSpecificType="java:com.contextmedia.ip.session.soap.ContainerBean[]" qname="soapenc:Array" deserializer="org.apache.axis.encoding.ser.ArrayDeserializerFactory" serializer="org.apache.axis.encoding.ser.ArraySerializerFactory" encodingStyle="" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"/> <beanMapping qname="bean:ContainerBean" xmlns:bean="http://soap.session.ip.contextmedia.com" languageSpecificType="java:com.contextmedia.ip.session.soap.ContainerBean"/> </service> I had to add <operation> and
<typeMapping> tags after seeing Eugene's sample. w/o those two tags, even
the first level of ContainerBean[] was not working.
Not sure what else I am missing, How do I make the
recursive bean stuff work? Is there any special configuration in WSDD file to
make array of recursive beans work.
Thanks,
Praveen
**************************************************************
Praveen Peddi Sr Software Engg, Context Media, Inc. email:[EMAIL PROTECTED] Tel: 401.854.3475 Fax: 401.861.3596 web: http://www.contextmedia.com ************************************************************** Context Media- "The Leader in Enterprise Content Integration" |
- array of recursive beans (doc/literal style) Praveen Peddi
- Re: array of recursive beans (doc/literal style) Dino Chiesa
- Re: array of recursive beans (doc/literal style) Praveen Peddi
- Re: array of recursive beans (doc/literal st... Eugene Shershnev
- Re: array of recursive beans (doc/litera... Praveen Peddi
- Re: array of recursive beans (doc/l... Praveen Peddi
- RE: array of recursive beans (doc/literal style) Dino Chiesa
- RE: array of recursive beans (doc/literal style) Dino Chiesa
- RE: array of recursive beans (doc/literal style) Dino Chiesa
- Re: array of recursive beans (doc/literal style) Praveen Peddi
- RE: array of recursive beans (doc/literal style) Dino Chiesa