Как использовать классы JavaScript, сгенерированные утилитой WSDL? - PullRequest
1 голос
/ 09 февраля 2012

Я сгенерировал классы в JavaScript из WSDL с помощью утилиты Visual Studio WSDL.

wsdl /o:SomeClasses.js /l:js https://SomeCompany.com/SomeService?WSDL

Вывод содержит классы (в JavaScript), которые выглядят следующим образом:

public System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "4.0.30319.1") System.SerializableAttribute() System.Diagnostics.DebuggerStepThroughAttribute() System.ComponentModel.DesignerCategoryAttribute("code") System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:some.company") 
class SomeUser {
    private var domainNameField : System.String;
    private var userNameField : System.String;

    ///<remarks/>
    public final function get domainName() : System.String {
        return this.domainNameField;
    }
    public final function set domainName(value : System.String) {
        this.domainNameField = value;
    }

    ///<remarks/>
    public final function get userName() : System.String {
        return this.userNameField;
    }
    public final function set userName(value : System.String) {
        this.userNameField = value;
    }
}

IsМожно ли написать ООП JavaScript с использованием этих классов?Если да, то каков синтаксис, примеры и т. Д.

1 Ответ

3 голосов
/ 12 февраля 2012

Когда вы указываете язык JS для инструмента описания языков веб-служб , , вы НЕ указываете JavaScript, а JScript .Даже JScript , который InternetExplorer может полностью понять, это JScript.NET .

JScript.NET - это язык сценариев на стороне сервера, основанный на JScript, но с дополнительными функциями -доступно только на стороне сервера - например, класс , который вы указали в опубликованном вами коде.

Вам следует искать другие способы генерации кода JavaScript , возможнос помощью инструмента, подобного Wsdl2js или , выполняющего ваш вызов WS с JQuery .Вы не можете использовать сгенерированный Wsdl.exe код внутри InternetExplorer, так как InternetExplorer поддерживает только старый язык JScript (и браузеры, не поддерживающие IE, даже не поддерживают это).

...