如何在javascript/ajax中使用基于Java的Soap Web服务?
我必须提供一个.jsp页面(index.jsp)和我的Web服务项目来进行测试。 jsp页面基本上有一个textarea,用于将soap请求作为字符串读取&提交它时,soap响应就会出现 我用“javax.xml.ws.Service&Dispatch”类进行了尝试,效果很好。 但现在我需要一个基于javascript/ajax的代码 有人能帮我吗 我在这里给出了一个示例.wsdl文件:如何在javascript/ajax中使用基于Java的Soap Web服务?,java,javascript,ajax,web-services,soap-client,Java,Javascript,Ajax,Web Services,Soap Client,我必须提供一个.jsp页面(index.jsp)和我的Web服务项目来进行测试。 jsp页面基本上有一个textarea,用于将soap请求作为字符串读取&提交它时,soap响应就会出现 我用“javax.xml.ws.Service&Dispatch”类进行了尝试,效果很好。 但现在我需要一个基于javascript/ajax的代码 有人能帮我吗 我在这里给出了一个示例.wsdl文件: <?xml version="1.0" encoding="UTF-8" standalone="no
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://zensar.com/greeting" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="Greeting"
xmlns:grtng="http://zensar.com/greeting/schema"
targetNamespace="http://zensar.com/greeting">
<wsdl:types>
<xsd:schema targetNamespace="http://zensar.com/greeting">
<xsd:import namespace="http://zensar.com/greeting/schema"
schemaLocation="Greeting.xsd"></xsd:import>
</xsd:schema>
</wsdl:types>
<wsdl:message name="GreetingRequest">
<wsdl:part element="grtng:GreetingRequest" name="GreetingRequest" />
</wsdl:message>
<wsdl:message name="GreetingResponse">
<wsdl:part element="grtng:GreetingResponse" name="GreetingResponse" />
</wsdl:message>
<wsdl:portType name="GreetingPort">
<wsdl:operation name="Greeting">
<wsdl:input message="tns:GreetingRequest" />
<wsdl:output message="tns:GreetingResponse" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="Greeting" type="tns:GreetingPort">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="Greeting">
<soap:operation soapAction="http://zensar.com/GreetingWS/Greeting" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="Greeting">
<wsdl:port binding="tns:Greeting" name="Greeting">
<soap:address location="http://localhost:8085/Greeting/services" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>**
**
你可以试试这个。。。
这篇文章详细解释了一切。我个人认为,直接通过javascript使用web服务有点自虐 在我看来,javascript调用服务器端方法(无论采用何种架构,c#、java、php等)然后执行CURL请求并将响应发送回前端要容易得多
在JavaScript中手工编写一个SOAP端点似乎没有意义,当你可以在服务器端使用类似AxIS2的东西来做锅炉板重载SOAP握手时。
我会考虑在同一业务逻辑上编写JAX-RS/JSON服务。这应该比尝试使用JavaScriptWeb中的SOAP痛苦得多。JAX-WS也可能支持JSON+普通HTTP端点用于“常规”/“非REST web服务”。