AXIS SOAP wsdlPortType

AXIS SOAP wsdlPortType,soap,wsdl,axis,Soap,Wsdl,Axis,这些参数的作用是什么?它们的用途是什么 <service name="..."> <parameter name="wsdlPortType" value="..."/> </service> 另外,如果有人能解释参数wsdlServicePort、wsdlTargetNamespace和wsdlServiceElement,那将不胜感激 问题: 使用Service?wsdl时,生成的wsdl可能没有 相同的targetNamespace、por

这些参数的作用是什么?它们的用途是什么

<service name="...">
    <parameter name="wsdlPortType" value="..."/>
</service>

另外,如果有人能解释参数wsdlServicePort、wsdlTargetNamespace和wsdlServiceElement,那将不胜感激

问题: 使用Service?wsdl时,生成的wsdl可能没有 相同的targetNamespace、portType、服务元素名称或 作为原始wsdl的服务端口名称。这个问题已经解决了 已由用户报告,是TCK问题

解决方案: 将四个可选参数添加到deploy.wsdd和 由JavaProvider查询(wsdlTargetNamespace、wsdlServiceElement、, wsdlServicePort和wsdlPortType)


来源:

问题: 使用Service?wsdl时,生成的wsdl可能没有 相同的targetNamespace、portType、服务元素名称或 作为原始wsdl的服务端口名称。这个问题已经解决了 已由用户报告,是TCK问题

解决方案: 将四个可选参数添加到deploy.wsdd和 由JavaProvider查询(wsdlTargetNamespace、wsdlServiceElement、, wsdlServicePort和wsdlPortType)


来源:

轴1.4用户指南:

在Axis中部署服务时,用户可以访问 使用标准web浏览器并通过将“?WSDL”附加到 在URL的末尾,他们将获得自动生成的WSDL 描述您的服务的文档

实验结果表明,Axis能够结合使用.wsdd部署描述符文件和编译的Java.class文件来为给定服务生成相应的.wsdl。值得注意的是,例如,如果您有一个带有泛型返回类型(如Map)的公共方法,那么生成的.wsdl文件将不包含返回类型,而是包含“xsd:anyType”。我认为这是由于编译的.class文件上的类型擦除

无论如何,Axis.wsdd文件中的服务选项(我在问题中引用的参数,如wsdlPortType、wsdlServicePort和wsdlTargetNamespace)与.wsdl规范相关。这可以从名称本身推断出来,因为它们都包含“wsdl”,但我想要解释这些参数的含义,但我无法找到相关的Axis文档。以下是我的发现:

wsdlPortType(portType):基本上类似于Java接口。每个方法名包含一个“operation”元素。每个“操作”都包含“输入”和“输出”元素,它们基本上是Java方法的输入参数和返回参数

与端口类型关联的wsdlServicePort(wsdl:binding)。我认为这是对如何传输portType参数的描述。规范中有这样一句话:

绑定描述组件提供了一个用于指示 portType说明组件的绑定详细信息。绑定细节 应用于指示消息在发送时必须如何格式化 发送到服务或从服务发送。它们也应该用来表示 用于发送消息的传输协议。给定的 绑定描述组件不能指示多个 协议

wsdl:service:其中引用了wsdl端口绑定(portType的实现)

目标名称空间:与我想象的差不多(与其他任何地方的名称空间相同)。它适用于所有wsdl:definitions组件,因此wsdl文件中的任何内容基本上都是(wsdl:portType、wsdl:service等)。不过,您可以在规范中找到一些其他规则

轴1.4用户指南:

在Axis中部署服务时,用户可以访问 使用标准web浏览器并通过将“?WSDL”附加到 在URL的末尾,他们将获得自动生成的WSDL 描述您的服务的文档

实验结果表明,Axis能够结合使用.wsdd部署描述符文件和编译的Java.class文件来为给定服务生成相应的.wsdl。值得注意的是,例如,如果您有一个带有泛型返回类型(如Map)的公共方法,那么生成的.wsdl文件将不包含返回类型,而是包含“xsd:anyType”。我认为这是由于编译的.class文件上的类型擦除

无论如何,Axis.wsdd文件中的服务选项(我在问题中引用的参数,如wsdlPortType、wsdlServicePort和wsdlTargetNamespace)与.wsdl规范相关。这可以从名称本身推断出来,因为它们都包含“wsdl”,但我想要解释这些参数的含义,但我无法找到相关的Axis文档。以下是我的发现:

wsdlPortType(portType):基本上类似于Java接口。每个方法名包含一个“operation”元素。每个“操作”都包含“输入”和“输出”元素,它们基本上是Java方法的输入参数和返回参数

与端口类型关联的wsdlServicePort(wsdl:binding)。我认为这是对如何传输portType参数的描述。规范中有这样一句话:

绑定描述组件提供了一个用于指示 portType说明组件的绑定详细信息。绑定细节 应用于指示消息在发送时必须如何格式化 发送到服务或从服务发送。它们也应该用来表示 用于发送消息的传输协议。给定的 绑定描述组件不能指示多个 协议

wsdl:service:其中引用了wsdl端口绑定(impleme)
Here is an example deploy.wsdd with the new parameters.
<!-- Services from AddressBookService WSDL service -->

<service name="AddressBook" provider="java:RPC">
    <parameter name="wsdlTargetNamespace" value="urn:AddressFetcher2"/>
    <parameter name="wsdlServiceElement" value="AddressBookService"/>
    <parameter name="wsdlServicePort" value="AddressBook"/>
    <parameter name="className" value="samples.addr.AddressBookSOAPBindingSkeleton"/>
    <parameter name="wsdlPortType" value="AddressBook"/>
    <parameter name="allowedMethods" value="*"/>
    <parameter name="scope" value="Session"/>