在这里,我正在使用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" />