1

我在 .Net 4.6.2 客户端应用程序中收到以下错误:

无法保存事件:XmlSerializer 属性 System.Xml.Serialization.XmlAttributeAttribute 在 parentOid 中无效。当 IsWrapped 为 true 时,仅支持 XmlElement、XmlArray、XmlArrayItem、XmlAnyAttribute 和 XmlAnyElement 属性。

这是一个已经存在很长时间的应用程序,Axis2/C WebService 方法已经很长时间没有改变了。改变的是最近和今年早些时候向 Web 服务添加了一种新方法,应用程序从 .Net 3.5 升级到 4.6.2,并从 VS2010 迁移到 VS2015。

.Net 客户端应用程序始终通过“添加服务引用”使用 WebService,并且以前从未出现过问题。.Net 3.5 和 4.6.2 或 VS2010 和 VS2015 之间有什么变化吗?

值得一提的是,WebService 本身是在一个旧的、死掉的 Axis2/C 框架中实现的,并在一个 Apache Web Server 下运行,该服务器都是在 VS2008 中开发的。

这是 WSDL:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="urn:mmpp:catalogmgr" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:mmpp:catalogmgr" name="CatalogMgr">
    <wsdl:types>
        <xsd:schema targetNamespace="urn:mmpp:catalogmgr">

            <xsd:element name="updateEventData">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="objectId" type="xsd:string"/>
                        <xsd:element name="eventData" type="tns:EventDataRowUpdate"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>

            <xsd:element name="updateEventDataResponse">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="status" type="xsd:int"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>

            <xsd:element name="updateCategory">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="objectId" type="xsd:string"/>
                        <xsd:element name="category" type="tns:CategoryRowUpdate"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>

            <xsd:element name="updateCategoryResponse">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="status" type="xsd:int"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>

            <xsd:element name="appendImageGallery">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="imageGalleries" type="tns:ImageGallerySet"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>

            <xsd:element name="appendImageGalleryResponse">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="status" type="xsd:int"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>

            <xsd:element name="getImages">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="galleryId" type="xsd:string"/>
                        <xsd:element name="startImage" type="xsd:string" nillable="true"/>
                        <xsd:element name="pageSize" type="xsd:int"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>

            <xsd:element name="getImagesResponse">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="imageGallery" type="tns:ImageGallery" nillable="true"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>      

            <xsd:element name="getNode">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="nodeId" type="xsd:string" nillable="true"/>
                        <xsd:element name="ignoreActiveFlag" type="xsd:boolean"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>

            <xsd:element name="getNodeResponse">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="currentNode" type="tns:Node"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>

            <xsd:element name="getParentNode">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="nodeId" type="xsd:string"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>

            <xsd:element name="getParentNodeResponse">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="parentNode" type="tns:ParentNode" nillable="true"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>

            <xsd:element name="getImagePage">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="galleryId" type="xsd:string"/>
                        <xsd:element name="startImage" type="xsd:string"/>
                        <xsd:element name="pageIndex" type="xsd:int"/>
                        <xsd:element name="pageSize" type="xsd:int"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>

            <xsd:element name="getImagePageResponse">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="imageGallery" type="tns:ImageGallery" nillable="true"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>

            <xsd:element name="appendCategory">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="categories" type="tns:CategorySet"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>

            <xsd:element name="appendCategoryResponse">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="status" type="xsd:int"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>

            <xsd:element name="updateImageGallery">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="objectId" type="xsd:string"/>
                        <xsd:element name="imageGallery" type="tns:ImageGalleryRowUpdate"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>

            <xsd:element name="updateImageGalleryResponse">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="status" type="xsd:int"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>

            <xsd:element name="setActiveFlag">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="objectId" type="xsd:string"/>
                        <xsd:element name="isActive" type="xsd:boolean"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>

            <xsd:element name="setActiveFlagResponse">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="status" type="xsd:int"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>

            <xsd:element name="deleteEventNode">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="objectId" type="xsd:string"/>
                        <xsd:element name="deleteFavorites" type="xsd:boolean" default="false"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>

            <xsd:element name="deleteEventNodeResponse">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="status" type="xsd:int"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>

            <xsd:element name="moveEventNode">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="parentOid" type="xsd:string"/>
                        <xsd:element name="afterSiblingOid" type="xsd:string"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>

            <xsd:element name="moveEventNodeResponse">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="status" type="xsd:int"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>

            <xsd:element name="sortCatgory">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="parentOid" type="xsd:string"/>
                        <xsd:element name="sortDirection" type="xsd:int"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>

            <xsd:element name="sortCatgoryResponse">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="currentNode" type="tns:Node"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>

            <xsd:element name="reorderCatgory">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="childrenOid" type="xsd:string" maxOccurs="unbounded"/>
                    </xsd:sequence>
                    <xsd:attribute name="parentOid" type="xsd:string"/>
                </xsd:complexType>
            </xsd:element>

            <xsd:element name="reorderCatgoryResponse">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="currentNode" type="tns:Node"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>

            <xsd:element name="getAllImgGalleryDescendants">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="parentOid" type="xsd:string"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>

            <xsd:element name="getAllImgGalleryDescendantsResponse">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="imageGallery" type="tns:ImageGalleryRow" maxOccurs="unbounded"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>      

            <!-- ************************************************ -->
            <xsd:complexType name="ParentNode">
                <xsd:sequence>
                    <xsd:element name="objectId" type="xsd:string"/>
                    <xsd:element name="name" type="xsd:string"/>
                </xsd:sequence>
            </xsd:complexType>

            <xsd:complexType name="Node">
                <xsd:sequence>
                    <xsd:element name="objectId" type="xsd:string"/>
                    <xsd:element name="name" type="xsd:string"/>
                    <xsd:element name="children" type="tns:Child" minOccurs="0" maxOccurs="unbounded"/>
                </xsd:sequence>
            </xsd:complexType>

            <xsd:complexType name="Child">
                <xsd:sequence>
                    <xsd:element name="objectId" type="xsd:string"/>
                    <xsd:element name="name" type="xsd:string"/>
                    <xsd:element name="active" type="xsd:boolean"/>
                    <xsd:element name="isGallery" type="xsd:boolean"/>
                </xsd:sequence>
            </xsd:complexType>

            <xsd:complexType name="Category">
                <xsd:sequence>
                    <xsd:element name="objectId" type="xsd:string"/>
                    <xsd:element name="name" type="xsd:string"/>
                    <xsd:element name="deleted" type="xsd:boolean"/>
                    <xsd:element name="expanded" type="xsd:boolean"/>
                    <xsd:element name="errStr" type="xsd:string" nillable="true"/>
                </xsd:sequence>
            </xsd:complexType>

            <xsd:complexType name="CategorySet">
                <xsd:sequence>
                    <xsd:element name="category" type="tns:Category" maxOccurs="unbounded"/>
                </xsd:sequence>
                <xsd:attribute name="parentOID" type="xsd:string" use="required"/>
            </xsd:complexType>

            <xsd:complexType name="ImageGallery">
                <xsd:sequence>
                    <xsd:element name="objectId" type="xsd:string"/>
                    <xsd:element name="name" type="xsd:string" nillable="true"/>
                    <xsd:element name="displayStartTrim" type="xsd:int"/>
                    <xsd:element name="displayEndTrim" type="xsd:int"/>
                    <xsd:element name="active" type="xsd:boolean" nillable="true"/>
                    <xsd:element name="startIndex" type="xsd:int"/>
                    <xsd:element name="totalCount" type="xsd:int"/>
                    <xsd:element name="images" type="tns:Image" minOccurs="0" maxOccurs="unbounded"/>
                    <xsd:element name="errStr" type="xsd:string" nillable="true"/>
                </xsd:sequence>
            </xsd:complexType>

            <xsd:complexType name="ImageGalleryRow">
                <xsd:sequence>
                    <xsd:element name="objectId" type="xsd:string"/>
                    <xsd:element name="name" type="xsd:string"/>
                    <xsd:element name="relativePath" type="xsd:string"/>
                    <xsd:element name="relativeTNPath" type="xsd:string"/>
                    <xsd:element name="filenamePattern" type="xsd:string"/>
                    <xsd:element name="useOriginalFilenames" type="xsd:boolean" />
                    <xsd:element name="digits" type="xsd:int"/>
                    <xsd:element name="seq" type="xsd:int"/>
                    <xsd:element name="seqPlacement" type="xsd:int"/>
                    <xsd:element name="displayStartTrim" type="xsd:int"/>
                    <xsd:element name="displayEndTrim" type="xsd:int"/>
                    <xsd:element name="isActive" type="xsd:boolean"/>
                    <xsd:element name="deleted" type="xsd:boolean"/>
                    <xsd:element name="errStr" type="xsd:string" nillable="true"/>
                </xsd:sequence>
            </xsd:complexType>

            <xsd:complexType name="ImageGallerySet">
                <xsd:sequence>
                    <xsd:element name="imageGallery" type="tns:ImageGalleryRow" maxOccurs="unbounded"/>
                </xsd:sequence>
                <xsd:attribute name="parentOID" type="xsd:string" use="required"/>
            </xsd:complexType>

            <xsd:complexType name="EventDataRowUpdate">
                <xsd:sequence>
                    <xsd:element name="name" type="xsd:string"/>
                    <xsd:element name="activeRootOid" type="xsd:string"/>
                    <xsd:element name="seq" type="xsd:int" nillable="true"/>
                </xsd:sequence>
            </xsd:complexType>

            <xsd:complexType name="CategoryRowUpdate">
                <xsd:sequence>          
                    <xsd:element name="name" type="xsd:string"/>
                    <xsd:element name="expanded" type="xsd:boolean" nillable="true"/>
                </xsd:sequence>
            </xsd:complexType>

            <xsd:complexType name="ImageGalleryRowUpdate">
                <xsd:sequence>          
                    <xsd:element name="name" type="xsd:string" nillable="true"/>
                    <xsd:element name="relativePath" type="xsd:string" nillable="true"/>
                    <xsd:element name="filenamePattern" type="xsd:string" nillable="true"/>
                    <xsd:element name="useOriginalFilenames" type="xsd:boolean" nillable="true"/>
                    <xsd:element name="digits" type="xsd:int" nillable="true"/>
                    <xsd:element name="seq" type="xsd:int" nillable="true"/>
                    <xsd:element name="seqPlacement" type="xsd:int" nillable="true"/>
                    <xsd:element name="displayStartTrim" type="xsd:int" nillable="true"/>
                    <xsd:element name="displayEndTrim" type="xsd:int" nillable="true"/>
                    <xsd:element name="deleted" type="xsd:boolean" nillable="true"/>
                </xsd:sequence>
            </xsd:complexType>

            <xsd:complexType name="Image">
                <xsd:sequence>
                    <xsd:element name="name" type="xsd:string"/>
                    <xsd:element name="tag" type="xsd:boolean"/>
                    <xsd:element name="pliCnt" type="tns:PriceListItemCount" minOccurs="0" maxOccurs="unbounded"/>
                </xsd:sequence>
            </xsd:complexType>

            <xsd:complexType name="PriceListItemCount">
                <xsd:sequence>
                    <xsd:element name="id" type="xsd:int"/>
                    <xsd:element name="qty" type="xsd:int"/>
                </xsd:sequence>
            </xsd:complexType>

        </xsd:schema>
    </wsdl:types>

    <wsdl:message name="updateCategoryRequest">
        <wsdl:part name="parameters" element="tns:updateCategory"/>
    </wsdl:message>
    <wsdl:message name="updateCategoryResponse">
        <wsdl:part name="parameters" element="tns:updateCategoryResponse"/>
    </wsdl:message>
    <wsdl:message name="appendImageGalleryRequest">
        <wsdl:part name="parameters" element="tns:appendImageGallery"/>
    </wsdl:message>
    <wsdl:message name="appendImageGalleryResponse">
        <wsdl:part name="parameters" element="tns:appendImageGalleryResponse"/>
    </wsdl:message>
    <wsdl:message name="getImagesRequest">
        <wsdl:part name="parameters" element="tns:getImages"/>
    </wsdl:message>
    <wsdl:message name="getImagesResponse">
        <wsdl:part name="parameters" element="tns:getImagesResponse"/>
    </wsdl:message>
    <wsdl:message name="getNodeRequest">
        <wsdl:part name="parameters" element="tns:getNode"/>
    </wsdl:message>
    <wsdl:message name="getNodeResponse">
        <wsdl:part name="parameters" element="tns:getNodeResponse"/>
    </wsdl:message>
    <wsdl:message name="getParentNodeRequest">
        <wsdl:part name="parameters" element="tns:getParentNode"/>
    </wsdl:message>
    <wsdl:message name="getParentNodeResponse">
        <wsdl:part name="parameters" element="tns:getParentNodeResponse"/>
    </wsdl:message>
    <wsdl:message name="getImagePageRequest">
        <wsdl:part name="parameters" element="tns:getImagePage"></wsdl:part>
    </wsdl:message>
    <wsdl:message name="getImagePageResponse">
        <wsdl:part name="parameters" element="tns:getImagePageResponse"></wsdl:part>
    </wsdl:message>
    <wsdl:message name="appendCategoryRequest">
        <wsdl:part name="parameters" element="tns:appendCategory"/>
    </wsdl:message>
    <wsdl:message name="appendCategoryResponse">
        <wsdl:part name="parameters" element="tns:appendCategoryResponse"/>
    </wsdl:message>
    <wsdl:message name="updateImageGalleryRequest">
        <wsdl:part name="parameters" element="tns:updateImageGallery"/>
    </wsdl:message>
    <wsdl:message name="updateImageGalleryResponse">
        <wsdl:part name="parameters" element="tns:updateImageGalleryResponse"/>
    </wsdl:message>
    <wsdl:message name="updateEventDataRequest">
        <wsdl:part name="parameters" element="tns:updateEventData"/>
    </wsdl:message>
    <wsdl:message name="updateEventDataResponse">
        <wsdl:part name="parameters" element="tns:updateEventDataResponse"/>
    </wsdl:message>
    <wsdl:message name="setActiveFlagRequest">
        <wsdl:part name="parameters" element="tns:setActiveFlag"/>
    </wsdl:message>
    <wsdl:message name="setActiveFlagResponse">
        <wsdl:part name="parameters" element="tns:setActiveFlagResponse"/>
    </wsdl:message>
    <wsdl:message name="deleteEventNodeRequest">
        <wsdl:part name="parameters" element="tns:deleteEventNode"/>
    </wsdl:message>
    <wsdl:message name="deleteEventNodeResponse">
        <wsdl:part name="parameters" element="tns:deleteEventNodeResponse"/>
    </wsdl:message>
    <wsdl:message name="moveEventNodeRequest">
        <wsdl:part name="parameters" element="tns:moveEventNode"/>
    </wsdl:message>
    <wsdl:message name="moveEventNodeResponse">
        <wsdl:part name="parameters" element="tns:moveEventNodeResponse"/>
    </wsdl:message>

    <wsdl:message name="sortCatgoryRequest">
        <wsdl:part name="parameters" element="tns:sortCatgory"/>
    </wsdl:message>
    <wsdl:message name="sortCatgoryResponse">
        <wsdl:part name="parameters" element="tns:sortCatgoryResponse"/>
    </wsdl:message>

    <wsdl:message name="reorderCatgoryRequest">
        <wsdl:part name="parameters" element="tns:reorderCatgory"/>
    </wsdl:message>
    <wsdl:message name="reorderCatgoryResponse">
        <wsdl:part name="parameters" element="tns:reorderCatgoryResponse"/>
    </wsdl:message>

    <wsdl:message name="getAllImgGalleryDescendantsRequest">
        <wsdl:part name="parameters" element="tns:getAllImgGalleryDescendants"/>
    </wsdl:message>
    <wsdl:message name="getAllImgGalleryDescendantsResponse">
        <wsdl:part name="parameters" element="tns:getAllImgGalleryDescendantsResponse"/>
    </wsdl:message>

    <wsdl:portType name="CatalogMgr">
        <wsdl:operation name="updateCategory">
            <wsdl:input message="tns:updateCategoryRequest"/>
            <wsdl:output message="tns:updateCategoryResponse"/>
        </wsdl:operation>
        <wsdl:operation name="appendImageGallery">
            <wsdl:input message="tns:appendImageGalleryRequest"/>
            <wsdl:output message="tns:appendImageGalleryResponse"/>
        </wsdl:operation>
        <wsdl:operation name="getImages">
            <wsdl:input message="tns:getImagesRequest"/>
            <wsdl:output message="tns:getImagesResponse"/>
        </wsdl:operation>
        <wsdl:operation name="getNode">
            <wsdl:input message="tns:getNodeRequest"/>
            <wsdl:output message="tns:getNodeResponse"/>
        </wsdl:operation>
        <wsdl:operation name="getParentNode">
            <wsdl:input message="tns:getParentNodeRequest"/>
            <wsdl:output message="tns:getParentNodeResponse"/>
        </wsdl:operation>
        <wsdl:operation name="getImagePage">
            <wsdl:input message="tns:getImagePageRequest"></wsdl:input>
            <wsdl:output message="tns:getImagePageResponse"></wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="appendCategory">
            <wsdl:input message="tns:appendCategoryRequest"/>
            <wsdl:output message="tns:appendCategoryResponse"/>
        </wsdl:operation>
        <wsdl:operation name="updateImageGallery">
            <wsdl:input message="tns:updateImageGalleryRequest"/>
            <wsdl:output message="tns:updateImageGalleryResponse"/>
        </wsdl:operation>    
        <wsdl:operation name="updateEventData">
            <wsdl:input message="tns:updateEventDataRequest"/>
            <wsdl:output message="tns:updateEventDataResponse"/>
        </wsdl:operation>    
        <wsdl:operation name="setActiveFlag">
            <wsdl:input message="tns:setActiveFlagRequest"/>
            <wsdl:output message="tns:setActiveFlagResponse"/>
        </wsdl:operation>
        <wsdl:operation name="deleteEventNode">
            <wsdl:input message="tns:deleteEventNodeRequest"/>
            <wsdl:output message="tns:deleteEventNodeResponse"/>
        </wsdl:operation>
        <wsdl:operation name="moveEventNode">
            <wsdl:input message="tns:moveEventNodeRequest"/>
            <wsdl:output message="tns:moveEventNodeResponse"/>
        </wsdl:operation>
        <wsdl:operation name="reorderCatgory">
            <wsdl:input message="tns:reorderCatgoryRequest"/>
            <wsdl:output message="tns:reorderCatgoryResponse"/>
        </wsdl:operation>
        <wsdl:operation name="sortCatgory">
            <wsdl:input message="tns:sortCatgoryRequest"/>
            <wsdl:output message="tns:sortCatgoryResponse"/>
        </wsdl:operation>
        <wsdl:operation name="getAllImgGalleryDescendants">
            <wsdl:input message="tns:getAllImgGalleryDescendantsRequest"/>
            <wsdl:output message="tns:getAllImgGalleryDescendantsResponse"/>
        </wsdl:operation>
    </wsdl:portType>

    <wsdl:binding name="CatalogMgrSOAP" type="tns:CatalogMgr">
        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>

        <wsdl:operation name="updateCategory">
            <soap:operation soapAction="urn:mmpp:catalogmgr/updateCategory"/>
            <wsdl:input><soap:body use="literal"/></wsdl:input>
            <wsdl:output><soap:body use="literal"/></wsdl:output>
        </wsdl:operation>

        <wsdl:operation name="appendImageGallery">
            <soap:operation soapAction="urn:mmpp:catalogmgr/appendImageGallery"/>
            <wsdl:input><soap:body use="literal"/></wsdl:input>
            <wsdl:output><soap:body use="literal"/></wsdl:output>
        </wsdl:operation>

        <wsdl:operation name="getImages">
            <soap:operation soapAction="urn:mmpp:catalogmgr/getImages"/>
            <wsdl:input><soap:body use="literal"/></wsdl:input>
            <wsdl:output><soap:body use="literal"/></wsdl:output>
        </wsdl:operation>

        <wsdl:operation name="getNode">
            <soap:operation soapAction="urn:mmpp:catalogmgr/getNode"/>
            <wsdl:input><soap:body use="literal"/></wsdl:input>
            <wsdl:output><soap:body use="literal"/></wsdl:output>
        </wsdl:operation>

        <wsdl:operation name="getParentNode">
            <soap:operation soapAction="urn:mmpp:catalogmgr/getParentNode"/>
            <wsdl:input><soap:body use="literal"/></wsdl:input>
            <wsdl:output><soap:body use="literal"/></wsdl:output>
        </wsdl:operation>

        <wsdl:operation name="getImagePage">
            <soap:operation soapAction="urn:mmpp:catalogmgr/getImagePage"/>
            <wsdl:input><soap:body use="literal"/></wsdl:input>
            <wsdl:output><soap:body use="literal"/></wsdl:output>
        </wsdl:operation>

        <wsdl:operation name="appendCategory">
            <soap:operation soapAction="urn:mmpp:catalogmgr/appendCategory"/>
            <wsdl:input><soap:body use="literal"/></wsdl:input>
            <wsdl:output><soap:body use="literal"/></wsdl:output>
        </wsdl:operation>

        <wsdl:operation name="updateImageGallery">
            <soap:operation soapAction="urn:mmpp:catalogmgr/updateImageGallery"/>
            <wsdl:input><soap:body use="literal"/></wsdl:input>
            <wsdl:output><soap:body use="literal"/></wsdl:output>
        </wsdl:operation>

        <wsdl:operation name="updateEventData">
            <soap:operation soapAction="urn:mmpp:catalogmgr/updateEventData"/>
            <wsdl:input><soap:body use="literal"/></wsdl:input>
            <wsdl:output><soap:body use="literal"/></wsdl:output>
        </wsdl:operation>

        <wsdl:operation name="setActiveFlag">
            <soap:operation soapAction="urn:mmpp:catalogmgr/setActiveFlag"/>
            <wsdl:input><soap:body use="literal"/></wsdl:input>
            <wsdl:output><soap:body use="literal"/></wsdl:output>
        </wsdl:operation>

        <wsdl:operation name="deleteEventNode">
            <soap:operation soapAction="urn:mmpp:catalogmgr/deleteEventNode"/>
            <wsdl:input><soap:body use="literal"/></wsdl:input>
            <wsdl:output><soap:body use="literal"/></wsdl:output>
        </wsdl:operation>

        <wsdl:operation name="moveEventNode">
            <soap:operation soapAction="urn:mmpp:catalogmgr/moveEventNode"/>
            <wsdl:input><soap:body use="literal"/></wsdl:input>
            <wsdl:output><soap:body use="literal"/></wsdl:output>
        </wsdl:operation>

        <wsdl:operation name="reorderCatgory">
            <soap:operation soapAction="urn:mmpp:catalogmgr/reorderCatgory"/>
            <wsdl:input><soap:body use="literal"/></wsdl:input>
            <wsdl:output><soap:body use="literal"/></wsdl:output>
        </wsdl:operation>

        <wsdl:operation name="sortCatgory">
            <soap:operation soapAction="urn:mmpp:catalogmgr/sortCatgory"/>
            <wsdl:input><soap:body use="literal"/></wsdl:input>
            <wsdl:output><soap:body use="literal"/></wsdl:output>
        </wsdl:operation>

        <wsdl:operation name="getAllImgGalleryDescendants">
            <soap:operation soapAction="urn:mmpp:catalogmgr/getAllImgGalleryDescendants"/>
            <wsdl:input><soap:body use="literal"/></wsdl:input>
            <wsdl:output><soap:body use="literal"/></wsdl:output>
        </wsdl:operation>
    </wsdl:binding>

    <wsdl:service name="CatalogMgr">
        <wsdl:port name="CatalogMgrSOAP" binding="tns:CatalogMgrSOAP">
            <soap:address location="http://localhost/axis2/services/CatalogMgr"/>
        </wsdl:port>
    </wsdl:service>

</wsdl:definitions>
4

0 回答 0