gpt4 book ai didi

java - 在 JAX-WS 中定义绑定(bind)名称

转载 作者:行者123 更新时间:2023-12-04 06:37:03 28 4
gpt4 key购买 nike

我正在开发一个 JAX-WS WebService,我目前需要定义一个自定义 Binding名称,因为它被定义为附加了“绑定(bind)”的端口名称。

例如:如果端口名称是 我的JAX服务绑定(bind)名称将是 MyJAXServiceBinding 默认情况下。我想要的是 Binding 名称类似于 我的JAX服务 .

我的 Web 服务的 @WebService 注释定义如下

@WebService(serviceName = "MyJAXService", portName = "MyJAXService", endpointInterface = "com.test.MyJAXService", targetNamespace = "http://test.local/")

最佳答案

我想你正在使用 Java 到 WSDL 方法 因此,您希望从您的工件生成 WSDL。

我通常使用另一种方法,从 WSDL 到 Java,对于像这样的 WSDL:

<?xml version="1.0" encoding="utf-8"?>
<definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns="http://mynamespace" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://mynamespace">
...
<portType name="MySoapBinding">
<operation name="MyOperation">
...
</operation>
</portType>
<binding name="MySoapBinding" type="ns:MySoapBinding">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="MyOperation">
...
</operation>
</binding>
<service name="MyService">
<port name="MySoapBinding" binding="ns:MySoapBinding">
<soap:address location="http://localhost:8080/MyService"/>
</port>
</service>
</definitions>

生成的工件是一个接口(interface):
@WebService(name = "MySoapBinding", targetNamespace = "http://mynamespace")
public interface MySoapBinding {
...
}

和实现:
@WebService(name = "MySoapBinding", targetNamespace = "http://mynamespace", endpointInterface = "my.package.MySoapBinding", serviceName = "MyService", portName = "MySoapBinding")
public class MySoapBindingImpl
implements MySoapBinding
{
}

我想您可以尝试为 Web 服务的接口(interface)命名,并且生成的 WSDL 应该使用该名称作为绑定(bind)名称。

关于java - 在 JAX-WS 中定义绑定(bind)名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4749175/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com