所以我的同事已经编写了一个简单的web服务progress4GL,期望从我作为输入参数 - >数据集并返回给我一个数据集。这里是Web服务如何将进度4GL数据集输出参数转换为.net类型时消耗进度4Gl网络服务
Define TEMP-TABLE TTList NO-UNDO
FIELD CtrlName AS CHAR
FIELD WrdNr AS INT
FIELD Descr AS CHAR
FIELD DescrShort AS CHAR
FIELD DescrTooltip AS CHAR
FIELD TRecid AS INT
.
DEFINE DATASET ds FOR TTList.
DEFINE INPUT PARAMETER pCoCd AS CHARACTER NO-UNDO.
DEFINE INPUT PARAMETER pLanCd AS CHARACTER NO-UNDO.
DEFINE INPUT PARAMETER pUsrCd AS CHARACTER NO-UNDO.
DEFINE INPUT PARAMETER pFilter AS CHARACTER NO-UNDO.
DEFINE INPUT-OUTPUT PARAMETER DATASET FOR ds.
DEFINE OUTPUT PARAMETER pErrorTxt AS CHARACTER NO-UNDO.
而在.NET中,当我使用的Web服务.NET期望通过XmlElement的类型为progress4gl输入 - 输出数据集参数
XmlElement docresult = doc.DocumentElement;
beaHostDB.TranslateList(pCoCd, languageID, " ", " ", ref docresult, out pErrorTxt);
但昨天,当我的同事上传服务器上的Web服务时 - 当我对Web服务进行新的Web引用时 - 突然输出这个输出 - 输入数据集参数.net表示它期望beaHost.ds11TTList d s11类型。 (这里beaHost是对webService的引用的名称)。
有人可以帮助我ehat可能是问题
!UPDATE
下面是从服务器的WSDL(我只提供了差异片段)
schema xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="urn:BeaWeb:BeaWeb">
<element name="ds">
<complexType>
<sequence>
<element maxOccurs="unbounded" minOccurs="0" name="TTArticle">
<complexType>
<sequence>
<element name="ArtCd" nillable="true" type="xsd:string"/>
<element name="Descr" nillable="true" type="xsd:string"/>
<element name="Photo" nillable="true" prodata:dataType="prodata:blob" type="xsd:base64Binary"/>
<element name="Price" nillable="true" type="xsd:decimal"/>
<element name="CurrCd" nillable="true" type="xsd:string"/>
<element name="AvStockQty" nillable="true" type="xsd:decimal"/>
<element name="TRecid" nillable="true" type="xsd:int"/>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
<element name="ds2">
<complexType>
<sequence>
<element maxOccurs="unbounded" minOccurs="0" name="TTArticleGroup">
<complexType>
<sequence>
<element name="ArticleGroupLinkSeqNr" nillable="true" type="xsd:int"/>
<element name="ParentArticleGroupLinkSeqNr" nillable="true" type="xsd:int"/>
<element name="PreParentArticleGroupLinkSeqNr" nillable="true" type="xsd:int"/>
<element name="SeqNr" nillable="true" type="xsd:int"/>
<element name="ArtGroupCd" nillable="true" type="xsd:string"/>
<element name="Descr" nillable="true" type="xsd:string"/>
<element name="Photo" nillable="true" prodata:dataType="prodata:blob" type="xsd:base64Binary"/>
<element name="AltText" nillable="true" type="xsd:string"/>
<element name="PgName" nillable="true" type="xsd:string"/>
<element name="TRecid" nillable="true" type="xsd:int"/>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
---
<element name="GetArticle">
<complexType>
<sequence>
<element name="pCoCd" nillable="true" type="xsd:string"/>
<element name="pLanCd" nillable="true" type="xsd:string"/>
<element name="pUsrCd" nillable="true" type="xsd:string"/>
<element name="pFilter" nillable="true" type="xsd:string"/>
</sequence>
</complexType>
</element>
<element name="GetArticleResponse">
<complexType>
<sequence>
<element name="result" nillable="true" type="xsd:string"/>
<element ref="S2:ds"/>
<element name="pErrorTxt" nillable="true" type="xsd:string"/>
</sequence>
</complexType>
</element>
<element name="GetArticleGroup">
<complexType>
<sequence>
<element name="pCoCd" nillable="true" type="xsd:string"/>
<element name="pLanCd" nillable="true" type="xsd:string"/>
<element name="pUsrCd" nillable="true" type="xsd:string"/>
<element name="pFilter" nillable="true" type="xsd:string"/>
</sequence>
</complexType>
</element>
<element name="GetArticleGroupResponse">
<complexType>
<sequence>
<element name="result" nillable="true" type="xsd:string"/>
<element ref="S2:ds2"/>
<element name="pErrorTxt" nillable="true" type="xsd:string"/>
</sequence>
</complexType>
</element>
这里从本地的wsdl文件
complexType name="dsChanges" prodata:datasetName="ds" prodata:isDsChanges="true" prodata:namespace="urn:beawebprogress:BeaWebProgress">
<sequence>
<any/>
</sequence>
</complexType>
<element name="ds">
<complexType>
<sequence>
<element maxOccurs="unbounded" minOccurs="0" name="TTArticle">
<complexType>
<sequence>
<element name="ArtCd" nillable="true" type="xsd:string"/>
<element name="Descr" nillable="true" type="xsd:string"/>
<element name="Photo" nillable="true" prodata:dataType="prodata:blob" type="xsd:base64Binary"/>
<element name="Price" nillable="true" type="xsd:decimal"/>
<element name="CurrCd" nillable="true" type="xsd:string"/>
<element name="AvStockQty" nillable="true" type="xsd:decimal"/>
<element name="TRecid" nillable="true" type="xsd:int"/>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
<complexType name="ds2Changes" prodata:datasetName="ds2" prodata:isDsChanges="true" prodata:namespace="urn:beawebprogress:BeaWebProgress">
<sequence>
<any/>
</sequence>
</complexType>
<element name="ds2">
<complexType>
<sequence>
<element maxOccurs="unbounded" minOccurs="0" name="TTArticleGroup">
<complexType>
<sequence>
<element name="ArticleGroupLinkSeqNr" nillable="true" type="xsd:int"/>
<element name="ParentArticleGroupLinkSeqNr" nillable="true" type="xsd:int"/>
<element name="PreParentArticleGroupLinkSeqNr" nillable="true" type="xsd:int"/>
<element name="SeqNr" nillable="true" type="xsd:int"/>
<element name="ArtGroupCd" nillable="true" type="xsd:string"/>
<element name="Descr" nillable="true" type="xsd:string"/>
<element name="Photo" nillable="true" prodata:dataType="prodata:blob" type="xsd:base64Binary"/>
<element name="AltText" nillable="true" type="xsd:string"/>
<element name="PgName" nillable="true" type="xsd:string"/>
<element name="TRecid" nillable="true" type="xsd:int"/>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
-------------------
<element name="GetArticle">
<complexType>
<sequence>
<element name="pCoCd" nillable="true" type="xsd:string"/>
<element name="pLanCd" nillable="true" type="xsd:string"/>
<element name="pUsrCd" nillable="true" type="xsd:string"/>
<element name="pFilter" nillable="true" type="xsd:string"/>
</sequence>
</complexType>
</element>
<element name="GetArticleResponse">
<complexType>
<sequence>
<element name="result" nillable="true" type="xsd:string"/>
<element name="ds" type="S2:dsChanges"/>
<element name="pErrorTxt" nillable="true" type="xsd:string"/>
</sequence>
</complexType>
</element>
<element name="GetArticleGroup">
<complexType>
<sequence>
<element name="pCoCd" nillable="true" type="xsd:string"/>
<element name="pLanCd" nillable="true" type="xsd:string"/>
<element name="pUsrCd" nillable="true" type="xsd:string"/>
<element name="pFilter" nillable="true" type="xsd:string"/>
</sequence>
</complexType>
</element>
<element name="GetArticleGroupResponse">
<complexType>
<sequence>
<element name="result" nillable="true" type="xsd:string"/>
<element name="ds2" type="S2:ds2Changes"/>
<element name="pErrorTxt" nillable="true" type="xsd:string"/>
</sequence>
</complexType>
</element>
有一个WSDL对于Web服务,我们可以看到它吗? – 2014-08-28 14:08:32
嗨我已经从wsdl公布了一个片段与差异 – 2014-08-29 06:59:19