Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.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
Java targetnamespace的CXF客户端复制_Java_Cxf_Web Services - Fatal编程技术网

Java targetnamespace的CXF客户端复制

Java targetnamespace的CXF客户端复制,java,cxf,web-services,Java,Cxf,Web Services,我在同一台服务器上托管一个webservice和一个webapp,它们是由wsdl2java生成的。我可以通过SoapUI很好地联系服务,它在发布到live server时返回一个名称空间声明,但当我在本地工作并使用SoapUI时,它会生成两个xlmns=“”实例,而不是xml中的一个实例。我在下面复制了一个示例xml文件: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:B

我在同一台服务器上托管一个webservice和一个webapp,它们是由wsdl2java生成的。我可以通过SoapUI很好地联系服务,它在发布到live server时返回一个名称空间声明,但当我在本地工作并使用SoapUI时,它会生成两个xlmns=“”实例,而不是xml中的一个实例。我在下面复制了一个示例xml文件:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body>
<SendResponse xmlns="http://myendpoint.org/service" xmlns:ns2="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<Receipt>
<MyReceipt xmlns:ns3="http://myendpoint.org/service" xmlns="" xmlns="" xmlns:ns6="http://myapp.myserver.net/myservicegroup/myservice/V01" receiptVersion="V01">
  <ReceiptHeader>
    <ReceiptTimestamp>2010-04-13T08:27:03.036-04:00</ReceiptTimestamp>
  </ReceiptHeader>
  <TransmissionReceipt>
    <TransmissionID>testuser</TransmissionID>
    <TransmissionTimestamp>2010-04-13T08:27:03.036-04:00</TransmissionTimestamp>
  </TransmissionReceipt>
</MyReceipt></Receipt></SendResponse></soap:Body></soap:Envelope>

2010-04-13T08:27:03.036-04:00
测试用户
2010-04-13T08:27:03.036-04:00

因此,当它解组时,当我将我的webapp用作webservice客户端时,它会严重失败。为什么CXF要添加第二个命名空间?我一直看着调试,直到返回,它在webservice端看起来100%完美,没有重复的名称空间。在将xml返回到客户端之前,这种情况不会发生。

在xml中,属性对于每个元素都是唯一的,因此如果发生这种情况,则可能是一个错误,您应该报告它。我以前使用过CXF,它是一个很棒的库,但不幸的是它并不完美。我不得不处理各种版本,升级到一个不稳定的版本,以避开我遇到的bug

属性名称在同一开始标记或空元素标记中不得出现多次