如何使用 javax.xml.bind.annotation 在 java 中添加空白命名空间

问题描述

我是 SOAP 服务的新手,这是我的输出和 java 类的详细信息。

如何在子级类中添加空白xmlns

输出请求:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<sendEmail xmlns="http://ws.cns.channel.sendnotification.sdfsfds.com/">
    <EmailNotificationRequest>
        <requestHeader>
            <channel>fsdfs</channel>
            <subChannel>sdfds</subChannel>
            <systemName>sdfsd</systemName>
            <applicationName>dsfs</applicationName>
        </requestHeader>
    </EmailNotificationRequest>
</sendEmail>

包类

    @javax.xml.bind.annotation.XmlSchema(namespace = "http://ws.cns.channel.sendnotification.sdfsfds.com/",elementFormDefault = XmlNsForm.QUALIFIED
    )
    package com.etisalat.sendnotification.channel.cns.ws;

    import javax.xml.bind.annotation.XmlNsForm;

请求头类

@XmlAccessorType(XmlAccesstype.FIELD)
@XmlType(name = "requestHeader",propOrder = {
    "channel","subChannel","agentID","systemName","applicationName","hostID","requestDate"
})

public class RequestHeader {
    @XmlElement(required = true)
    protected String channel;
    protected String subChannel;
    protected String agentID;
    @XmlElement(required = true)
    protected String systemName;
    protected String applicationName;
}

必需的输入请求

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<sendEmail xmlns="http://ws.cns.channel.sendnotification.sdfsfds.com/">
    <EmailNotificationRequest>
        <requestHeader xmlns="">
            <channel>fsdfs</channel>
            <subChannel>sdfds</subChannel>
            <systemName>sdfsd</systemName>
            <applicationName>dsfs</applicationName>
        </requestHeader>
    </EmailNotificationRequest>
</sendEmail>

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)