如何在wildfly下覆盖耳内的wsdl soap-address?

时间:2015-08-08 10:00:53

标签: web-services soap jboss wsdl wildfly

我们有一个ear应用程序,它包含一些WS端点。我必须部署到目标服务器,但我必须覆盖WSDL soap-address标记。我们使用本地测试平台的解决方案是遵循以下指令:https://stackoverflow.com/a/23491951这完美无缺。 (服务器是野生动物8.2)

但是我们不能再在生产服务器上使用此解决方案(“只是因为”)。

我发现,有一个jboss-webservices.xml,应该覆盖wsdl的<soap-address>代码而不更改standalone.xml / domain.xml的{​​{1}}子系统设置。

但它不适合我。我的webservices

jboss-webservices.xml

遵循以下说明:

我将<?xml version="1.1" encoding="UTF-8"?> <webservices version="1.2" xmlns="http://www.jboss.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.jboss.com/xml/ns/javaee http://www.jboss.org/j2ee/schema/jboss_webservices_1_0.xsd"> <property> <name>wsdl.soapAddress.rewrite.modify-wsdl-address</name> <value>true</value> </property> <property> <name>wsdl.soapAddress.rewrite.wsdl-host</name> <value>somedomain.com</value> </property> </webservices> 放置在文档中引用的两个位置:

  • jboss-webservices.xml用于EJB Web服务部署
  • META-INF/jboss-webservices.xml用于战争档案中捆绑的POJO Web服务部署和EJB Web服务端点

不是他们的作品。

相关的日志摘要:

WEB-INF/jboss-webservices.xml

我的问题:我可以错过什么吗?有没有其他方法可以覆盖11:50:43,502 INFO [org.jboss.ws.cxf.metadata] (MSC service thread 1-2) JBWS024061: Adding service endpoint metadata: id=ABCServicePortType address=http://localhost:8180/abc-web/ABCServicePortType implementor=example.service.v1.impl.ABCServicePortTypeImpl serviceName={http://example.com/ns/mod/ws/ABCService/v1}ABCService portName={http://example.com/ns/mod/ws/ABCService/v1}ABCServicePortTypeImplPort annotationWsdlLocation=null wsdlLocationOverride=null mtomEnabled=false ? 提前谢谢。

1 个答案:

答案 0 :(得分:0)

您在jboss-webservices.xml中提供的属性有效,但WildFly版本高于您在服务器中使用的版本(从WildFly 9开始)。请参阅WildFly 9的发行说明的webservices部分:

http://wildfly.org/news/2015/07/02/WildFly9-Final-Released/

看起来在WildFly 9发布之前standalone.xml是唯一一个自定义WSDL生成的地方。