Java WSDL修改或隐藏Web视图上的某些属性

Java WSDL修改或隐藏Web视图上的某些属性,java,spring,web-services,soap,wsdl,Java,Spring,Web Services,Soap,Wsdl,TLDR在有人阅读WSDL内容时,是否可以为IP地址(如0.0.0.0:8080/servicesasSERVER\u 1)或WSDL内容上的任何其他属性创建“别名”?类似于: <entry key="org.apache.cxf.endpoint.private" value="true"/> 这很好,我们通过以下方式完成了它,但是它不是在cxfservlet.xml文件中,而是在applicationContext-{moduleName}.xml文件中 现在,如果我们知道或有

TLDR在有人阅读WSDL内容时,是否可以为IP地址(如
0.0.0.0:8080/services
as
SERVER\u 1
)或WSDL内容上的任何其他属性创建“别名”?类似于:

<entry key="org.apache.cxf.endpoint.private" value="true"/>
这很好,我们通过以下方式完成了它,但是它不是在
cxfservlet.xml
文件中,而是在
applicationContext-{moduleName}.xml
文件中

现在,如果我们知道或有权访问任何WSDL路径,我们仍然可以看到WSDL内容(包括生产IP地址),例如,如果我们输入:

http://localhost:8080/foo/services/bar?_wsdl
我们有一个类似的定义,如下所示(出于安全原因,我对其进行了编辑):

防止JavaBean属性/类型映射到XML表示

因此,在我的理解中,如果我在包含IP地址的属性上使用此注释,那么它将不再工作

如果这是不可能的,你会有哪些其他的建议,以便为这个特殊的情况做一个变通


我们使用自顶向下的方法创建服务(即,我们获得了WSDL,并使用
wsdl2java
从中创建Java对象+服务接口)

TLDR:使用DNS为您的IP地址分配名称

我们正在保护我们的应用程序,经过道德黑客测试,结果 抛出我们在上公开服务和生产IP地址 我们的网址

你有一个SOAP服务。要使用它,需要知道端点的地址。所以不管发生什么,你都会“暴露”它。不建议使用

所以,我们内部知道服务器1有什么IP地址,但是 除此之外,我怎么能设法到达那里呢 为IP地址创建别名,并使用它而不是实际IP地址 上面有地址吗


这就是DNS发明的目的。IP地址的“别名”。在服务中使用IP地址是不好的做法。因此,设置一个DNS(或使用主机文件)为每个IP地址分配一个名称。

我假设您是使用自底向上的方法创建服务的?@Namphibian“自底向上的方法”是什么意思?对不起,我不明白你指的是什么。服务已经开发,我只是给这个系统一些维护…在开发WSDL文件时,自上而下和自下而上是两种不同的策略,但是在您的情况下,您正在维护它,所以注释无效。@Namphibian感谢您的澄清,我刚刚搜索了它,是的,我们使用自上而下的方法,WSDL已经给出,我们,然后使用工具生成Java类和接口,然后我们只实现接口的服务。。。
http://localhost:8080/foo/services/bar?_wsdl
<application
    xmlns="http://wsdl.dev.java.net/2009/02"
    xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <grammars/>
    <resources base="http://localhost:8080/foo/services/bar">
        <resource path="/VX">
            <resource path="/anotherPath">
                <method name="POST">
                    <request>
                        <representation mediaType="application/x-www-form-urlencoded">
                            <param name="someParam" style="query" type="xs:string"/>
                        </representation>
                    </request>
                    <response>
                        <representation mediaType="application/json">
                            <param name="anotherParam" style="plain" type="xs:string"/>
                        </representation>
                    </response>
                </method>
            </resource>
        </resource>
    </resources>
</application>
<resources base="http://localhost:8080/foo/services/bar">
<resources base="SERVER_1">