【问题标题】:Webservices - called using HttpUrlconnection and JAX WS RIWebservices - 使用 HttpUrlconnection 和 JAX WS RI 调用
【发布时间】:2013-08-07 17:16:20
【问题描述】:

在我的项目中,我们使用 webservices 。让我感到困惑的是,有一些 web 服务(比如 A)仅使用 HttpURLConnection 调用,而 req/response 使用 JAXB 编组/解组

还有另一个 Web 服务(比如 B),我看到许多带有 JAX WSRI 的类,它没有使用 HttpURLConnection 调用。我还看到了这些网络服务的 .wsdl 文件。

/**
* This class was generated by the JAX-WS RI.
* JAX-WS RI 2.1.1 in JDK 6
* Generated source version: 2.0
* 
*/

@WebService(name = "ABPortType",     targetNamespace        "http://www.ups.com/WSDL/XOLTWS/DCR/v1.0")
@SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
public interface ABCPortType {
@WebMethod(operationName = "ProcessAB", action  =      =   "http://example.com/webservices/xxBinding/v1.0")
@WebResult(name = "xxResponse", targetNamespace =    "http://xx.com/XMLSchema/XXWS/AB/v1.0", partName = "Body")

}

我的疑惑是

  1. 为什么我们用所有这些额外的膨胀调用 web 服务 B(端点,JAX WS RI 而不是使用 HttpURLConnection

  2. 可以用HttpULConnection调用这个webserviceB

  3. 对于使用 HttpURLConnection 调用的 Web 服务 A,没有 WSDL(只是从 xsd 创建的 jaxb 类),但是使用 JAXWS RI 生成的类调用的 WS 具有 WSDL。 Web 服务 A 和 B 的实现方式是否不同,这就是我们以不同方式称呼它们的原因

请帮我理解

-文卡特

【问题讨论】:

    标签: jaxb jax-ws


    【解决方案1】:

    根据你提问的顺序:

    1. 如果您使用JAX-WS API,您可能希望从 WebService 生成客户端代理类,例如使用wsimport 工具从WSDL 文档文件生成客户端存根。这样您就可以使用 Java 对象而不是 XML。只有在特殊情况下,您才需要一个用于高级功能的 XML 处理程序,例如 WS-Security。

    2. 是的。您需要直接使用 XML 并使用 JAX-B 来编组/解组消息。

    3. WSDL 文档文件描述了 SOAP 服务以及服务中所有可用操作的签名。如果A 没有描述符(WSDL 文档文件),则不能使用 JAX-WS API,例如Java WSDP,或者服务提供者没有公开 WSDL。

    【讨论】:

    • 所以这取决于服务提供商希望如何访问他的网络服务。要么他公开一个 WSDL 文件,我们从中生成客户端存根以调用 WS(或)服务提供者提供请求/响应 XSD,我们直接使用 JAXB 处理 XML。服务提供者是否有任何其他方式可以公开 hsi 服务。
    • 对于 WSDL 公开的 WS,它有 3 个模式,例如其中定义的模式 1、模式 2 和模式 3。 Target_namespace_1 中的架构 1 Target_namespace_2 中的架构 2 Target_namespace_3 中的架构 3 当我在 WSDL 文件的 cmd 行中运行 WSImport 时,它会在文件夹中创建 java 工件,即 Target_namespace_1、Target_namespace_2、Target_namespace_3。在另一个项目中使用了相同的 WSDL,并且所有工件都出现在一个包中。我尝试使用 wsimport.exe 中的选项,但仍然无法在单个包中生成所有包。我已经尝试了所有选项,但没有运气
    猜你喜欢
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    • 2011-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-04
    相关资源
    最近更新 更多