繁体   English   中英

如何更改 WSDL soap 地址位置,尤其是 url 的上下文部分?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM