Please provide us the WSDL in question.

On 6/2/05, Dave <[EMAIL PROTECTED]> wrote:
> Thanks, Jan.
> 
> Unfortunately we don't have the option of changing service styles at
> this point in the project.
> 
> We have learned that there are lots of interop issues with array
> types, but I'm trying to pin down this particular difference between
> what should be identically defined return types to see if it might be
> causing a problem here.
> 
> On 6/2/05, Jan Delannoy <[EMAIL PROTECTED]> wrote:
> > I don't think your problem is related to those namespace, it's
> > probably more to do with the way arrays are encoded (using
> > soapenc:Array).  You might want to try a document/literal approach
> > instead (style=DOCUMENT or WRAPPED in Java2Wsdl).
> >
> > Regards,
> > Jan
> >
> >
> > On 6/2/05, Dave <[EMAIL PROTECTED]> wrote:
> > > Hi -
> > >
> > > We have some methods which return arrays of complex types. Some of
> > > them work fine, but others (although working fine for our test clients
> > > using axis stubs) seem to have problems for people using .net to
> > > integrate with our web services.
> > >
> > > I noticed that the methods causing problems are defined a bit
> > > differently in the wsdl. For example, if we have a java class MyWidget
> > > and a method in the service interface like:
> > >
> > > public MyWidget[] getMyWidgets()
> > >
> > > then the response type is defined as:
> > >
> > > <wsdl:message name="getMyWidgetsResponse">
> > > <wsdl:part name="getMyWidgetsReturn" type="impl:ArrayOfMyWidgets"/>
> > > </wsdl:message>
> > >
> > > The array type gets defined like this:
> > >
> > >    <complexType name="ArrayOfMyWidgets">
> > >     <complexContent>
> > >      <restriction base="soapenc:Array">
> > >       <attribute ref="soapenc:arrayType" 
> > > wsdl:arrayType="impl:MyWidget[]"/>
> > >      </restriction>
> > >     </complexContent>
> > >    </complexType>
> > >
> > > Other similar methods which don't have the problem are a bit different
> > > in the .wsdl, in that the return part has a type of
> > > intf:ArrayOfMyWidgets instead of impl:ArrayOfMyWidgets.
> > >
> > > <wsdl:message name="getMyGoodWidgetsResponse">
> > > <wsdl:part name="getMyGoodWidgetsReturn" type="int:ArrayOfMyGoodWidgets"/>
> > > </wsdl:message>
> > >
> > > As far as I can tell the working and non-working methods are basically
> > > identical -- both have return types that are arrays of objects defined
> > > by us, and both are converted to web services using the same java2wsdl
> > > arguments.
> > >
> > > The error message for the people trying to use .net to integrate with
> > > us looks like this: "Custom tool error: Unable to import
> > > WebService/Schema. Unable to import
> > > binding 'MyServiceSoapBinding' from namespace
> > > 'urn:my_namespace'. Unable to import operation
> > > 'getMyWidgets'. The datatype 'Array' is missing."
> > >
> > > I have no proof that the impl vs. intf difference is causing the
> > > problem, but it seems like the most likely candidate. Can anyone
> > > enlighten me about when java2wsdl uses intf: vs. impl: in defining a
> > > response type?
> > >
> > > Thanks!
> > >
> >
>

Reply via email to