javascript and web services WSDL
javascript and web services WSDL
我想使用 JavaScript 调用 Web 服务。 我有一个表单,我在其中给出一些参数(int)并想得到结果如何使用JavaScript?
以下是 WSDL 文件
<definitions xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://lapack.sws4hpsc.uth/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://lapack.sws4hpsc.uth/" name="DgesvSampleWsService">
<ns1:Policy xmlns:ns1="http://www.w3.org/ns/ws-policy" wsu:Id="DgesvSampleWsPortBinding_MTOM_Policy">
<ns1:ExactlyOne>
<ns1:All>
<ns2:OptimizedMimeSerialization xmlns:ns2="http://schemas.xmlsoap.org/ws/2004/09/policy/optimizedmimeserialization" ns1:Optional="true"/>
</ns1:All>
</ns1:ExactlyOne>
</ns1:Policy>
<types>
<xsd:schema>
<xsd:import namespace="http://lapack.sws4hpsc.uth/" schemaLocation="http://83.212.96.238:8080/DgesvSampleWs/DgesvSampleWsService?xsd=1"/>
</xsd:schema>
</types>
<message name="_dgesv">
<part name="parameters" element="tns:_dgesv"/>
</message>
<message name="_dgesvResponse">
<part name="parameters" element="tns:_dgesvResponse"/>
</message>
<portType name="DgesvSampleWs">
<operation name="_dgesv">
<input message="tns:_dgesv"/>
<output message="tns:_dgesvResponse"/>
</operation>
</portType>
<binding name="DgesvSampleWsPortBinding" type="tns:DgesvSampleWs">
<ns3:PolicyReference xmlns:ns3="http://www.w3.org/ns/ws-policy" URI="#DgesvSampleWsPortBinding_MTOM_Policy"/>
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
<operation name="_dgesv">
<soap:operation soapAction=""/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
<service name="DgesvSampleWsService">
<port name="DgesvSampleWsPort" binding="tns:DgesvSampleWsPortBinding">
<soap:address location="http://83.212.96.238:8080/DgesvSampleWs/DgesvSampleWsService"/>
</port>
</service>
</definitions>
第二个
<definitions xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://lapack.sws4hpsc.uth/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://lapack.sws4hpsc.uth/" name="DgtsvSampleWsService">
<ns1:Policy xmlns:ns1="http://www.w3.org/ns/ws-policy" wsu:Id="DgtsvSampleWsPortBinding_MTOM_Policy">
<ns1:ExactlyOne>
<ns1:All>
<ns2:OptimizedMimeSerialization xmlns:ns2="http://schemas.xmlsoap.org/ws/2004/09/policy/optimizedmimeserialization" ns1:Optional="true"/>
</ns1:All>
</ns1:ExactlyOne>
</ns1:Policy>
<types>
<xsd:schema>
<xsd:import namespace="http://lapack.sws4hpsc.uth/" schemaLocation="http://83.212.96.238:8080/DgtsvSampleWs/DgtsvSampleWsService?xsd=1"/>
</xsd:schema>
</types>
<message name="_dgtsv">
<part name="parameters" element="tns:_dgtsv"/>
</message>
<message name="_dgtsvResponse">
<part name="parameters" element="tns:_dgtsvResponse"/>
</message>
<portType name="DgtsvSampleWs">
<operation name="_dgtsv">
<input message="tns:_dgtsv"/>
<output message="tns:_dgtsvResponse"/>
</operation>
</portType>
<binding name="DgtsvSampleWsPortBinding" type="tns:DgtsvSampleWs">
<ns3:PolicyReference xmlns:ns3="http://www.w3.org/ns/ws-policy" URI="#DgtsvSampleWsPortBinding_MTOM_Policy"/>
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
<operation name="_dgtsv">
<soap:operation soapAction=""/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
<service name="DgtsvSampleWsService">
<port name="DgtsvSampleWsPort" binding="tns:DgtsvSampleWsPortBinding">
<soap:address location="http://83.212.96.238:8080/DgtsvSampleWs/DgtsvSampleWsService"/>
</port>
</service>
</definitions>
这里有一种可能的方法,假设您将 wsdl 放入文件request.wsdl
中,并假设远程服务器可访问并且具有Access-Control-Allow-Origin: *
标头
//wsdl request
var client = new XMLHttpRequest();
client.open('GET', 'request.wsdl');
client.onreadystatechange = function () {
var request = client.responseText;//here the wsdl
//SOAP request
var client2 = new XMLHttpRequest();
client2.open('POST', 'http://83.212.96.238:8080/DgesvSampleWs/DgesvSampleWsService', true);
client2.onreadystatechange = function () {
if (client2.readyState == 4) {
if (client2.status == 200) {
console.log(client.responseText);//here the response
}
}
}
client2.setRequestHeader('Content-Type', 'text/xml');
client2.send(request);
}
client.send();
这个想法是执行和 ajax 调用 wsdl 定义,并在它的回调中,执行另一个你想要调用的 ajax。这个域http://83.212.96.238:808
它没有给我回应,但我认为这种方法是有效的。
-
创建 SOAP 请求并调用调用方。裁判:最简单的 SOAP 示例
-
获取响应并分析 XML。裁判:使用 JavaScript 解析 XML
相关文章:
- 如何在工作灯适配器中调用 WSDL
- Visual Studio Team Services Rest API未授权的客户端错误
- Services.wm 是未定义的(Firefox SDK Extension)
- 创建Angular Services时的最佳实践
- 在Azure Mobile Services Javascript SDK中使用$expand查询
- Azure mobile services and Ember.js
- 使用 AngularJS 和 Azure Mobile Web Services 与 ng-resource 进行分页
- javascript and web services WSDL
- Excel Web Services 电子邮件 JavaScript 工作表
- Angularjs and web services
- 从 Windows Azure Mobile Services 中的读取请求中获取 ID
- 我已经设置了 services.sync.prefs.sync.dom.disable_window_move_resi
- 在 ionic services.js 文件中对第三方 API 进行 ajax 调用
- 如何使用 WSDL 调用 Web 服务
- 使用 jQuery 调用 SOAP WSDL
- 将xul元素添加到Services.appShell.hiddenWindow的xul中
- 使用jquerysoap从wsdl文件调用服务
- Angular Services/Factories with $resource
- 如何使用WSDL实用程序生成的JavaScript类
- RIA Services JSON and Ext.Js