JAX-WS问题

时间:2011-07-29 01:56:49

标签: java service jax-ws

我对JAX-WS有几个问题。

  1. 使用wsimport生成的对象Factory的功能是什么?它与Web服务架构有何关系?

  2. 我有一个Web服务端点实现类,由我编写,方法签名如下:

  3. 查看plaincopy到clipboardprint?

    @WebMethod(operationName = "deleteOrder")  
      @Oneway // No return value  
      public void deleteOrder(@WebParam(name = "myCustorder") Custorder myCustorder) {  
        myCustOrder.deleteOrder(myCustorder);  
      }  
    

    Custorder的参数派生自数据库,其中包是Entity.Custorder,但是当我使用wsimport生成JAXB Mapped类时,它具有不同的类型,即ServiceClient.Custorder。

    最重要的是,我使用netbeans IDE和此方法签名拖放服务客户端调用。

    查看plaincopy到clipboardprint?

    private int createOrder(ServiceClient.Custorder myCustorder) {  
        ServiceClient.OrderWebService port = service.getOrderWebServicePort();  
        return port.createOrder(myCustorder);  
      }  
    

    据我所知,@ WebParam注释用于自动将SOAP消息转换为java对象。因此,我想知道在服务端点实现签名中使用哪一个(ServiceClient.Custorder或Entity.Custorder)。

    如果我使用ServiceClient.Custorder(生成JAXB),那么如何转换为Entity.Custorder(生成JPA)?

    根据我的经验,我开发了具有实体类的RESTFul Web服务,该实体类可以转换为xml并映射到数据库表。以前,我使用@XMLRootElement和@Entity

    如何在JAX-WS中实现可以转换为XML和数据库实体的POJO?

    1. 如何将Java中的注释与wsdl标准联系起来?任何用Java注释映射解释wsdl元素的教程?

    2. 如何使用与SOAP消息相关的wsimport生成createOrder.java?

    3. 查看plaincopy到clipboardprint?

      @XmlAccessorType(XmlAccessType.FIELD)  
      @XmlType(name = "createOrder", propOrder = {  
          "myCustorder"  
      })  
      public class CreateOrder {  
      
          protected Custorder myCustorder;  
      
          /** 
           * Gets the value of the myCustorder property. 
           *  
           * @return 
           *     possible object is 
           *     {@link Custorder } 
           *      
           */  
          public Custorder getMyCustorder() {  
              return myCustorder;  
          }  
      
          /** 
           * Sets the value of the myCustorder property. 
           *  
           * @param value 
           *     allowed object is 
           *     {@link Custorder } 
           *      
           */  
          public void setMyCustorder(Custorder value) {  
              this.myCustorder = value;  
          }  
      
      } 
      
      1. 什么是JAX-WS Web服务的Web服务端点(服务端点实现)的客户端调用流?

      2. 据我所知,有几种方法可以调用Web服务实现。

      3. 存根代码
      4. 扩展服务类 @WebServiceReference用于使用UDDI查找Web服务。 使用service.getServicePort代理来调用服务端点实现公开的接口。这是正确的还是其他任何解释?

        1. 代理
        2. JAX-WS Dispatch API
        3. 所有这些之间有什么区别?这与Web服务架构有何关系?

          请帮帮我。

          感谢。

1 个答案:

答案 0 :(得分:0)

有两种方法可以调用Web服务:

  1. 代理存根代码
  2. Dispatch API