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“
声明放入mymyRequestMethod
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.