如何更改WSDL肥皂地址位置,特别是URL的上下文一部分



在这里,我正在使用Java第一种方法来创建Web服务。

我使用JAX-WS通过使用端点API Endpoint.publish(address,SampleWebService)在JBOSS EAP 6.0中使用了Web服务。

无论我在上述发布方法中为地址字段提供的价值是什么,也没关系,即我没有看到它的影响。 上面的SampleWebService是我的Web服务实现类。部署战争文件后,我将在以下位置生成WSDL文件。

%jboss_home%/standalone/data/wsdl/myprojectName-1.0-snapshot.war

上面生成的WSDL文件包含肥皂:地址位置=" http://localhost:8080/myProjectName-1.0-snapshot/samplewebservice?wsdl"/>

@webService(serviceName="SampleWebService")
public class SampleWebService {
    //Implementation specific logic
}

有什么办法可以更改上下文,即在肥皂地址位置中以myprojectName而不是myprojectName-1.0-snapshot,以便最终的肥皂地址位置看起来像以下内容。

肥皂:地址位置= " http://localhost:8080/myprojectName-1.0-snapshot/samplewebservice?wsdl"/>

回答我自己的问题。

我想要的只是更改根上下文名称,以便我可以提供 我自己的名称而不是默认的战争文件名称(战争的完整名称 文件不包括.war扩展名)

为了更改战争文件的根上下文,我需要在我的Web应用程序的Web-Inf文件夹中指定jboss-web.xml文件中的上下文名称。

借助此不断变化的上下文root名称发布,它帮助我弄清楚了我的情况的解决方案。

现在jboss-webapp.xml包含以下内容:

<?xml version="1.0" encoding="UTF-8"?>
<jboss-web 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-web_5_1.xsd">
    <context-root>MyProjectName</context-root>
</jboss-web>

上述更改有助于我获得所需的肥皂地址位置URL。即<soap:address location="http://localhost:8080/MyProjectName/SampleWebService?wsdl" />

最新更新