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! > > >
