L
Larry Spencer
I'm trying to create an InfoPath form based on a web service. The WS
method I want to call returns a typed DataSet, which I created in
Visual Studio 2005 using Add New Item / DataSet. It's just the
simplest table imaginable: an integer primary key, a name, and sex.
On the InfoPath side, I'm choosing Design a new form / New from Data
Connection / Web service / Receive Data. I specify the web service and
get the list of methods back, but when I choose the method I want, I
get this error:
"The data contained a DataSet DiffGram whose associated schema in the
WSDL is not supported."
What could be unsupported in my very simple scenario? Here's the XML
that comes back when I invoke the method using the test page that
Visual Studio generates.
<?xml version="1.0" encoding="utf-8" ?>
- <Table2 xmlns="http://tempuri.org/">
- <xs:schema id="Table2"
targetNamespace="http://tempuri.org/Table2.xsd"
xmlns:mstns="http://tempuri.org/Table2.xsd"
xmlns="http://tempuri.org/Table2.xsd"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"
xmlns:msprop="urn:schemas-microsoft-com:xml-msprop"
attributeFormDefault="qualified" elementFormDefault="qualified">
- <xs:element name="Table2" msdata:IsDataSet="true"
msdata:UseCurrentLocale="true">
- <xs:complexType>
- <xs:choice minOccurs="0" maxOccurs="unbounded">
- <xs:element name="Table2" msprop:Generator_UserTableName="Table2"
msprop:Generator_TablePropName="_Table2">
- <xs:complexType>
- <xs:sequence>
<xs:element name="Pk" msdata:ReadOnly="true"
msdata:AutoIncrement="true" type="xs:int" />
- <xs:element name="Name" minOccurs="0">
- <xs:simpleType>
- <xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
- <xs:element name="Sex" minOccurs="0">
- <xs:simpleType>
- <xs:restriction base="xs:string">
<xs:maxLength value="1" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
- <xs:unique name="Constraint1" msdata
rimaryKey="true">
<xs:selector xpath=".//mstns:Table2" />
<xs:field xpath="mstns
k" />
</xs:unique>
</xs:element>
</xs:schema>
- <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"
xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
- <Table2 xmlns="http://tempuri.org/Table2.xsd">
- <Table2 diffgr:id="Table21" msdata:rowOrder="0">
<Pk>1</Pk>
<Name>Larry</Name>
<Sex>M</Sex>
</Table2>
- <Table2 diffgr:id="Table22" msdata:rowOrder="1">
<Pk>2</Pk>
<Name>Diane</Name>
<Sex>F</Sex>
</Table2>
</Table2>
</diffgr:diffgram>
</Table2>
method I want to call returns a typed DataSet, which I created in
Visual Studio 2005 using Add New Item / DataSet. It's just the
simplest table imaginable: an integer primary key, a name, and sex.
On the InfoPath side, I'm choosing Design a new form / New from Data
Connection / Web service / Receive Data. I specify the web service and
get the list of methods back, but when I choose the method I want, I
get this error:
"The data contained a DataSet DiffGram whose associated schema in the
WSDL is not supported."
What could be unsupported in my very simple scenario? Here's the XML
that comes back when I invoke the method using the test page that
Visual Studio generates.
<?xml version="1.0" encoding="utf-8" ?>
- <Table2 xmlns="http://tempuri.org/">
- <xs:schema id="Table2"
targetNamespace="http://tempuri.org/Table2.xsd"
xmlns:mstns="http://tempuri.org/Table2.xsd"
xmlns="http://tempuri.org/Table2.xsd"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"
xmlns:msprop="urn:schemas-microsoft-com:xml-msprop"
attributeFormDefault="qualified" elementFormDefault="qualified">
- <xs:element name="Table2" msdata:IsDataSet="true"
msdata:UseCurrentLocale="true">
- <xs:complexType>
- <xs:choice minOccurs="0" maxOccurs="unbounded">
- <xs:element name="Table2" msprop:Generator_UserTableName="Table2"
msprop:Generator_TablePropName="_Table2">
- <xs:complexType>
- <xs:sequence>
<xs:element name="Pk" msdata:ReadOnly="true"
msdata:AutoIncrement="true" type="xs:int" />
- <xs:element name="Name" minOccurs="0">
- <xs:simpleType>
- <xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
- <xs:element name="Sex" minOccurs="0">
- <xs:simpleType>
- <xs:restriction base="xs:string">
<xs:maxLength value="1" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
- <xs:unique name="Constraint1" msdata
<xs:selector xpath=".//mstns:Table2" />
<xs:field xpath="mstns
</xs:unique>
</xs:element>
</xs:schema>
- <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"
xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
- <Table2 xmlns="http://tempuri.org/Table2.xsd">
- <Table2 diffgr:id="Table21" msdata:rowOrder="0">
<Pk>1</Pk>
<Name>Larry</Name>
<Sex>M</Sex>
</Table2>
- <Table2 diffgr:id="Table22" msdata:rowOrder="1">
<Pk>2</Pk>
<Name>Diane</Name>
<Sex>F</Sex>
</Table2>
</Table2>
</diffgr:diffgram>
</Table2>