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