Java SpringWS在模式实例的命名空间声明方面遇到问题

Java SpringWS在模式实例的命名空间声明方面遇到问题,java,spring,soap,soapui,spring-ws,Java,Spring,Soap,Soapui,Spring Ws,这是我的请求信封,带有xsi:xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance“声明放入mymyRequestMethodXML标记中: <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sd="http://www.foo.bar/ws" xmln

这是我的请求
信封
,带有
xsi:xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance“
声明放入my
myRequestMethod
XML标记中:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                  xmlns:sd="http://www.foo.bar/ws" 
                  xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <soapenv:Header/>
    <soapenv:Body >
     <sd:myRequestMethod xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
       <sd:name xsi:nil="true"/>
这给了他

The namespace associated with the prefix 'xsi' could not be resolved.   

如果soap不在内部标记中,它就不能理解,这是正常的行为吗?或者我可以配置我的SpringWS以允许它用户自动生成客户端和请求,因此他不能改变立场。

这两个XML都是合法使用XML名称空间的实例。我怀疑文档处理基础结构中存在一个bug,在该基础结构中,正文内容的处理没有正确传播所有声明的命名空间前缀。

在创建WebService方法时,您可以指定命名空间。如果你让它自己生成,它会给我类似的错误。更改名称空间后,将解析该名称空间

试着这样做

@WebMethod(operationName=“operation”)

@WebResult(name=“Response”,targetNamespace=servicecontant.TARGET\u name\u SPACE)

响应操作(@WebParam(name=“input”,mode=WebParam.mode.IN)请求)

所以,这次您已经定义了定制的名称空间,之后将是客户端SOAPUI/SOA客户端是否


希望这有帮助

我从castor JIRA那里找到了相关的bug

我想这个问题还没有解决。所以这仍然是一个bug

更具体地说,当名称空间信息被提供时(例如,在XML文档的根元素处)会出现问题,并且有人希望对该文档的子节点进行解组(调用解组器#解组器(org.w3c.dom.node))。子节点将不具有Castor正在查找的任何XML命名空间属性,因为命名空间是在根元素上声明的

在本例中,Castor在某个元素上遇到一个属性(xsi.*) 不知道名称空间。所以它可能认为XML是 无效并抛出错误


我没有这些,我的方法是由XSD定义的,端点是Java的。请你再精确一点好吗?我的端点具有类似的特性:
@PayloadRoot(localPart=“myRequestMethod”,namespace=”http://www.foo.bar/ws”
。虽然我们使用ApacheCxf for SOAP定义Web服务,但上述方法适合使用命名空间定义方法。
The namespace associated with the prefix 'xsi' could not be resolved.