<分区>
我正在寻找一种使用 WSDL 将 SOAP 请求发送到 Web 服务的方法。是否可以使用 Typescript 2 和 Angular 2 做到这一点?
我看过 Angular 1 的教程,但它们使用了旧的 Angular 方法,例如 factory
或 controller
。
如果可能的话,我希望有一种使用 TypeScript 的新方法。
有什么想法吗?
<分区>
我正在寻找一种使用 WSDL 将 SOAP 请求发送到 Web 服务的方法。是否可以使用 Typescript 2 和 Angular 2 做到这一点?
我看过 Angular 1 的教程,但它们使用了旧的 Angular 方法,例如 factory
或 controller
。
如果可能的话,我希望有一种使用 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 上不存在的自定义声明文件?