Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.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
嵌入式JavaSE服务器中的Xsd位置_Java_Soap_Jetty_Jax Ws_Embedded Jetty - Fatal编程技术网

嵌入式JavaSE服务器中的Xsd位置

嵌入式JavaSE服务器中的Xsd位置,java,soap,jetty,jax-ws,embedded-jetty,Java,Soap,Jetty,Jax Ws,Embedded Jetty,我将JavaSE6中的内置服务器用于SOAP服务。我有一个带有XSD的WSDL 我的代码: Endpoint.publish ("http://localhost:9999/event-ws/wsdl", new SoapImpl ()); 但是当我在soapui中打开这个WSDL时,它说它找不到XSD(localhost:9999/event ws/test.XSD):服务器返回404 XSD和WSDL一起放在一个文件夹中 编辑1: 来自本地文件的wsdl: <wsdl:types&g

我将JavaSE6中的内置服务器用于SOAP服务。我有一个带有XSD的WSDL

我的代码:

Endpoint.publish ("http://localhost:9999/event-ws/wsdl", new SoapImpl ());
但是当我在soapui中打开这个WSDL时,它说它找不到XSD(
localhost:9999/event ws/test.XSD
):服务器返回404

XSD和WSDL一起放在一个文件夹中

编辑1: 来自本地文件的wsdl:

<wsdl:types>
<xsd:schema targetNamespace="http://localhost/extern/">
  <xsd:import schemaLocation="test.xsd"
    namespace="http://localhost/extern/event" />
  <xsd:element name="getAccountChangeTaskEvents">
    ....

....
我使用wsimport和编写的实现从wsdl(和xsd)生成了一个接口

编辑2: 来自浏览器的wsdl:

<wsdl:types>
<xsd:schema targetNamespace="http://localhost/extern/">
<xsd:import schemaLocation="test.xsd" namespace="http://localhost/extern/event"/>
<xsd:element name="getAccountChangeTaskEvents">
<xsd:complexType>
   ....

....
编辑3
但web服务已成功部署,我可以使用它。

WSDL是否导入XSD?您可以在浏览器中打开该XSD吗?从浏览器查看WSDL并尝试打开XSD,让我知道会发生什么哦,不幸的是XSD在浏览器中无法打开。这就是问题所在。我继续讨论在wsdl for xsd()中注册的url,并得到404错误。所以这就是问题所在,SOAP UI并没有骗你:)显示wsdl(你的本地文件)中导入xsd的部分。它们肯定不应该是相同的,在浏览器中,您应该会看到如下内容:
检查服务器日志,了解它为什么没有正确拾取XSD。快速修复方法是直接将所有类型从XSD移动到WSDL,这将解决问题,我目前无法解释为什么导入不起作用。