如何解决如何在spring-ws中停止自动生成的名称空间
我正在使用Spring-WS构建一个soap应用程序,在握手之后它将向客户端发送get / set参数,但是在输出消息中总是自动生成一个名称空间,我无法通过许多不同的方式将其删除。 这是package-info类:
@XmlSchema(namespace = "urn:vohforum-com:vohf",xmlns = {
@XmlNs(namespaceURI = "urn:vohforum-com:vohf",prefix = "vohf")
},elementFormDefault = javax.xml.bind.annotation.XmlNsForm.UNQUALIFIED,attributeFormDefault = javax.xml.bind.annotation.XmlNsForm.UNQUALIFIED)
package com.voh.jaxbt.model;
import javax.xml.bind.annotation.XmlNs;
import javax.xml.bind.annotation.XmlSchema;
我的终点:
@Endpoint
public class VOHF {
private final String NAMESPACE_VOHF = "urn:vohforum-com:vohf";
@PayloadRoot(namespace = NAMESPACE_VOHF,localPart = "HandShake")
@ResponsePayload
public GenericRPC handShakeHandle(){
GenericRPC response = new GetParameters();
// or GenericRPC response = new SetParameters();
return response;
}
}
输出消息,它始终包含xmlns:ns3 =“ http://schemas.xmlsoap.org/soap/encoding/”
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding" xmlns:vohf="urn:vohforum-com:vohf" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding">
<SOAP-ENV:Header>
<vohf:ID>061602</vohf:ID>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<vohf:GetParameters xmlns:ns3="http://schemas.xmlsoap.org/soap/encoding/"/>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
GenericRPC类:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name="GenericRPC",namespace = "urn:vohforum-com:vohf")
@XmlSeeAlso({
GetParameters.class,SetParameters.class})
public abstract class GenericRPC {}
我的GetParameters类和SetParameters相同:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "",propOrder = {
"parameters"
})
@XmlRootElement(name = "GetParameters",namespace = "urn:vohforum-com:vohf")
public class GetParameters extends GenericRPC{
@XmlElement(name = "Parameters",required = true)
protected ParameterNames parameters;
public ParameterNames getParameters() {
return parameterNames;
}
public void setParameters(ParameterNames value) {
this.parameterNames = value;
}
}
有人可以帮助我吗?预先感谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。