Hi,
I looked into your service. .NET generates WSDL a little strange. If you write service operation like this:
int BasicConnect(int value) {...}
it will generate WSDL for the service and xsd files for requests/responses(and some other xsds) like that:
in wsdl:
<wsdl:message name="D2AService_BasicConnect_InputMessage">
<wsdl:part name="parameters" element="tns:BasicConnect" />
</wsdl:message>
<wsdl:message name="D2AService_BasicConnect_OutputMessage">
<wsdl:part name="parameters" element="tns:BasicConnectResponse" />
</wsdl:message>
in xsd0.xsd:
<xs:element name="BasicConnect">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="i" type="xs:int" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="BasicConnectResponse">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="BasicConnectResult" type="xs:int" />
</xs:sequence>
</xs:complexType>
</xs:element>
One strange thing in generated wsdl is minOccurs="0" - element is optional and it will be interpreted by staff_codegen as staff:Optional<int> which is right.
Staff codegen interprets each file (wsdl or xsd) as separate .h file and for simple .NET service with few of operations you will see multiple headers.
Also unwrapping for types which is defined in external xsd is not possible and you'ii see:
::BasicConnectResponse BasicConnect(const ::BasicConnect& BasicConnect);
instead of:
::staff::Optional<int> BasicConnect(const ::staff::Optional<int>& BasicConnect);
To see service interface as expected you must fix generating of WSDL on .NET side:
пятница, 28 марта 2014 г., 15:47:49 UTC+4 пользователь Yasir K написал: