Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JBoss-防止WSDL拆分_Java_Web Services_Soap_Jboss_Wsdl - Fatal编程技术网

Java JBoss-防止WSDL拆分

Java JBoss-防止WSDL拆分,java,web-services,soap,jboss,wsdl,Java,Web Services,Soap,Jboss,Wsdl,我在JBoss的一个SOAP WS项目中工作。为了定义SOAP操作,我用@Local和@WebService注释我的Java类,用@WebMethod和@WebResult注释我的方法 WSDL文件由JBoss自动生成。我可以自定义WSDL的某些方面: JBoss将WSDL拆分为几个文件。“主”WSDL使用标记来包含其他文件 我的web服务是从内部网和外部使用的。my WS的“内部”主机名与其“外部”主机名不同。由于JBoss为WSDL导入生成完整的URL链接,并且为了确保我的WSDL有效,我

我在JBoss的一个SOAP WS项目中工作。为了定义SOAP操作,我用@Local和@WebService注释我的Java类,用@WebMethod和@WebResult注释我的方法

WSDL文件由JBoss自动生成。我可以自定义WSDL的某些方面:

JBoss将WSDL拆分为几个文件。“主”WSDL使用标记来包含其他文件

我的web服务是从内部网和外部使用的。my WS的“内部”主机名与其“外部”主机名不同。由于JBoss为WSDL导入生成完整的URL链接,并且为了确保我的WSDL有效,我必须使用“WSDL主机”覆盖URL的主机名

我必须在wsdl主机中使用外部URL,以便允许内部和外部系统都工作。因此,所有内部SOAP客户端都使用外部URL获取WSDL的包含部分。如果外部代理由于某种原因关闭,我的内部客户端将无法使用WS,因为它们无法加载WSDL

有没有办法防止JBoss将WSDL拆分为多个文件,或者强制它在标记中使用相对路径而不是完整的URL?

给出的答案通过在主WSDL中内联其他WSDL文件来防止WSDL拆分。我可以确认它是有效的。为了做到这一点,我在所有
@WebService
注释中使用了相同的
targetNamespace

@WebService(targetNamespace="<your namespace here>")
@WebService(targetNamespace=”“)