2017-09-04 271 views
0

这里我使用java的第一种方法来创建Web服务。如何更改WSDL soap地址位置,特别是url的上下文部分?

我已经使用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文件包含皂:地址位置= “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”/>

回答

0

回答我的问题。

所有我想要的是改变根上下文的名字,这样我可以提供 我自己的名字,而不是默认的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> 

上述变化使我在得到所需要的肥皂地址位置的URL。 即& ltsoap:address location =“http:// localhost:8080/MyProjectName/SampleWebService?wsdl”/>