complextype in wsdl considered not valid

D

Dan J

InfoPath incorrectly reports "InfoPath cannot use the selected Web service
method for receiving data because the method does not provide valid XML
data." after selecting an operation in the Data Connection Wizard.

This same WSDL works fine when loading in to Visual Studio.

Here is the segment of WSDL that Infopath seems to have trouble with (from
the wsdl/types/schema element):
<complexType name="copyintooutRequestType">
<sequence>
<element name="parameters" type="typesns:copyintooutParameters" />
</sequence>
</complexType>
<element name="copyintoout" type="typesns:copyintooutRequestType" />

If I manually change that to use an anonymous type it works fine in InfoPath:
<element name="copyintoout">
<complexType >
<sequence>
<element name="parameters" type="typesns:copyintooutParameters" />
</sequence>
</complexType>
</element>

Is this a bug in InfoPath or is it invalid to use a complexType in a wsdl?
Note that copyintooutParameters is another named type and that works fine
here. It only seems to be a problem when the toplevel element is defined by
a named complexType.

Thanks
-Dan
 
G

Gavin McKay

Hi Dan,

InfoPath 2007 uses MSXML Core Services 5.0, which is one version behind the
latest (6.0). There are several restrictions particularly about support for
complexType(s). I've had similar problems getting InfoPath 2007 to consume
web services based on Windows Communication Foundation elements, such as with
xml arrays and similar complex types. Not sure if this is the same as your
problem, but it looks similar.

There is information on MSDN about support for Xml here that might shed some
light:

http://msdn2.microsoft.com/en-us/library/bb251017.aspx

Sorry I can't provide much more information than that, I haven't really gone
into XSD schemas inside InfoPath. Half of that article is beyond me :)

HTH

Gavin.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top