Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在javascript/ajax中使用基于Java的Soap Web服务?_Java_Javascript_Ajax_Web Services_Soap Client - Fatal编程技术网

如何在javascript/ajax中使用基于Java的Soap Web服务?

如何在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

我必须提供一个.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"?>
<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服务”。