soap - 使用 Angular 2 创建 SOAP 客户端

标签 soap angular typescript ionic-framework soap-client

<分区>

我正在寻找一种使用 WSDL 将 SOAP 请求发送到 Web 服务的方法。是否可以使用 Typescript 2 和 Angular 2 做到这一点?

我看过 Angular 1 的教程,但它们使用了旧的 Angular 方法,例如 factorycontroller

如果可能的话,我希望有一种使用 TypeScript 的新方法。

有什么想法吗?

最佳答案

你需要的是一个封装Http并提供反序列化的服务:

@Injectable()
export class SOAPService{

    constructor(private http:Http){}

    public get(url:string, options?:RequestOptionsArgs):Observable<any>{
        return this.http.get(url, options).map(res => {
            let xmlresult = res.text();
            let result = //Here you deserialize your xml object
            return result;
        }
    }
}

然后你可以这样使用它:

@Component({...})
export class ExampleComponent{
    constructor(private soap:SOAPService){}


    foo():{
        this.soap.get('foo/bar').subscribe(...);
    }
}

由于我不是 xml 解析专家,我无法告诉您如何反序列化您的 XML,但您可以查看 MDN为此,您只需将序列化/反序列化过程包装在另一个服务中,并将其注入(inject)您的 SOAPService

关于soap - 使用 Angular 2 创建 SOAP 客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39890719/

相关文章:

java - SoapUI - 验证错误 java.lang.String 无法转换为 org.apache.xmlbeans.XmlError

javascript - 在 Angular 2 中跨组件共享事件驱动变量

javascript - 在 Angular 2/TypeScript 中将 pdfMake 与数据输入一起使用

android - 如何显示 Cordova PhotoLibrary 返回的图像?

typescript - 如何在 typescript 中使用 singleton() 在构造函数中传递值?

javascript - 如何编写和使用 @types 或 DefinitelyTyped 上不存在的自定义声明文件?

xml - 在 Oracle 中解析 SOAP XML

java - 使用 Spring 配置 SOAP 处理程序

java - (错误位置未知): 'basePropertyType 的重复变量声明

angular - 在 Angular 中使用普通的直接属性赋值或使用 getter 设置属性值有什么区别?