Witam. Umieściłem post w tym dziale, gdyż pośrednio dotyczy on programu wsdl.exe dostarczanego z Visual Studio.
Jak zadeklarować funkcję (operation) w WS-I 1.1, która nie przyjmuje żadnych parametrów? Podczas generowania klasy proxy dostaję komunikat:
Warning: This web reference does not conform to WS-I Basic Profile v1.1.
R2303: OPIS NIE MOŻE zawierać operacji typu żądanie-odpowiedź ani powiadomienie
w definicji elementu wsdl:portType. Operacje żądanie-odpowiedź i powiadomienie nie są poprawnie zdefiniowane w wersji 1.1 języka WSDL, w której brakuje również definicji powiązań dla takich operacji.
- Operacja "getCos" dotycząca elementu portType "http://bla" z obszaru nazw "http://bla" została zdefiniowana jako powiadomienie.
Wszsytko jest ok, jesli portType wglada np. tak:
<wsdl:portType name="FormsInterface">
<wsdl:operation name="NewOperation">
<wsdl:input message="tns:NewOperationRequest"></wsdl:input>
<wsdl:output message="tns:NewOperationResponse"></wsdl:output>
</wsdl:operation>
</wsdl:portType>
Ale jeśli funkcja ma nie przyjmować paramentów, tylko zwracać wynik, jak powinna wyglądać definicja operacji? W WSDL wystarczyło usunąć linię z wsdl:input, albo wsdl:part, nie pamiętam w tej chwili.