我在这里使用java第一种方法来创建Web服务。
我在JBOSS EAP 6.0中使用Endpoint api Endpoint.publish(address,SampleWebService)
使用JAX-WS公开了一个Web服务。
无论我在上述发布方法中为地址字段提供什么价值,它都没有关系,即我没有看到它的影响。
上面的SampleWebService
是我的Web服务实现类。
部署war文件后,我将在以下位置生成WSDL文件。
%JBOSS_HOME%/独立/数据/ WSDL / MyProjectName-1.0-SNAPSHOT.war
以上生成的WSDL文件包含soap:address location =" http://localhost:8080/MyProjectName-1.0-SNAPSHOT/SampleWebService?wsdl" />
@webService(serviceName="SampleWebService")
public class SampleWebService {
//Implementation specific logic
}
有没有办法可以更改上下文,即在soap地址位置有MyProjectName而不是MyProjectName-1.0-SNAPSHOT,以便最终的肥皂地址位置如下所示
soap:地址位置= " http://localhost:8080/MyProjectName-1.0-SNAPSHOT/SampleWebService?wsdl" />
答案 0 :(得分:0)
回答我自己的问题。
我想要的只是更改根上下文名称,以便我可以提供 我自己的名字,而不是默认的war文件名(战争的完整名称 文件不包括.war扩展名)
为了更改war文件的根上下文,即我的war文件名,在这种情况下,我在我的web应用程序WEB-INF文件夹中需要jboss-web.xml文件,我可以在其中指定我想要的任何名称。
感谢这篇changing context root name帖子,它帮助我找出了我的案例的解决方案。
现在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>
上述更改有助于我获取所需的肥皂地址位置网址。 即&amp; ltsoap:地址位置=&#34; http:// localhost:8080 / MyProjectName / SampleWebService?wsdl&#34; /&GT;