[英]How to change WSDL soap address location , in particular the context part of the url?
在这里,我使用 java first 方法来创建 Web 服务。
我通过在 JBOSS EAP 6.0 中使用 Endpoint api Endpoint.publish(address,SampleWebService)
公开了一个使用 JAX-WS 的 Web 服务。
无论我在上述发布方法中为地址字段提供什么值,都无关紧要,即,我没有看到它的影响。 上面的SampleWebService
是我的 Web 服务实现类。 部署war文件后,我将在以下位置生成WSDL文件。
%JBOSS_HOME%/standalone/data/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地址位置将如下所示
soap:address location = " http://localhost:8080/MyProjectName-1.0-SNAPSHOT/SampleWebService?wsdl "/>
回答我自己的问题。
我想要的只是更改根上下文名称,以便我可以提供自己的名称而不是默认的战争文件名(战争文件的完整名称,不包括 .war 扩展名)
为了更改 war 文件的根上下文,我需要在 jboss-web.xml 文件中指定上下文名称,该文件位于我的 Web 应用程序的 WEB-INF 文件夹中。
感谢这个不断变化的上下文根名称帖子,它帮助我找出了我的案例的解决方案。
现在 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>
上述更改帮助我获得了所需的soap 地址位置url。 即, <soap:address location="http://localhost:8080/MyProjectName/SampleWebService?wsdl" />
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.